| name | incremental-implementation |
| description | Use only when the user explicitly requests incremental implementation or continuation of a substantial planned workstream. Implement exactly one self-contained task packet per invocation, stop for review, and resume the next packet only after another explicit request; do not invoke merely because several files change. |
Incremental Implementation
Deliver one task packet through thin slices that leave the repository working
and produce an observable result.
Invocation Boundary
- Implement only the first unchecked linked task packet for this invocation.
- After its verification passes, update
todo.md and handoff.md, present a
concise review or preview, and stop. Do not begin the next packet.
- Resume only when the user explicitly invokes incremental implementation again
or explicitly requests its continuation.
- At the start of a resumed invocation, commit the previously completed and
approved packet with a focused conventional commit. If review requested
changes, revise the same packet instead and do not commit it yet.
- Do not commit the packet completed in the current invocation. Its commit is
deferred until the next explicit continuation request.
- Never push without explicit authorization.
Prepare
- Read applicable
AGENTS.md files, the current todo.md entry, and its linked
packet. Follow
the task packet contract.
- Read
handoff.md only when continuing previous work. Do not read the full
plan, full specification, or unrelated packets by default.
- Use CodeGraph first when indexed. Read the target code, focused tests/types,
one local precedent, relevant project-conventions sections, and only the
references explicitly scoped by the packet.
- Apply
.agents/references/definition-of-done.md and confirm the packet's
outcome, non-goals, risks, manual verification, and rollback/recovery notes.
- Read a targeted specification section only when the packet links it for a
conditional detail or current code reveals a material conflict.
- If the packet is incomplete, repair it through planning instead of loading
the full specification and reconstructing the task during implementation.
- Stop for user/provider decisions that would materially change the contract.
Slice Order
Prefer this dependency order when applicable:
- Shared types, schema, protocol, settings, or lifecycle contract.
- Validation and pure transformation with focused tests.
- Browser, provider, filesystem, subprocess, or persistence boundary with
controlled failures.
- Main service orchestration and typed IPC.
- Renderer state, settings, and user interaction.
- Documentation, migration, accessibility, privacy, packaging, and manual
platform verification.
A slice is valid only when it has one observable result, focused acceptance
criteria, and a verification command or inspection artifact.
Execution Loop
For each slice inside the current packet:
- State its contract and acceptance criteria.
- Implement only that slice using the simplest project-consistent design.
- Run the smallest focused check.
- Inspect the runtime artifact when behavior is browser-, visual-, audio-, or
platform-specific.
- Record changed files, result, assumptions, and the next slice.
- Stop when the next slice would require inventing a material requirement or
expanding beyond the packet.
After all packet criteria pass:
- Run the packet's final applicable checks.
- Update
todo.md and handoff.md.
- Present the outcome, verification, manual follow-up, and changed files.
- Stop at the invocation boundary.
Guardrails
- Preserve trusted IPC sender validation and main/renderer privilege separation.
- Never log or commit secrets, sessions, audio, transcripts, clipboard content,
provider output, or personal browser data.
- Keep each slice compilable, testable, and rollback-friendly.
- Preserve intermediate artifacts only when the packet requires them for safe
diagnosis or rerun; never commit sensitive/generated runtime data.
- Do not broaden a slice with unrelated refactors, dependencies, packaging, or
release work.
- Do not leave placeholder success paths, disabled validation, or unverified
generated artifacts between slices.
Apply the complete definition of done before declaring the overall workstream
finished.