devrites 5.10.1 → 5.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +24 -10
- package/bin/devrites.mjs +2 -0
- package/docs/cli.md +4 -1
- package/docs/command-map.md +7 -5
- package/docs/engine/commands.md +7 -5
- package/docs/orchestration.md +5 -2
- package/docs/skills.md +10 -4
- package/docs/usage.md +3 -1
- package/engine/commands.go +3 -0
- package/engine/help.go +190 -0
- package/engine/help_test.go +98 -0
- package/engine/internal/devritespaths/paths.go +2 -0
- package/engine/internal/hostpack/hostpack.go +39 -5
- package/engine/internal/hostpack/hostpack_test.go +27 -13
- package/engine/internal/install/apply.go +17 -4
- package/engine/internal/install/install.go +9 -2
- package/engine/internal/install/install_test.go +15 -2
- package/engine/internal/install/preflight.go +8 -2
- package/engine/internal/install/update.go +1 -1
- package/engine/internal/parallel/cli.go +90 -32
- package/engine/internal/parallel/cli_test.go +32 -0
- package/engine/main.go +15 -8
- package/engine/root_routing_test.go +4 -0
- package/install.sh +4 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/.claude/skills/rite-build/SKILL.md +3 -1
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/README.md +4 -2
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/devin/AGENTS.md +23 -0
- package/pack/generated/devin/agents/devrites-code-reviewer.md +145 -0
- package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
- package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
- package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
- package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
- package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
- package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
- package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
- package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
- package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
- package/pack/generated/devin/agents/devrites-security-auditor.md +112 -0
- package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +97 -0
- package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
- package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
- package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
- package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
- package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
- package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +64 -0
- package/pack/generated/devin/skills/devrites-audit/SKILL.md +51 -0
- package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +77 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +97 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/devin/skills/devrites-doubt/SKILL.md +80 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +87 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +56 -0
- package/pack/generated/devin/skills/devrites-interview/SKILL.md +103 -0
- package/pack/generated/devin/skills/devrites-lib/SKILL.md +57 -0
- package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
- package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +88 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +60 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +415 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +99 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +108 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +167 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +31 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +43 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +85 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +47 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +25 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +88 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +68 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +123 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +202 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +212 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +92 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
- package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +74 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +53 -0
- package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +135 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/devin/skills/rite/SKILL.md +148 -0
- package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
- package/pack/generated/devin/skills/rite-adopt/SKILL.md +51 -0
- package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
- package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +142 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +151 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
- package/pack/generated/devin/skills/rite-build/SKILL.md +102 -0
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
- package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +56 -0
- package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
- package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +214 -0
- package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +89 -0
- package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
- package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +96 -0
- package/pack/generated/devin/skills/rite-clarify/SKILL.md +98 -0
- package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
- package/pack/generated/devin/skills/rite-converge/SKILL.md +144 -0
- package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
- package/pack/generated/devin/skills/rite-customize/SKILL.md +60 -0
- package/pack/generated/devin/skills/rite-define/SKILL.md +168 -0
- package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
- package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
- package/pack/generated/devin/skills/rite-doctor/SKILL.md +68 -0
- package/pack/generated/devin/skills/rite-dogfood/SKILL.md +55 -0
- package/pack/generated/devin/skills/rite-explain/SKILL.md +152 -0
- package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/devin/skills/rite-frame/SKILL.md +114 -0
- package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/devin/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/devin/skills/rite-learn/SKILL.md +72 -0
- package/pack/generated/devin/skills/rite-plan/SKILL.md +185 -0
- package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
- package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
- package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +42 -0
- package/pack/generated/devin/skills/rite-polish/SKILL.md +105 -0
- package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/devin/skills/rite-polish/reference/code.md +82 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/devin/skills/rite-polish/reference/ledger.md +65 -0
- package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
- package/pack/generated/devin/skills/rite-pov/SKILL.md +57 -0
- package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +54 -0
- package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +66 -0
- package/pack/generated/devin/skills/rite-prototype/SKILL.md +104 -0
- package/pack/generated/devin/skills/rite-prove/SKILL.md +122 -0
- package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
- package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/devin/skills/rite-quick/SKILL.md +81 -0
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +98 -0
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
- package/pack/generated/devin/skills/rite-review/SKILL.md +171 -0
- package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
- package/pack/generated/devin/skills/rite-seal/SKILL.md +74 -0
- package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +29 -0
- package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +47 -0
- package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
- package/pack/generated/devin/skills/rite-ship/SKILL.md +87 -0
- package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
- package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
- package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
- package/pack/generated/devin/skills/rite-spec/SKILL.md +149 -0
- package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
- package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +227 -0
- package/pack/generated/devin/skills/rite-status/SKILL.md +57 -0
- package/pack/generated/devin/skills/rite-temper/SKILL.md +129 -0
- package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/devin/skills/rite-upgrade/SKILL.md +121 -0
- package/pack/generated/devin/skills/rite-vet/SKILL.md +192 -0
- package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +202 -0
- package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +201 -0
- package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +84 -0
- package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +69 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/omp/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/omp/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +15 -8
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +10 -5
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +12 -7
- package/pack/generated/pi/skills/rite-build/SKILL.md +3 -1
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +4 -3
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +3 -1
- package/pack/generated/pi/skills/rite-define/reference/plan-template.md +1 -1
- package/package.json +4 -2
- package/scripts/build-host-artifacts.sh +48 -5
- package/scripts/devin-generate.sh +222 -0
- package/update.sh +2 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite
|
|
3
|
+
description: User-invoked DevRites menu and router; no args renders the menu, a verb invokes the matching `rite-<verb>` skill.
|
|
4
|
+
argument-hint: "[verb [args...]]"
|
|
5
|
+
triggers:
|
|
6
|
+
- user
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /rite: DevRites menu + router
|
|
10
|
+
|
|
11
|
+
Two modes:
|
|
12
|
+
|
|
13
|
+
- **No args** → render the menu and stop. Do not execute a phase or infer
|
|
14
|
+
workspace status; `/rite-status` owns that.
|
|
15
|
+
- **Verb arg** → pass-through invocation of the matching `rite-<verb>` skill (`/rite spec foo` ≡ `/rite-spec foo`); the called skill owns the output.
|
|
16
|
+
|
|
17
|
+
When the user asks which rite fits, load [`devrites-lib/reference/intent-map.md`](../devrites-lib/reference/intent-map.md).
|
|
18
|
+
When they ask how phases connect, load [`reference/menu.md`](reference/menu.md).
|
|
19
|
+
|
|
20
|
+
## Dispatch
|
|
21
|
+
|
|
22
|
+
If `$ARGUMENTS` starts with a verb in this table, **load the matching skill and execute its workflow** with the remainder of `$ARGUMENTS` as that skill's argument. Resolve the installed skill path:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
V=<verb>; ARGS="<remaining args>"
|
|
26
|
+
F=.devin/skills/rite-$V/SKILL.md
|
|
27
|
+
# Then Read "$F" and follow its workflow with $ARGS as that skill's $ARGUMENTS.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`use` and `guide` are handled inline per the sections below, not via a skill file.
|
|
31
|
+
|
|
32
|
+
What each verb does lives once, in the Menu below; this table is the invocation map only.
|
|
33
|
+
|
|
34
|
+
| Verb | Skill |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `spec [feature]` | `/rite-spec` |
|
|
37
|
+
| `adopt [area]` | `/rite-adopt` |
|
|
38
|
+
| `clarify [feature]` | `/rite-clarify` |
|
|
39
|
+
| `temper [--mode]` | `/rite-temper` |
|
|
40
|
+
| `define` | `/rite-define` |
|
|
41
|
+
| `vet [--cross-model]` | `/rite-vet` |
|
|
42
|
+
| `plan [mode]` | `/rite-plan` |
|
|
43
|
+
| `build [slice]` | `/rite-build` |
|
|
44
|
+
| `converge [slug]` | `/rite-converge` |
|
|
45
|
+
| `prove` | `/rite-prove` |
|
|
46
|
+
| `polish [mode]` | `/rite-polish` |
|
|
47
|
+
| `review [scope]` | `/rite-review` |
|
|
48
|
+
| `seal` | `/rite-seal` |
|
|
49
|
+
| `ship` | `/rite-ship` |
|
|
50
|
+
| `status [slug]` | `/rite-status` |
|
|
51
|
+
| `doctor` | `/rite-doctor` |
|
|
52
|
+
| `upgrade [slug]` | `/rite-upgrade` |
|
|
53
|
+
| `learn ["<lesson>"]` | `/rite-learn` |
|
|
54
|
+
| `explain [concept \| diff \| idea \| recap]` | `/rite-explain` |
|
|
55
|
+
| `pov [candidate]` | `/rite-pov` |
|
|
56
|
+
| `dogfood [--port N]` | `/rite-dogfood` |
|
|
57
|
+
| `pr-feedback [PR\|thread]` | `/rite-pr-feedback` |
|
|
58
|
+
| `watch-pr [PR\|URL]` | `/rite-watch-pr` |
|
|
59
|
+
| `customize [instruction \| skill \| agent \| plugin]` | `/rite-customize` |
|
|
60
|
+
| `use <slug>` | (inline) |
|
|
61
|
+
| `guide` | (inline) |
|
|
62
|
+
| `resolve <qid> "<answer>"` | `/rite-resolve` |
|
|
63
|
+
| `prototype [question]` | `/rite-prototype` |
|
|
64
|
+
| `handoff [focus]` | `/rite-handoff` |
|
|
65
|
+
| `zoom-out` | `/rite-zoom-out` |
|
|
66
|
+
| `pressure-test` | `/rite-pressure-test` |
|
|
67
|
+
| `autocomplete [idea] [--ship]` | `/rite-autocomplete` |
|
|
68
|
+
| `quick [change]` | `/rite-quick` |
|
|
69
|
+
| `frame [task]` | `/rite-frame` |
|
|
70
|
+
|
|
71
|
+
Both forms call the same skill. The menu supports discovery; `/rite-<verb>` is the direct form.
|
|
72
|
+
|
|
73
|
+
`use <slug>` is handled **inline**. There is no `rite-use` skill. Confirm
|
|
74
|
+
`.devrites/work/<slug>/` exists, then re-point `.devrites/ACTIVE` to `<slug>` and report
|
|
75
|
+
the now-active feature. It is cheap context-switching only: no re-spec, no phase run. If
|
|
76
|
+
the workspace is missing, list the slugs under `.devrites/work/` and stop.
|
|
77
|
+
|
|
78
|
+
`guide` is an inline walkthrough for the first feature. Agree on one **real, small**
|
|
79
|
+
change, then run spec → clarify → temper → define → vet → build → prove → polish → review → seal →
|
|
80
|
+
ship. Before each phase, say what it decides; after, name what it wrote and why. Pause at
|
|
81
|
+
every boundary and explain only what the user needs for the next decision.
|
|
82
|
+
|
|
83
|
+
Specialist triggers (model-invoked inside the above):
|
|
84
|
+
`devrites-frontend-craft` (UI) · `devrites-browser-proof` (UI verify) ·
|
|
85
|
+
`devrites-source-driven` (uncertain library) · `devrites-doubt` (non-trivial
|
|
86
|
+
decision) · `devrites-api-interface` (cross-boundary) ·
|
|
87
|
+
`devrites-audit <security|perf|simplify>` (single-axis review/polish pass) ·
|
|
88
|
+
`devrites-debug-recovery` (failures). Parallel reviewer fan-out at seal is a shared
|
|
89
|
+
reference (see [`devrites-lib/reference/parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md)).
|
|
90
|
+
|
|
91
|
+
## What to output
|
|
92
|
+
|
|
93
|
+
Reply-contract exception: `/rite` is the menu/router, not a workspace completion step.
|
|
94
|
+
Called phase skills own the shared completion reply contract
|
|
95
|
+
([`reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
96
|
+
|
|
97
|
+
1. **Verb in `$ARGUMENTS`** → invoke the matching skill per the table above.
|
|
98
|
+
2. **No args** → menu mode, as above.
|
|
99
|
+
3. **Unrecognized first token** → tell the user the known verbs and stop. Don't guess.
|
|
100
|
+
4. **No active feature** and the user asked "where am I" → point at `/rite spec <feature>` (or `/rite-spec`). Don't summarize state yourself: `/rite status` (or `/rite-status`) owns that.
|
|
101
|
+
|
|
102
|
+
## Menu
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
DevRites — disciplined senior-engineer workflow
|
|
106
|
+
menu form direct shortcut
|
|
107
|
+
SPEC /rite spec ≡ /rite-spec investigate deeply → write spec.md
|
|
108
|
+
ADOPT /rite adopt ≡ /rite-adopt onboard existing code → reverse-derive spec.md
|
|
109
|
+
CLARIFY /rite clarify ≡ /rite-clarify close the complete decision surface before planning
|
|
110
|
+
TEMPER /rite temper ≡ /rite-temper optional — strategic review: scope mode + pre-mortem, harden the spec
|
|
111
|
+
PLAN /rite define ≡ /rite-define turn the spec into plan + task slices + state
|
|
112
|
+
VET /rite vet ≡ /rite-vet mandatory every plan — light/full engineering review by stakes
|
|
113
|
+
REPLAN /rite plan ≡ /rite-plan decompose / reslice / repair an active plan
|
|
114
|
+
BUILD /rite build ≡ /rite-build one slice/wright; HITL stops, `.devrites/AFK` may chain
|
|
115
|
+
CONVERGE /rite converge ≡ /rite-converge recovery — append work needed to meet intent
|
|
116
|
+
PROVE /rite prove ≡ /rite-prove tests + build + runtime + browser evidence
|
|
117
|
+
POLISH /rite polish ≡ /rite-polish code polish always; UI normalize + polish if UI
|
|
118
|
+
REVIEW /rite review ≡ /rite-review feature-scoped multi-axis review
|
|
119
|
+
SEAL /rite seal ≡ /rite-seal final GO / NO-GO decision (no git)
|
|
120
|
+
SHIP /rite ship ≡ /rite-ship pre-GO read-only; fresh GO → commit; optional approved push/tag/PR → archive
|
|
121
|
+
STATUS /rite status ≡ /rite-status active feature, next action, evidence, risks
|
|
122
|
+
DOCTOR /rite doctor ≡ /rite-doctor installation and native host diagnostics
|
|
123
|
+
UPGRADE /rite upgrade ... ≡ /rite-upgrade audit an older workspace; route only proven gaps
|
|
124
|
+
LEARN /rite learn ... ≡ /rite-learn review captured lessons → promote to project rules / principles
|
|
125
|
+
EXPLAIN /rite explain ... ≡ /rite-explain grounded concept/diff/idea/recap explainer
|
|
126
|
+
POV /rite pov ... ≡ /rite-pov decide adopt / trial / hold / reject for an external option
|
|
127
|
+
DOGFOOD /rite dogfood ... ≡ /rite-dogfood browser QA by changed user journey
|
|
128
|
+
PR FEEDBACK /rite pr-feedback ... ≡ /rite-pr-feedback fix and resolve PR review threads
|
|
129
|
+
WATCH PR /rite watch-pr ... ≡ /rite-watch-pr observe PR/CI once without mutation
|
|
130
|
+
CUSTOMIZE /rite customize ... ≡ /rite-customize author overrides/extensions without forking the pack
|
|
131
|
+
SWITCH /rite use <slug> re-point .devrites/ACTIVE to another feature (inline)
|
|
132
|
+
GUIDE /rite guide first feature, guided — full lifecycle on one small real change (inline)
|
|
133
|
+
RESUME /rite resolve ... ≡ /rite-resolve answer a HITL checkpoint
|
|
134
|
+
AUTO /rite autocomplete ... ≡ /rite-autocomplete unattended lifecycle; `--ship` stops at Ship preflight
|
|
135
|
+
QUICK /rite quick <change> ≡ /rite-quick express lane — one small reversible change (escalates if it grows)
|
|
136
|
+
UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or direct shortcuts)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
> **Small one-off change?** A typo, copy tweak, config bump, or one-function fix → **`/rite-quick`**
|
|
140
|
+
> (express lane: one contract → build → prove → ship, no full workspace). It escalates to
|
|
141
|
+
> `/rite-spec` when the change is no longer small, reversible, and unambiguous. Use the
|
|
142
|
+
> full lifecycle above for features.
|
|
143
|
+
|
|
144
|
+
## Core operating rules (every DevRites skill enforces)
|
|
145
|
+
|
|
146
|
+
The operating rules live in `.devin/skills/devrites-lib/reference/standards/core.md`; DevRites skills Read it as
|
|
147
|
+
their first step, and the other rule files load on demand. See
|
|
148
|
+
[`.devin/skills/devrites-lib/reference/standards/README.md`](../devrites-lib/reference/standards/README.md) for the full index.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Menu reference
|
|
2
|
+
|
|
3
|
+
Phase-ordered `/rite` reference. Load only for command detail or phase connections.
|
|
4
|
+
|
|
5
|
+
## Phases and commands
|
|
6
|
+
|
|
7
|
+
| Phase | Command | Use when |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Spec | `/rite-spec <feature>` | **New feature.** Investigate → write spec.md. Asks with options; gathers attached design references (optional). |
|
|
10
|
+
| Adopt | `/rite-adopt` | Onboard an existing codebase instead of starting fresh: reverse-derive spec.md and propose project guidance. |
|
|
11
|
+
| Clarify | `/rite-clarify` | _Required after spec._ Topology-first decision-coverage scan; zero-question fast path when already clear. |
|
|
12
|
+
| Temper | `/rite-temper` | _Optional, before define._ Strategic review of the spec: scope mode (expand/selective/hold-rigor/reduce) + pre-mortem; hardens the spec. Best on big/risky features; mandatory in `/rite-autocomplete`. |
|
|
13
|
+
| Plan | `/rite-define` | Turn the approved spec into plan + vertical task slices + state. |
|
|
14
|
+
| Vet | `/rite-vet` | _Required before build._ Review every plan: scope · architecture · tests · perf; light for simple/reversible, full for high stakes. |
|
|
15
|
+
| Re-plan | `/rite-plan` | The active plan is too big, wrong, stale, ambiguous, or blocked. |
|
|
16
|
+
| Build | `/rite-build` | One slice/wright; HITL stops; `.devrites/AFK` lets root bounded-chain slices. |
|
|
17
|
+
| Converge | `/rite-converge` | _Recovery._ Code drifted from or falls short of intent after a resume, adoption, or stalled build: compare live code with spec/plan/tasks and append remaining work as new slices for `/rite-build`. |
|
|
18
|
+
| Prove | `/rite-prove` | Prove the current scope: tests, build, runtime, browser evidence. |
|
|
19
|
+
| Polish | `/rite-polish` | Code polish always; normalize and polish UI when in scope. Modes: `bolder/quieter/distill/harden/normalize-only`. |
|
|
20
|
+
| Review | `/rite-review` | Feature-scoped review before sealing. |
|
|
21
|
+
| Seal | `/rite-seal` | Final GO / NO-GO decision (no git). |
|
|
22
|
+
| Ship | `/rite-ship` | Pre-GO read-only; fresh GO → commit → optional approved push/tag/PR → archive/close. |
|
|
23
|
+
| Status | `/rite-status` | See where the active feature stands. |
|
|
24
|
+
| Doctor | `/rite-doctor` | Diagnose install integrity and native host configuration. |
|
|
25
|
+
| Upgrade | `/rite-upgrade` | _Explicit compatibility._ Audit an older released workspace; route cited defects through Clarify/Plan repair/Converge/Vet or current Prove/Polish/Review/Seal, preserve history, and never synthesize old proof. |
|
|
26
|
+
| Learn | `/rite-learn` | Review native memory and archived evidence → propose durable project guidance. |
|
|
27
|
+
|
|
28
|
+
## Typical orderings
|
|
29
|
+
|
|
30
|
+
- **Every feature**: `/rite-spec` (spec) → `/rite-clarify` (decision coverage) →
|
|
31
|
+
*(big feature? `/rite-temper`: strategic review)* →
|
|
32
|
+
`/rite-define` (plan) → `/rite-vet` (engineering review; light or full) →
|
|
33
|
+
`/rite-build` ×N (all slices) → `/rite-prove` (once all built) →
|
|
34
|
+
`/rite-polish` (always: code + UI if UI) → `/rite-review` → `/rite-seal` → `/rite-ship`.
|
|
35
|
+
- **Existing codebase**: `/rite-adopt` → `/rite-clarify` → `/rite-define` → `/rite-vet` → build.
|
|
36
|
+
- **Drift mid-build**: classify → bounded recovery for objective defects, `/rite-plan`
|
|
37
|
+
repair for a wrong durable plan, or one user decision for real product/risk drift.
|
|
38
|
+
- **Older workspace cannot resume**: `/rite-upgrade` audits first → only proven gaps use
|
|
39
|
+
Clarify/Plan repair/Converge/Vet or Prove/Polish/Review/Seal → resume. It never
|
|
40
|
+
migrates cursor format or invents a prior pass.
|
|
41
|
+
- **Resumed / adopted / stalled**: `/rite-converge` (assess live code vs intent → append the
|
|
42
|
+
remaining slices) → `/rite-vet` → `/rite-build` ×N → continue at `/rite-prove`.
|
|
43
|
+
|
|
44
|
+
## Rules this menu obeys
|
|
45
|
+
|
|
46
|
+
- `/rite` never edits code or runs a phase workflow.
|
|
47
|
+
- Menu mode is static; `/rite-status` owns workspace status.
|
|
48
|
+
- It suggests; the user (or Claude, when appropriate) invokes the real skill.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-adopt
|
|
3
|
+
description: Adopt an existing codebase into DevRites by reverse-engineering current behavior and establishing a baseline workspace.
|
|
4
|
+
argument-hint: "[path or area to adopt] [+ what you want to build next]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /rite-adopt: onboard existing code
|
|
8
|
+
|
|
9
|
+
Reverse-engineer current behavior into `spec.md`; do not rewrite product code or create a
|
|
10
|
+
parallel convention system.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
0. **Pre-flight (workspace anchor).** Resolve the repo root; take the target slug from
|
|
15
|
+
the user (ask once if material); a missing/ambiguous slug, wrong repo root, or
|
|
16
|
+
unwritable `.devrites/` blocks Adopt. **Failing case:** adopt infers the slug from
|
|
17
|
+
cwd alone → stop.
|
|
18
|
+
|
|
19
|
+
1. Read core; resolve repository/sub-area and next objective. Ask once only if material.
|
|
20
|
+
2. Follow [`reference/adoption.md`](reference/adoption.md): inspect current
|
|
21
|
+
behavior, architecture and placement, callers, reusable seams, repository/CI
|
|
22
|
+
commands, visible code/test patterns, non-obvious constraints, and any touched
|
|
23
|
+
load-bearing seam that needs **characterize-before-modify** (record disposition:
|
|
24
|
+
`characterized` with see-it-fail stub, or `deferred` with evidence why safe).
|
|
25
|
+
**Failing case:** plan touches auth middleware with no characterize row → Adopt
|
|
26
|
+
fails until disposition is recorded. Read existing `AGENTS.md`, `CLAUDE.md`, product,
|
|
27
|
+
and design guidance.
|
|
28
|
+
3. Create the workspace and write `spec.md`, `decisions.md`, `assumptions.md`,
|
|
29
|
+
`questions.md`, and `state.md`. The spec separates the current baseline from
|
|
30
|
+
the measurable next objective.
|
|
31
|
+
4. For a structured baseline, follow the ledger's read workflow in
|
|
32
|
+
[`ledger.md`](../rite-polish/reference/ledger.md) § Reading in Spec and Adopt:
|
|
33
|
+
list ledger specs with the host filesystem and read only the touched capabilities;
|
|
34
|
+
classify against current file content, never memory. The native preview/write
|
|
35
|
+
workflow runs during Polish, not Adopt.
|
|
36
|
+
5. For a verified non-obvious policy or recurring/costly mistake, prefer existing hook/lint/
|
|
37
|
+
CI/type/schema enforcement; else propose one evidence-cited nearest-scope instruction edit.
|
|
38
|
+
Apply only after review; never create convention bands, scores, or a command cache.
|
|
39
|
+
6. A genuine non-negotiable invariant may be proposed for
|
|
40
|
+
`.devrites/principles.md`; the human must ratify it.
|
|
41
|
+
7. Set the next step to `/rite-clarify` and stop. Do not plan or build.
|
|
42
|
+
|
|
43
|
+
## Output
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Done: adopted <scope> into <slug>.
|
|
47
|
+
Changed: <workspace artifacts>; project guidance <proposed | unchanged>
|
|
48
|
+
Evidence: <source/CI paths inspected>
|
|
49
|
+
Open: <questions | none>
|
|
50
|
+
Next: /rite-clarify
|
|
51
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Adoption: reverse-investigation
|
|
2
|
+
|
|
3
|
+
Loaded by `/rite-adopt`; record code reality before forward work.
|
|
4
|
+
|
|
5
|
+
Capture visible behavior; architecture/placement/callers/seams; repository/CI commands;
|
|
6
|
+
live naming/layering/error/data/test conventions; and non-obvious constraints.
|
|
7
|
+
|
|
8
|
+
For each next-objective load-bearing seam without a discriminating test, append after its
|
|
9
|
+
source in `spec.md` existing behavior's `Current evidence` cell:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
Characterization: characterize-before-modify; risk: <risk>; first touch: <slice|unknown>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
This is a touched-behavior ratchet, not repository-wide coverage.
|
|
16
|
+
|
|
17
|
+
Use current code/search/docs; source and CI beat history. Put baseline/objective in
|
|
18
|
+
`spec.md`, uncertainty in `assumptions.md`, durable choices in `decisions.md`, and guidance
|
|
19
|
+
in nearest scoped instructions—never ledgers, scores, confidence bands, or command caches.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# /rite-adopt: anti-patterns
|
|
2
|
+
|
|
3
|
+
Start with the universal table in [`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
4
|
+
Below are the rationalizations specific to onboarding an existing codebase.
|
|
5
|
+
|
|
6
|
+
## Adoption-specific rationalizations
|
|
7
|
+
|
|
8
|
+
| Excuse | Rebuttal |
|
|
9
|
+
|---|---|
|
|
10
|
+
| "I'll improve this messy bit while I document it." | Adoption *documents* what exists; it changes nothing. A cleanup is the *next* feature through the normal lifecycle: recording it as a drive-by here hides the baseline and balloons the diff. |
|
|
11
|
+
| "This looks like the convention, so I'll seed it." | Seed only what the code *and consistently* follows. A guessed seed becomes a high-confidence-looking prior that steers the first slice wrong. Observe it in ≥2 places or leave it out. |
|
|
12
|
+
| "I'll spec the ideal architecture, not the current one." | The spec's baseline is *current behavior*. Aspirations go in the next objective, not the baseline: otherwise every later slice drifts against a spec that never matched reality. |
|
|
13
|
+
| "Whole repo in one adopt." | Onboard the area you'll work in. A repo-wide adopt produces an unfocused spec and a ledger full of conventions no slice will touch. |
|
|
14
|
+
|
|
15
|
+
## Red flags
|
|
16
|
+
|
|
17
|
+
- A seeded convention with no concrete code location behind it.
|
|
18
|
+
- `spec.md` describing behavior the code does **not** currently have (that's the next feature, not the baseline).
|
|
19
|
+
- Editing source during adoption: adoption writes `.devrites/` + the ledger, never project code.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-autocomplete
|
|
3
|
+
description: Run the full DevRites lifecycle unattended; --ship continues to the final Git approval boundary. Use for one-shot autonomous work; not for a single phase.
|
|
4
|
+
argument-hint: "[idea] [--ship|--yolo] [--max-slices N] [--parallel N] [--full] [--cross-model]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /rite-autocomplete: full lifecycle, unattended
|
|
8
|
+
|
|
9
|
+
Run every phase after one clarification window. Irreversible-risk,
|
|
10
|
+
escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
11
|
+
access, unanswered blocking with no recommended option, and remaining NO-GO
|
|
12
|
+
still pause. Open blocking questions that already name a ranked recommended
|
|
13
|
+
option auto-resolve; they are not a user handoff. Use the Standard native
|
|
14
|
+
profile by default and Full for high-risk scope or explicit `--full`; see
|
|
15
|
+
[`orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
16
|
+
|
|
17
|
+
## Required rules
|
|
18
|
+
|
|
19
|
+
Read [`core.md`](../devrites-lib/reference/standards/core.md) and [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md) first. Read
|
|
20
|
+
[`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md) before any stop/continue or execution decision involving a
|
|
21
|
+
consumptive action. Before honoring a terminal cursor that names missing
|
|
22
|
+
executable controller/harness/bundle bytes or a missing writer, read
|
|
23
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md). Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
24
|
+
|
|
25
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
26
|
+
- `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
|
|
27
|
+
- `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
|
|
28
|
+
- `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
|
|
29
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
30
|
+
|
|
31
|
+
## Invariants
|
|
32
|
+
|
|
33
|
+
- Use one initial human window: Spec, topology-first Clarify, and
|
|
34
|
+
`Decision coverage: CLEAR`. Only then arm AFK. Record later reversible choices
|
|
35
|
+
under [decision policy](reference/decision-policy.md).
|
|
36
|
+
- Safety is not bypassable. `--ship`/`--yolo` reaches only the exact-plan
|
|
37
|
+
literal-GO and native-approval boundary; it never authorizes Git.
|
|
38
|
+
- **Treat technical readiness as routing, not completion.** `NEEDS REPLAN` is a backward edge
|
|
39
|
+
to Plan repair and narrow Vet. `NEEDS REPLAN` cold resume follows a valid
|
|
40
|
+
technical return cursor before forward work or any reply. Clarification is
|
|
41
|
+
likewise internal when current authority resolves it.
|
|
42
|
+
- Always follow agent-owned backward edges through repair, affected Vet,
|
|
43
|
+
correction, and proof. A nested `STOP`/`Next step` is not a user handoff.
|
|
44
|
+
Pause only for a shared human/safety/access/exhaustion condition.
|
|
45
|
+
- **Do not confuse an action budget with recovery exhaustion.** Spent action
|
|
46
|
+
authority blocks another real execution, not offline correction of retained
|
|
47
|
+
Critical/Important evidence. Stop for fresh GO only after changed conditions
|
|
48
|
+
and READY Vet.
|
|
49
|
+
- Every exact causal fingerprint gets at most three no-progress corrections.
|
|
50
|
+
Closing one is progress; a distinct Critical/Important invariant has its own
|
|
51
|
+
budget. Lower severity cannot prolong recovery.
|
|
52
|
+
- Do not stop on `--max-slices`, sentinel `max_slices`, `max_agents`,
|
|
53
|
+
`max_minutes`, or `max_review_queue`. Count failed, malformed, and
|
|
54
|
+
unavailable leaf calls.
|
|
55
|
+
- Parse flags only from this invocation. `--ship`, `--yolo`, `--max-slices`,
|
|
56
|
+
`--parallel`, `--full`, and `--cross-model` activate only as exact standalone
|
|
57
|
+
tokens in `$ARGUMENTS`; examples or earlier messages can never arm them.
|
|
58
|
+
`--max-slices` must occur once and be followed by a positive base-10 integer;
|
|
59
|
+
`--parallel` must occur once and be followed by a base-10 integer in `1`–`10`.
|
|
60
|
+
Missing, repeated, malformed, or conflicting values stop before any write.
|
|
61
|
+
- Temper always runs after Clarify. Auto-apply the recommended mode, including
|
|
62
|
+
`expand` and extra acceptance; record the ADR and fold via Spec Drift Guard.
|
|
63
|
+
Irreversible-risk still pauses.
|
|
64
|
+
- Vet every plan. Cross-model is off unless the current invocation arms it.
|
|
65
|
+
|
|
66
|
+
## Workflow
|
|
67
|
+
|
|
68
|
+
1. **Orient and parse.** Resolve the explicit or active slug; when a workspace exists,
|
|
69
|
+
require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
|
|
70
|
+
Before honoring `blocked` with terminal `next_action`,
|
|
71
|
+
reconcile retained consumptive evidence and fingerprint attempts from
|
|
72
|
+
`drift.md`/`evidence.md`; a retained fingerprint below its cap resumes offline
|
|
73
|
+
recovery.
|
|
74
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"lifecycle cursor encounters admitted set or resumable journal","action":"invoke classifier; execute returned route internally","return":"saved phase/action; zero intermediate reply"} -->
|
|
75
|
+
Reconstruct a missing return cursor only from
|
|
76
|
+
the current phase and exact approved action in `test-plan.md`/evidence, never
|
|
77
|
+
from chat. After compaction or a resumed session, read `.devrites/ACTIVE`, then
|
|
78
|
+
the `state.md` cursor, `questions.md`, `decisions.md`, and `test-plan.md`/`evidence.md`.
|
|
79
|
+
Normalize current arguments to idea, `ship_preflight: yes|no`,
|
|
80
|
+
`max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
|
|
81
|
+
and `cross_model: yes|no`.
|
|
82
|
+
**Completion:** normalized state is unambiguous and no sentinel or workspace file has been written.
|
|
83
|
+
2. **Specify and clarify.** Run `devrites-interview`, `/rite-spec`, and
|
|
84
|
+
`/rite-clarify` as one window. Partial/Missing material coverage never arms
|
|
85
|
+
AFK. **Completion:** `Decision coverage: CLEAR` is durable.
|
|
86
|
+
3. **Arm AFK once.** Apply the loop's
|
|
87
|
+
[one-write AFK contract](reference/loop.md#arm-afk-once): preserve valid
|
|
88
|
+
existing bytes or create the sentinel once (`allow_gates: [advisory, validating]`); never
|
|
89
|
+
rewrite it after Vet except to write or replace only `max_parallel: N` when
|
|
90
|
+
this invocation contains `--parallel N`. Preserve an existing sentinel
|
|
91
|
+
byte-for-byte otherwise. **Failing case:** leftover `max_parallel: 1` keeps
|
|
92
|
+
the run serial after `--parallel 5`.
|
|
93
|
+
**Completion:** a valid read-only AFK sentinel exists.
|
|
94
|
+
4. **Drive phases.** Follow [the loop](reference/loop.md): `/rite-spec` →
|
|
95
|
+
`/rite-clarify` → `/rite-temper` → `/rite-define` → `/rite-vet` →
|
|
96
|
+
`/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
|
|
97
|
+
`/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
|
|
98
|
+
chat, carry state. Apply the mutable post-vet budget before first Build.
|
|
99
|
+
Build runs the largest eligible path-disjoint batch (cap: this invocation's
|
|
100
|
+
`--parallel N`, else sentinel `max_parallel`, else 10) and recomputes after
|
|
101
|
+
every completed round until no pending slice remains; a one-slice round is serial for that round only, then
|
|
102
|
+
selection runs again (host isolation still forces serial when concurrent writers
|
|
103
|
+
cannot be separated). When `--parallel N`
|
|
104
|
+
is present, pass it into `/rite-build` and do not consult leftover sentinel
|
|
105
|
+
`max_parallel`.
|
|
106
|
+
**Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
|
|
107
|
+
5. **Apply stops.** At every gate use
|
|
108
|
+
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
109
|
+
route agent-owned red results through bounded recovery.
|
|
110
|
+
Red gates block forward advancement and enter caller-owned recovery. Stop on
|
|
111
|
+
hard risk, escalating, irreversible-risk, access, blocking with no
|
|
112
|
+
recommended option, remaining NO-GO, or the exact fingerprint's proven
|
|
113
|
+
exhaustion. An open blocking question that already names a ranked recommended
|
|
114
|
+
option (`proposed` or option 1 labelled Recommended) auto-resolves through
|
|
115
|
+
`devrites-engine state resolve` and continues; do not emit `/rite-resolve` as
|
|
116
|
+
a user handoff. Technical exhaustion records terminal
|
|
117
|
+
`Next step: none`, never a routine phase command. **Completion:** no stop is active, or its cursor and reason are durable.
|
|
118
|
+
6. **Seal boundary.** Without a ship flag, stop at Seal GO with `/rite-ship` —
|
|
119
|
+
unless `continue_sequence` is armed and sequence budget remains, in which case
|
|
120
|
+
leave the sealed workspace unshipped and open the next recorded continuation
|
|
121
|
+
([loop.md § Sequence continuation](reference/loop.md#sequence-continuation));
|
|
122
|
+
report the sequence position on every stop.
|
|
123
|
+
With a ship flag, perform Ship preflight, disclose the exact Git plan, and stop for
|
|
124
|
+
fresh literal `GO` plus native approval. **Completion:** performed no Git action before fresh literal `GO` plus native approval.
|
|
125
|
+
|
|
126
|
+
## Reply and resume
|
|
127
|
+
|
|
128
|
+
HITL Build returns after one slice; Autocomplete ignores `--max-slices` and
|
|
129
|
+
keeps chaining pending slices. One Autocomplete invocation owns all internal
|
|
130
|
+
backtracking. Context pressure, compaction, or a nested completion footer does
|
|
131
|
+
not create a stop; persist and resume the cursor.
|
|
132
|
+
|
|
133
|
+
Use one terse line:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
Autocomplete: <slug>
|
|
137
|
+
spec <done|stopped> · clarify <clear|stopped> · temper <done|stopped> · define <done|stopped> · vet <ready|stopped> · build <n/N|stopped> · prove <done|stopped> · polish <done|stopped> · review <done|stopped> · seal <GO|NO-GO|stopped>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Final state is `Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`; do not
|
|
141
|
+
write a narrative recap. Require a clean or accepted baseline, land a local
|
|
142
|
+
unpushed checkpoint after each green check, and never auto-pass a red gate.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Decision policy: how autocomplete "chooses the best option"
|
|
2
|
+
|
|
3
|
+
Unattended ≠ careless. Every discretionary choice is made the way a senior engineer
|
|
4
|
+
would, then **recorded** so the seal can audit it. The difference from interactive mode
|
|
5
|
+
is only *who answers* a discretionary question, not whether it's reasoned.
|
|
6
|
+
|
|
7
|
+
Authority: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
8
|
+
|
|
9
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
10
|
+
- `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
|
|
11
|
+
- `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
|
|
12
|
+
- `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
|
|
13
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
14
|
+
|
|
15
|
+
## The rule
|
|
16
|
+
|
|
17
|
+
For each non-trivial choice, pick the option the **relevant specialist favours**, and
|
|
18
|
+
write the choice + the one-line rationale to `decisions.md`. Do not coin-flip, and do
|
|
19
|
+
not pick the option that's merely easiest to implement.
|
|
20
|
+
|
|
21
|
+
| Choice type | Defer to | Then |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| Uncertain framework / library behaviour | `devrites-source-driven` (check the docs/source) | record the source in `evidence.md` |
|
|
24
|
+
| Risky boundary / data-model / API decision | `devrites-doubt` (+ `devrites-doubt-reviewer`) | record the trade-off in `decisions.md` |
|
|
25
|
+
| Cross-boundary contract (FE/BE split, API shape) | `devrites-api-interface` | contract-first slice |
|
|
26
|
+
| UI surface / states / a11y | `devrites-frontend-craft` | shape before code |
|
|
27
|
+
| Two reasonable designs, no clear winner | the simpler one that meets acceptance | note why in `decisions.md` |
|
|
28
|
+
|
|
29
|
+
## Defaults autocomplete may assume (record them)
|
|
30
|
+
|
|
31
|
+
- Follow the project's existing conventions, components, and test commands: always.
|
|
32
|
+
- Prefer the smallest vertical slice that proves the acceptance criterion.
|
|
33
|
+
- Reuse → extend → build new, in that order ([`coding-style.md`](../../devrites-lib/reference/standards/coding-style.md)).
|
|
34
|
+
- When two options are equivalent on the evidence, choose the lower-risk / more
|
|
35
|
+
reversible one.
|
|
36
|
+
|
|
37
|
+
## When a choice is NOT autocomplete's to make
|
|
38
|
+
|
|
39
|
+
Irreversible-risk, escalating, access, and blocking questions with no ranked
|
|
40
|
+
recommended option stay human. A blocking question that already names option 1
|
|
41
|
+
`(Recommended)` or `proposed:` is autocomplete's to resolve: pick that option
|
|
42
|
+
via `devrites-engine state resolve` and continue. Recommended temper `expand`
|
|
43
|
+
auto-applies; do not invent product intent.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# The autocomplete loop: arm AFK, drive every phase
|
|
2
|
+
|
|
3
|
+
Autocomplete sequences existing `/rite-*` workflows without pausing between
|
|
4
|
+
routine phases. Acceptance-preserving Reslice authority is
|
|
5
|
+
`.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
6
|
+
|
|
7
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
8
|
+
- `FOLD` → keep Plan repair/affected Vet internal; no stop solely for topology/count.
|
|
9
|
+
- `GUARD_AND_REPAIR` → enter Spec Drift Guard/Clarify; pause only at an existing human-owned gate; resume Plan/Vet internally.
|
|
10
|
+
- `BLOCKED_INPUT` → no planning writes; stop internal branch; exact diagnostic; recover authority; reclassify.
|
|
11
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
12
|
+
|
|
13
|
+
## Arm AFK once
|
|
14
|
+
|
|
15
|
+
```yaml
|
|
16
|
+
allow_gates: [advisory, validating]
|
|
17
|
+
# max_slices / max_agents / max_minutes / max_review_queue omitted: unlimited
|
|
18
|
+
# continue_sequence: true # opt-in: chain recorded continuations after Seal GO
|
|
19
|
+
# max_workspaces: 5 # sequence budget when chaining
|
|
20
|
+
# max_parallel: 10 # default cap when this invocation omits `--parallel N`; `--parallel N` wins and rewrites only this field
|
|
21
|
+
# max_tokens: <N>
|
|
22
|
+
# max_cost_usd: <amount>
|
|
23
|
+
# notify: "<cmd>"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Read an existing sentinel first. Preserve it byte-for-byte when valid, except
|
|
27
|
+
when this invocation contains `--parallel N`: then write or replace only
|
|
28
|
+
`max_parallel: N` and leave every other key unchanged. Stop if the sentinel is
|
|
29
|
+
malformed. Do not stop because it names `max_slices` / `max_agents` /
|
|
30
|
+
`max_minutes` / `max_review_queue` or only `[advisory]`. If absent, write it
|
|
31
|
+
once after clarity, and include `max_parallel: N` when that flag is present.
|
|
32
|
+
Never write `max_slices` from `--max-slices`. It is otherwise read-only: never rewrite it after Vet or reset it on resume. Leftover `expires_at` is ignored
|
|
33
|
+
and never rewritten. **Failing case:** leftover `max_parallel: 1` keeps the run
|
|
34
|
+
serial after `--parallel 5`.
|
|
35
|
+
|
|
36
|
+
### Derive the mutable post-vet budget
|
|
37
|
+
|
|
38
|
+
After Vet, seed `afk_slices_remaining` from the pending count so every pending
|
|
39
|
+
slice can run. Ignore `--max-slices`, sentinel `max_slices`, and leftover
|
|
40
|
+
remaining. AFK configuration itself stays unchanged.
|
|
41
|
+
|
|
42
|
+
### Admit each unattended cycle
|
|
43
|
+
|
|
44
|
+
Before every phase, review fan-out, recovery, or writer dispatch: cheapest
|
|
45
|
+
readiness check first; reject overlap. Do not stop on `max_agents`,
|
|
46
|
+
`max_minutes`, or `max_review_queue`. Count every leaf result. A new activation
|
|
47
|
+
gets fresh activation-local counters but retains durable slice/recovery state.
|
|
48
|
+
|
|
49
|
+
When driving `/rite-build`, ignore afk-discipline remaining-0, `--max-slices`,
|
|
50
|
+
and parallel AFK headroom as stop conditions. Pass this invocation's
|
|
51
|
+
`--parallel N` into `/rite-build` when present; leftover sentinel
|
|
52
|
+
`max_parallel` is then not the cap. Close validating questions and blocking questions
|
|
53
|
+
that already name a ranked recommended option (recommended pick via
|
|
54
|
+
`devrites-engine state resolve`) instead of queuing them or handing
|
|
55
|
+
`/rite-resolve` to the user. Escalating, irreversible-risk, access, and
|
|
56
|
+
blocking with no recommended option still pause.
|
|
57
|
+
|
|
58
|
+
## Phase arc
|
|
59
|
+
|
|
60
|
+
Workspace files carry state; chat does not. Read and execute each phase skill:
|
|
61
|
+
|
|
62
|
+
| Step | Phase | Completion / edge |
|
|
63
|
+
| --- | --- | --- |
|
|
64
|
+
| 1 | `/rite-spec` | investigate and write testable intent |
|
|
65
|
+
| 2 | `/rite-clarify` | topology-first scan; require `Decision coverage: CLEAR`, then arm AFK |
|
|
66
|
+
| 3 | `/rite-temper` | harden, reduce, or expand; irreversible risk still pauses |
|
|
67
|
+
| 4 | `/rite-define` | approved plan/tasks/traceability |
|
|
68
|
+
| 5 | `/rite-vet` | every plan; derive mutable budget after READY |
|
|
69
|
+
| 6 | `/rite-build` batch loop | largest eligible path-disjoint set (cap: this invocation's `--parallel N`, else sentinel `max_parallel`, else 10; one-slice round when <2 eligible); recompute after each round; charge once per green built slice |
|
|
70
|
+
| 7 | `/rite-prove` | all slices built; approved proof; recovery on red |
|
|
71
|
+
| 8 | `/rite-polish` | re-prove after code edits |
|
|
72
|
+
| 9 | `/rite-review` | in-scope correction then fresh proof |
|
|
73
|
+
| 10 | `/rite-seal` | GO/NO-GO; no Git |
|
|
74
|
+
| 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
|
|
75
|
+
|
|
76
|
+
Before advancing, check
|
|
77
|
+
[stop-conditions.md](stop-conditions.md). After source edits, discard stale pass
|
|
78
|
+
evidence. Re-read the active workspace before each phase.
|
|
79
|
+
|
|
80
|
+
## Sequence continuation
|
|
81
|
+
|
|
82
|
+
With `continue_sequence: true` and sequence budget remaining
|
|
83
|
+
([sentinel](../../devrites-lib/reference/standards/afk-hitl.md#sequence-continuation-continue_sequence-max_workspaces)),
|
|
84
|
+
step 10 does not end the run: leave the sealed workspace unshipped with its
|
|
85
|
+
`Next step: /rite-ship`, then invoke the next recorded continuation
|
|
86
|
+
(`/rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
|
|
87
|
+
and re-enter step 1. Spend one workspace per opened continuation.
|
|
88
|
+
|
|
89
|
+
Spend accounting is durable in `state.md` cursors, not chat. Before invoking the
|
|
90
|
+
continuation, ensure the current workspace's `sequence_workspaces_remaining` is
|
|
91
|
+
set — absent, write `max_workspaces - 1` and `sequence_position: 1` first — and
|
|
92
|
+
`> 0`. `/rite-spec` seeds the child's sequence cursor at creation per the
|
|
93
|
+
[continuation contract](../../rite-plan/reference/slicing.md#continuation-workspaces);
|
|
94
|
+
after the child's `state.md` exists, verify it — `sequence_parent` = the current
|
|
95
|
+
slug, `sequence_position` = parent position + 1,
|
|
96
|
+
`sequence_workspaces_remaining` = parent remaining − 1, and — when the recorded
|
|
97
|
+
entry is the sequence's release milestone — `sequence_role: release` (gates then
|
|
98
|
+
require the union manifest). On resume, a child whose
|
|
99
|
+
fields are missing is re-seeded from its `brief.md` parent/position and the
|
|
100
|
+
parent's counter (same values, never a second charge); a child with no recorded
|
|
101
|
+
parent/position is not a sequence member and the chain stops.
|
|
102
|
+
|
|
103
|
+
Stop instead when: no recorded next entry; the cap or review-queue bound is
|
|
104
|
+
reached; a human-owned, safety, access, or exhaustion condition fires; or Seal returns
|
|
105
|
+
`NO-GO`. On stop, report the sequence position, the sealed-but-unshipped workspaces, and
|
|
106
|
+
the single release command (`/rite-autocomplete <release milestone> --ship`, or
|
|
107
|
+
`/rite-ship` for the current sealed workspace when the sequence is complete).
|
|
108
|
+
|
|
109
|
+
## Backtrack without handing off
|
|
110
|
+
|
|
111
|
+
The active Autocomplete root remains caller whenever a later phase exposes an
|
|
112
|
+
agent-owned earlier-phase gap:
|
|
113
|
+
|
|
114
|
+
1. Save the originating phase/action unless a valid native return cursor exists.
|
|
115
|
+
2. On cold resume, reconcile the terminal cursor against durable fingerprint
|
|
116
|
+
accounting. Restore `return_next_action` only from the approved
|
|
117
|
+
`test-plan.md`/evidence action; ambiguity returns to Vet and never licenses
|
|
118
|
+
execution.
|
|
119
|
+
3. Invoke required Plan repair, affected Vet, remediation, and proof inline.
|
|
120
|
+
Recovery Vet is a narrow Vet recheck of prior findings, changed paths/criteria,
|
|
121
|
+
and affected evidence; it never restarts unaffected axes. A nested `STOP`
|
|
122
|
+
ends that phase only; do not hand the intermediate command to the user.
|
|
123
|
+
4. Re-read state after each nested phase. Reconcile exact causal fingerprints
|
|
124
|
+
from `drift.md`/`evidence.md`. A closed reproduction is progress. A different
|
|
125
|
+
Critical/Important invariant gets a separate budget; Suggestion/Nit/FYI does
|
|
126
|
+
not prolong the chain. Only a no-progress result charges the same fingerprint.
|
|
127
|
+
5. For failed consumptive action, spent authorization blocks only another real
|
|
128
|
+
execution. Use retained evidence for offline diagnosis, repair, and narrow
|
|
129
|
+
Vet; after READY, pause for fresh authorization.
|
|
130
|
+
6. Restore and consume the original cursor when prerequisites are green.
|
|
131
|
+
|
|
132
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"loop tick sees Workflow Artifact trigger/state","action":"invoke classifier once under owner lock; no actor-history migration","return":"same loop cursor; no budget charge for verify/rerun"} -->
|
|
133
|
+
Ask only for a human-owned decision or mandatory safety/access action. An open
|
|
134
|
+
blocking question with `proposed` or option 1 labelled Recommended is not that
|
|
135
|
+
decision: resolve it and continue. Three no-progress corrections of one exact
|
|
136
|
+
fingerprint exhaust; preserve its reproduction and dead ends without another
|
|
137
|
+
Plan/Vet command.
|
|
138
|
+
|
|
139
|
+
## Continuous caller obligation
|
|
140
|
+
|
|
141
|
+
No user-facing reply is permitted while durable state contains agent-owned
|
|
142
|
+
`NEEDS_REPLAN`, an intermediate Plan/Vet action, a distinct retained
|
|
143
|
+
Critical/Important fingerprint below its cap, or an open blocking question that
|
|
144
|
+
already names a ranked recommended option. Invoke the next internal repair or
|
|
145
|
+
`devrites-engine state resolve` immediately. A narrow reviewer closing one finding and exposing another
|
|
146
|
+
Critical/Important invariant is progress, not exhaustion.
|
|
147
|
+
|
|
148
|
+
The number of completed repair/Vet cycles is not a stop condition. Context
|
|
149
|
+
pressure, compaction, session duration, and nested completion do not convert an
|
|
150
|
+
internal checkpoint into a handoff. Persist it and resume until the requested
|
|
151
|
+
rest point or a shared human/safety/access/exhaustion condition.
|