Repository navigation
Conversation
ryonakae
left a comment
There was a problem hiding this comment.
Thanks for working on Antigravity history support. I verified that the agy agent name and herdr:antigravity_cli session source match Herdr's integration, and this would be a useful addition to Shepherd.
I found a few correctness issues that should be addressed before merging:
-
PLANNER_RESPONSE.tool_calls[].argsis currently emitted as atool_result. These are tool inputs, not execution results. Actual results appear in separate transcript entries such asLIST_DIRECTORY. This can makeagent read,lastToolResult, and wake notifications report incorrect information. Please parse actual result entries, or omit tool results when they cannot be represented correctly. Tests should cover actual output, errors, and multiple tool calls. -
When
conversation_summaries.dbis missing or unreadable, discovery falls back to the newest transcript across the entire brain directory. Since these transcripts do not contain a cwd, this can attribute a conversation from another workspace to the current agent. Please fail closed in this case: returning no history is preferable to returning another agent's history. -
Workspace URI matching currently accepts parent/child relationships in both directions and treats
/as matching everything. This can mix root and subproject conversations. Please use proper file URI/path normalization and restrict matching to an unambiguous relationship.
Please also update the supported-agent list in README.md and README.ja.md.
The overall feature is worth merging; these are correctness issues rather than a rejection of the approach. I'll be happy to review an updated version.
|
Closing as stale — this work has moved to a separate repository. |
What
Adds an AgentHistoryReader for Antigravity CLI (agy), allowing Shepherd to surface structured transcript history and last assistant messages for agy agents managed through Herdr.
How
AgyHistoryReader):${HOME}/.gemini/antigravity-cli/brain/<sessionId>/.system_generated/logs/transcript.jsonl.USER_INPUTmaps touserrole;PLANNER_RESPONSEwith text content maps toassistantrole.tool_callsinPLANNER_RESPONSEdo not synthesize immediate dummy tool results. Instead, tool names are queued into a FIFO list (pendingToolCalls) and sequentially paired with subsequent tool execution log entries (such asLIST_DIRECTORY,RUN_COMMAND,VIEW_FILE, orERROR_MESSAGE).pendingToolCallsis empty or generic/unknown log entries are encountered, only known tool execution types (such asRUN_COMMAND,VIEW_FILE,LIST_DIRECTORY,ERROR_MESSAGE, etc.) consume the pending queue or producetool_resultmessages; unknown/generic entries are omitted without shiftingpendingToolCalls.isError), falling back gracefully if no execution result was produced.${HOME}/.gemini/antigravity-cli/conversation_summaries.db(read-only SQLite).null) rather than guessing an unrelated transcript.file://scheme and trailing slashes) and requires exact cwd path equality (matchesWorkspaceUri), preventing cross-directory mismatches between root, parent, and subdirectories.AgentHistoryRefsource union with"agy-jsonl".agyandantigravityagent/source session refs to"agy-jsonl"inhistorySourceFromSessionRef.kind: "agent_session"with session ID or path.AgyHistoryReaderin defaultcreateAgentHistoryService.README.mdandREADME.ja.mdto list Antigravity among supported agent history sources.Testing
isErrorflag verification across error types and nonzero exit codes.conversation_summaries.dbis missing, unreadable, or corrupted.pnpm typecheckandpnpm testclean).