This repository uses a project-scoped Gemini collaboration workflow in addition to the primary coding agent.
- Plan-first execution is required for substantial work.
- Before architecture changes, feature work, or multi-file implementation, update
docs/plan/PLAN_TREE.yaml. - Decompose requirements into executable tasks in the plan tree before coding.
- Prioritize work from the current plan frontier instead of ad hoc task selection.
- When coordinating with Gemini or other agents, use the plan tree as the source of truth for:
- task boundaries
- ownership
- priority
- completion status
- If implementation changes the task graph, update the plan tree before or alongside the code change.
TASK_STATUS.mdis a human-readable execution snapshot and should be kept aligned with the plan tree, not used as the sole planning artifact.
For substantial tasks:
- Update
docs/plan/PLAN_TREE.yaml. - Expand the relevant requirement into concrete child tasks until the next frontier is implementable and testable.
- Prioritize the frontier.
- Consult Gemini when useful on requirements, use cases, architecture, design, or implementation.
- Execute the highest-priority task slice.
- Reconcile code, tests, docs, and
TASK_STATUS.mdback to the plan tree.
- Use the project-scoped Gemini session, not ad hoc folder-specific chats.
- Session bootstrap and consultation entrypoint:
python tools/infra/gemini_project_cli.py bootstrappython tools/infra/gemini_project_cli.py consult <topic> "<request>"
- Valid consultation topics:
requirementsusecasesarchitecturedesignimplementationreviewgeneral
- Consult Gemini for substantial tasks that involve tradeoffs, architecture, design, or ambiguous implementation paths.
- Consultation may span multiple rounds.
- It is acceptable to explore alternatives, backtrack, and choose a different path after new evidence appears.
- Treat Gemini as a second engineering voice, not as authority.
- Critically review Gemini's comments against:
- checked-in repo artifacts
- current code
- tests
- task constraints
- Move forward when there is clear consensus or when one option is materially better and the reasoning is defensible.
- Reject or narrow Gemini feedback that is generic, weak, or contradicted by local evidence.
- For substantial code changes:
- Consult Gemini when needed on requirements, use cases, architecture, design, or implementation.
- Implement or revise the change locally.
- Re-consult Gemini if implementation changes the tradeoffs.
- Run Gemini review on the diff with
python tools/review/review_change.py. - Critically adjudicate review findings before making follow-up edits.
- Findings first.
- Focus on bugs, regressions, contract drift, missing tests, and documentation drift.
- Do not accept review comments blindly.
- The primary coding agent remains responsible for final technical judgment and integration quality.