--- name: using-zimster description: Select the smallest Zimster workflow and risk profile that materially improves a software-development task. --- # Using Zimster One capable agent normally owns planning, implementation, RED-GREEN-REFACTOR, debugging, independent review, worktree isolation, and evidence-based completion. A subagent follows its bounded assignment and named skill. It does not restart the full workflow or recruit more agents. ## Select the smallest workflow Do not load every skill; plan or dispatch only when it materially helps. | Situation | Load | |---|---| | Exact low-risk behavior change | `test-driven-development`, then verification | | Bug or unexplained failure | `systematic-debugging`, then TDD | | Multi-file change with consequential choices | `designing-work`, then `writing-plans` | | Approved plan or coherent implementation request | `owner-driven-development` | | Two genuinely independent workstreams | `dispatching-parallel-agents` | | Reviewed seam or integration range | `risk-adaptive-review` | | Branch completion or handoff | `finishing-a-development-branch` | User and repository instructions override Zimster defaults. ## Deterministic execution profile Classify the six dimensions in `risk-adaptive-review`, then select one profile. Always report the selected profile and its risk rationale before implementation. ### Micro Use Micro only when all dimensions are Low and all of these are true: - single coherent slice; - local blast radius; - no public compatibility contract; - no meaningful concurrency, security, destructive-data, external-service, native-OS, or hardware boundary; - deterministic automated proof; - no independent review. The owner implements, runs focused/affected proofs, and performs fresh final verification. ### Standard Use Standard for subsystem or cross-component work with Medium dimensions but no High dimension or hard trigger. The owner implements vertical slices and reviews the concentrated seam or integration. ### High risk Use High risk when any dimension is High or any hard trigger exists: - authentication, authorization, secrets, or trust boundaries; - destructive data change, migration, or rollback risk; - races, cancellation, lock ordering, or resource ownership; - public API/protocol compatibility; - native OS, hardware, unstable external service, or live-only evidence; - new architecture with broad blast radius. The owner consults at most one targeted specialist when useful, reviews the load-bearing seam early, and obtains one final integration review. ## Semantic assurance contract Keep four facts separate: - checkout integrity (`REVIEW_CHECKOUT_UNCHANGED` or `REVIEW_CHECKOUT_CHANGED`) says only whether the reviewer-visible checkout changed; neither status implies semantic approval; - evidence validity says whether a receipt applies to its tree, dependency cone, environment, and claim; - `self_review` is the owner's inline inspection; - `independent_review` is clean bounded-context falsification of candidate claims. Owner-inline review is always `self_review` and cannot satisfy Standard or High-risk independent review. Micro owner-only needs deterministic eligibility and a passing requirement matrix. Standard and High-risk need approved `independent_review` for the exact candidate head; High-risk also needs every load-bearing obligation and final integration review. If unavailable, report `OWNER_VERIFIED_REVIEW_UNAVAILABLE` or another honest partial state, never readiness. Only the deterministic completion gate may emit `CANDIDATE_COMPLETE`. ## Durable state trigger Resolve `` from installed `using-zimster` when it has scripts/init-run.mjs, else the full plugin root. Never use target repo; fall back manually if absent. Create state with `/scripts/init-run.mjs` when any condition is true. By default it writes to the Git-local path reported by `git rev-parse --git-path zimster/run.md`, outside product history: - more than one vertical slice; - any subagent is dispatched; - any independent review is required; - external or hardware evidence is pending; - more than one commit boundary is expected; - the work may span compaction; - a prior session or interrupted run is being resumed. A Micro task may omit state only when none apply. Keep the record compact: mission, profile/rationale, branch disposition, architecture, slice status, evidence IDs, dispatch records, risks, unavailable proof, and next action. Do not paste full logs or transcripts. Use `--audit-path ` only when the project has explicitly opted into committed audit evidence. Do not modify tracked `.gitignore` merely for operational state. ## Delegation and model routing Use `/scripts/delegation-record.mjs` first: price/mappings never delegate and `selected: false` forbids routing. Selected roles record inline option, ownership/tools, cone, stop, and owner proof. Then `/scripts/model-routing.mjs` may issue an advisory plan or authoritative dispatch proposal using `config/model-routing.json`. Resolve override → run → project → user → harness → inherit; record requested/effective values and owner acceptance with `/scripts/dispatch-record.mjs`; record the same fields manually when unavailable. Classes are economy, balanced, expert, and inherit without vendor defaults; unknown values stay `unverified` and old tiers alias. Default limits: - maximum two parallel implementation agents; - model routing does not increase the default frequency of delegation; - subagents must not spawn subagents; - one initial review and one resumed recheck per reviewed seam; - correction commits/rechecks use their bounded accounting; - an exact-final-head integration review remains separately reserved until the candidate stops changing. ## Cost controls Use focused tests while iterating, affected suites at slice boundaries, and full required gates once. Around 60% of a stated budget, report its largest consumers. Around 80%, stop optional work and prioritize required proof. Never lower a required quality gate silently. Record execution budgets for Standard/High-risk runs: suites, duplicates, agents, rechecks, corrections, renewals, research, and tokens. Only recoverable budgets accept strategy/proof overrides; hard limits never do. `HARD_BUDGET_EXHAUSTED` and every terminal state stop autonomous remediation. Use `/scripts/convergence.mjs decide` for ordinary deterministic failure. Continue without repeated authorization only in-scope, reversible, non-sensitive, authorized work within budget. Escalate only for contradiction, material expansion, sensitive authority gaps, missing review, required approval, or exhaustion. Host permission prompts remain authoritative. ## Logical ownership and phase checkpoints The logical owner is continuous across renewed physical contexts. At each vertical-slice boundary, checkpoint only the mission digest, hard invariants, architecture, slice commits, valid receipt references, findings, unavailable evidence, exact next slice/dependency cone, and budget position. Full objectives, passing logs, diffs, and transcripts remain outside the checkpoint. On continuation, resume from that checkpoint and reload only the next dependency cone. ## Deterministic verification and evidence reuse Use `npm run goal:verify` and `npm run release:verify` once available instead of their constituent commands. Keep full logs in Git-local artifacts and return the compact receipt summary to the active context. Before repeating a broad command, check for a valid receipt keyed to the current tree, dirty state, environment, exact argv, dependency cone, and inputs. Required fresh final gates are never reused. Release sequence: build packages → installed-package smoke → host smoke → review package → reserved exact-head final integration review → bounded correction/review if needed → fresh exact-tree verification → completion gate. Source-only review never replaces available installed-package proof. ## Capability research and postmortem Consult the dated capability cache only for the in-scope host. Refresh for expiry, changed host version/integration, validator contradiction, or explicit request. The postmortem keeps observed, inferred, and unavailable metrics distinct and never sums incompatible token meters. ## Harness adaptation Read only the matching reference: - Codex: `references/codex-tools.md` - Claude Code: `references/claude-code-tools.md` - Grok/Cursor/Kimi/OpenCode/Pi: `references/other-harnesses.md` When subagents are unavailable, execute inline and state that independent review assurance was unavailable; do not relabel owner-inline work as `independent_review`. For self-hosting, freeze accepted policy; candidate rules stay non-authoritative and isolated until review and acceptance pass. ## Installed version and script-free mode Read adjacent `references/build-metadata.json` for version, build, source commit/tree and cleanliness, and package target; never infer these from the target project's metadata or Git history. Without scripts, continue quietly: preserve safety, TDD, review, and verification; mark helper receipts unavailable and maintain compact state manually. Do not warn.