Backlog recovery #
Recover high-value features discussed in past sessions that never shipped, without burning frontier quota. Run one fast agy Flash worker per session to read the full dialogue and git log. Each worker outputs a single message listing every feature discussed as IMPLEMENTED or NOT IMPLEMENTED, so you can keep the unfinished winners.
1. Offload reading to agy Flash workers #
Check your agent tier in the system prompt. When running on a frontier tier such as Gemini 4 Argon or Pro:
- Never read raw
transcript.jsonlfiles in the main session. - Never call
invoke_subagentfor transcript mining. Subagents inherit your frontier tier and burn high-cost quota. - Always spawn one headless
agyCLI worker per session pinned to a fast Flash tier such asflash-liteorflash-low.
Select the fastest Flash tier from agy models:
FLASH_MODEL=$(agy models | awk '/flash-lite|flash.*low/ {print $1; exit}')2. List root sessions #
Query $HOME/.gemini/antigravity/conversation_summaries.db with sqlite3 to list root sessions where parent_conversation_id = '' from the last 30 days across all workspaces. Skip the current session.
sqlite3 -json "$HOME/.gemini/antigravity/conversation_summaries.db" "
SELECT
conversation_id,
title,
workspace_uris,
step_count,
datetime(last_modified_time) AS last_active
FROM conversation_summaries
WHERE parent_conversation_id = ''
AND killed = 0
AND step_count > 4
AND last_modified_time >= datetime('now', '-30 days')
ORDER BY workspace_uris, last_modified_time DESC;
"3. Run one worker per session #
Focus only on the human-agent dialogue and git history. Ignore tool call logs, ask_question choices, system messages, and scratch files.
For each session, extract the non-empty USER_INPUT and PLANNER_RESPONSE messages from transcript.jsonl, plus the last 50 commits from git log when the workspace exists on disk. Pass both inside -p="..." because agy -p ignores stdin in text mode. Ask the worker to return a single message listing all features discussed as IMPLEMENTED or NOT IMPLEMENTED:
FLOW=$(jq -r '
select((.type == "USER_INPUT" or .type == "PLANNER_RESPONSE") and (.content | length > 0))
| "[\(.step_index) \(.type)]: \(.content)"
' "$HOME/.gemini/antigravity/brain/${CONV_ID}/.system_generated/logs/transcript.jsonl")
GIT_LOG=$(git -C "$WORKSPACE_PATH" log --oneline -n 50 2>/dev/null)
agy --model "$FLASH_MODEL" --disable-slash-commands -p="User override: Do not activate kungfu and do not call any tools.
Read the conversation and git log below, and output a single message listing all features discussed with a binary status (IMPLEMENTED or NOT IMPLEMENTED).
For each feature, include:
- Status: IMPLEMENTED or NOT IMPLEMENTED
- Feature: short title and description
- Reasoning: why it was discussed
- Last known status: what happened to it in the conversation or git log
- Expected value: High, Medium, or Low (and why)
Session: ${TITLE} (${CONV_ID})
Git log:
${GIT_LOG}
Conversation:
${FLOW}" > "/tmp/smtm-${CONV_ID}.md"Run up to six agy workers in parallel background jobs using & and wait, then read /tmp/smtm-*.md in the main session.
4. Filter and rank the backlog #
Review the NOT IMPLEMENTED items across all worker reports. Keep features left behind when the topic shifted or the session ended early, and drop ideas that the user rejected or replaced with a better design.
Score each remaining item by user impact, time saved, and system payoff:
- 💎 High: Solves a recurring pain point, fixes a bug, unblocks a core workflow, or delivers high return for low effort.
- 💰 Medium: Adds useful polish, speeds up a manual step, or delivers a solid feature with clear payoff.
- 🪙 Low: Covers minor cleanup, cosmetic tweaks, or optional polish.
Group items by project and put the highest-value project first. Rank items within each project from 💎 High down to 🪙 Low, and link every item to its source session via conversation://<id>:
## 📁 <Project / Workspace Name> (`<workspace_path>`)
### 1. [💎 High] <Short item title>
- **Source**: [<Conversation Title>](conversation://<conversation-id>) (`YYYY-MM-DD`, step `<N>`)
- **Description**: <1–2 sentences describing the feature or fix that was left behind.>
- **Why it exists**: <What problem, goal, or insight triggered the idea during the session.>
- **Last known status**: <Where the thread stopped and why the feature remained unbuilt.>
- **Expected benefit**: <Concrete user, product, or engineering payoff if built.>