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,90 @@
|
|
|
1
|
+
# `strategy.md` template + fold-back rules
|
|
2
|
+
|
|
3
|
+
`/rite-temper` produces two kinds of output. The `strategy.md` artifact is the durable
|
|
4
|
+
**record** of the review; the **fold-back edits** are what the build follows. The
|
|
5
|
+
record without the fold-back is dead prose: the build reads `spec.md`, not `strategy.md`.
|
|
6
|
+
|
|
7
|
+
## `strategy.md`: the record
|
|
8
|
+
Write to `.devrites/work/<slug>/strategy.md`. If one exists for the slug, **update** it, don't
|
|
9
|
+
clobber.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Strategy: <slug>
|
|
13
|
+
Tempered: <iso>
|
|
14
|
+
|
|
15
|
+
## 1. Significance
|
|
16
|
+
full | skipped — low stakes (<trigger>) # if skipped, stop here (see significance.md)
|
|
17
|
+
|
|
18
|
+
## 2. Scope mode
|
|
19
|
+
Mode: expand | selective | hold-rigor | reduce-to-MVP
|
|
20
|
+
Rationale: <why this mode>
|
|
21
|
+
Hinge: <what evidence/answer would change the call>
|
|
22
|
+
|
|
23
|
+
## 3. Forward pass (ambition)
|
|
24
|
+
10-star outcome (the deliberate overshoot): <one or two lines>
|
|
25
|
+
Premises challenged: <load-bearing assumption(s) + verdict>
|
|
26
|
+
Converged sweet spot: <where we landed and why — this, not the overshoot, is what folds in>
|
|
27
|
+
|
|
28
|
+
## 4. Pre-mortem (inversion)
|
|
29
|
+
| Failure mode (past tense) | Likelihood | Mitigation | Owning slice/criterion |
|
|
30
|
+
|---|---|---|---|
|
|
31
|
+
| It shipped and <…> | high/med/low | <mitigation> | <slice or FR it binds to> |
|
|
32
|
+
|
|
33
|
+
## 5. YAGNI ledger
|
|
34
|
+
| Candidate scope item | later-refactor cost | Verdict |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| <item> | trivial / large | build-now / defer (revisit: <trigger>) |
|
|
37
|
+
|
|
38
|
+
## 6. Cross-cutting coverage
|
|
39
|
+
| Concern | Addressed? |
|
|
40
|
+
|---|---|
|
|
41
|
+
| Security / trust boundary | <how | N/A — why> |
|
|
42
|
+
| Data & migration | <… | N/A> |
|
|
43
|
+
| Observability | <… | N/A> |
|
|
44
|
+
| Modifiability | <… | N/A> |
|
|
45
|
+
|
|
46
|
+
## 7. Dimension scores (floor-gate)
|
|
47
|
+
| Dimension | Band | Evidence |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| Problem altitude & ambition | strong/adequate/thin/broken | <spec line / absence> |
|
|
50
|
+
| … (all 9) | … | … |
|
|
51
|
+
Floor verdict: <weakest band> on <dimension> → pass | blocked
|
|
52
|
+
|
|
53
|
+
## 8. Deferred / Won't-have-this-time
|
|
54
|
+
- <item> — <one-line reason> (revisit when: <trigger>)
|
|
55
|
+
|
|
56
|
+
## 9. Reviewer loop
|
|
57
|
+
- iter 1: <findings → resolution> · iter 2: … (≤3)
|
|
58
|
+
- Final: floor = <band>; unresolved → <none | blocking qid>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Fold-back: the part the build follows
|
|
62
|
+
Apply through the **Spec Drift Guard** (these are spec changes, not free edits). If a plan
|
|
63
|
+
already exists, record in `drift.md` and route via `/rite-plan repair` instead of editing
|
|
64
|
+
`spec.md` blind.
|
|
65
|
+
|
|
66
|
+
- **`spec.md`:** these are the spec template's actual section headings. Edit each named one;
|
|
67
|
+
don't collapse pairs.
|
|
68
|
+
- Add to *Success metrics* **and** *Acceptance criteria* (separate sections) for
|
|
69
|
+
every opt-in **expansion**; remove (via the Guard) from both for every **reduction**. Each
|
|
70
|
+
must stay measurable + technology-agnostic.
|
|
71
|
+
- *Non-goals*: append every deferred item (from the YAGNI ledger + the Deferred register), so
|
|
72
|
+
it is neither silently dropped nor silently re-injected mid-build.
|
|
73
|
+
- *Constraints and invariants*: tighten where the pre-mortem demands; top failure modes +
|
|
74
|
+
mitigations go to *Failure and recovery behavior* rows.
|
|
75
|
+
- *Open questions* table: one row per scope call (options offered → decision → owner).
|
|
76
|
+
- **Re-run the Readiness gate** at the bottom of the spec after edits; it must still pass, and
|
|
77
|
+
**every folded scope delta must trace to a recorded decision** (a `questions.md` qid or a
|
|
78
|
+
`decisions.md` ADR): an untraceable change is the batch-dump failure.
|
|
79
|
+
- **`decisions.md`:** one ADR-style entry per scope call and accepted trade-off:
|
|
80
|
+
`context · decision · why-not-the-alternative · what-would-change-it`.
|
|
81
|
+
- **`assumptions.md`:** every "we'll probably need X" demoted to an explicit
|
|
82
|
+
**assumption-to-verify**, never smuggled into scope as a fact.
|
|
83
|
+
|
|
84
|
+
## Write discipline
|
|
85
|
+
- **Single canonical writer.** The skill writes `strategy.md` and edits the canonical files; the
|
|
86
|
+
`devrites-strategy-reviewer` agent is **read-only** and only returns findings + bands.
|
|
87
|
+
- **No silent scope.** An expansion that the human didn't opt into, or a reduction that drops an
|
|
88
|
+
acceptance criterion without a recorded decision, is a defect, not a convenience.
|
|
89
|
+
- Add `strategy.md` to the workspace between `spec.md` and `plan.md`; `/rite-define` and
|
|
90
|
+
`/rite-ship` read it.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-upgrade
|
|
3
|
+
description: Audit and reconcile an older released DevRites workspace. Proves a current-contract defect, then routes its phase owner while preserving completed work and history.
|
|
4
|
+
argument-hint: "[feature-slug]"
|
|
5
|
+
triggers:
|
|
6
|
+
- user
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /rite-upgrade: reconcile a released workspace safely
|
|
10
|
+
|
|
11
|
+
Use when an unfinished workspace from an older release cannot resume. This is an
|
|
12
|
+
audit/orchestrator—not a pack update, cursor conversion, release replay,
|
|
13
|
+
structural migration, or generic cleanup.
|
|
14
|
+
|
|
15
|
+
## Rules consulted
|
|
16
|
+
|
|
17
|
+
Read [`core.md`](../devrites-lib/reference/standards/core.md), its agent and workspace-schema
|
|
18
|
+
references, and only current phase contracts needed for the observed gap.
|
|
19
|
+
|
|
20
|
+
## Invariants
|
|
21
|
+
|
|
22
|
+
- Upgrade writes no workspace artifact and never edits source, tests, dependencies,
|
|
23
|
+
or Git. It observes, admits, invokes current owners, and re-audits only.
|
|
24
|
+
- Recognize only released workspace forms: `.devrites/work/<slug>/state.md` with v1/v2
|
|
25
|
+
bullet fields (`- Phase:`, `- Next step:`, optional `- qid:`) or the v3 cursor table.
|
|
26
|
+
Preserve its encoding; only its owning rite may change fields. Never create aliases,
|
|
27
|
+
journals, telemetry, version markers, or an engine migrator.
|
|
28
|
+
- Older provenance, cursor form, or pack version alone is never a defect. A repair requires
|
|
29
|
+
a current rule, exact workspace evidence, affected gate, owning rite, exact paths, and
|
|
30
|
+
the smallest behavior-neutral delta.
|
|
31
|
+
- Existing rites own semantic changes. Upgrade may sequence `/rite-clarify`,
|
|
32
|
+
`/rite-plan repair|revise|course-correct`, `/rite-converge`, `/rite-vet`, `/rite-prove`, `/rite-polish`,
|
|
33
|
+
`/rite-review`, and `/rite-seal`; it never reimplements them or starts Build or Ship.
|
|
34
|
+
`/rite-doctor` owns install/config diagnosis.
|
|
35
|
+
- An admitted candidate route may name only the exact current gate artifacts its owner
|
|
36
|
+
must refresh: `touched-files.md`, `evidence.md`, optional `browser-evidence.md`,
|
|
37
|
+
`polish-report.md`, `review.md`, `seal.md`, and the owner's `state.md` fields as
|
|
38
|
+
applicable. Source, completed-slice identities, answers, decisions, and unrelated
|
|
39
|
+
history remain protected. Each owner preserves unrelated content and normal gates.
|
|
40
|
+
- Archived/`done` workspaces are no-ops. Unknown or unverifiable inputs stop without
|
|
41
|
+
writes. There is no legacy fallback: never synthesize or guess scope, bytes, proof,
|
|
42
|
+
freshness, or a historical pass.
|
|
43
|
+
- The explicit invocation authorizes only admitted, behavior-neutral workspace repairs.
|
|
44
|
+
Product/policy choices, acceptance changes, irreversible risk, and human-only actions
|
|
45
|
+
remain HITL.
|
|
46
|
+
|
|
47
|
+
## Workflow
|
|
48
|
+
|
|
49
|
+
0. **Orient read-only.** Apply `/rite-doctor`. Resolve the explicit or active slug.
|
|
50
|
+
Archive-only is `current`; otherwise require contained regular `state.md` and read its
|
|
51
|
+
cursor. A damaged/mismatched install stops at Doctor; missing live work routes
|
|
52
|
+
`/rite-spec`; `done` is `current`. An unknown cursor is `unsupported`.
|
|
53
|
+
1. **Freeze preservation evidence.** Record `git status --short`, cursor form/fields,
|
|
54
|
+
`devrites-engine orient <slug>` (cursor, `task_graph`, `artifact_budgets`,
|
|
55
|
+
`bulk_files`), and
|
|
56
|
+
hashes of completed-slice fields, candidate gate artifacts, existing answers/decisions,
|
|
57
|
+
and protected history. Inventory every path that could change; absence is evidence,
|
|
58
|
+
never permission to synthesize history. For a post-Build workspace, also retain the
|
|
59
|
+
exact result of `devrites-engine check candidate <slug>`; at or after Seal retain the
|
|
60
|
+
exact result of `devrites-engine check seal <slug>`.
|
|
61
|
+
2. **Assess from fresh context.** Dispatch exact `devrites-upgrade-planner` with the named
|
|
62
|
+
installed contracts, workspace paths, cursor form, current phase, and frozen baseline.
|
|
63
|
+
Require one read-only typed assessment. It writes and asks nothing.
|
|
64
|
+
3. **Admit the assessment fail closed.** Accept `current` only when every applicable axis has
|
|
65
|
+
cited evidence and no finding. Accept `repairable` only when every finding names the
|
|
66
|
+
current rule, exact workspace evidence, affected gate, owning rite, exact writable paths,
|
|
67
|
+
minimal delta, and protected invariants. Missing fields become `gap`.
|
|
68
|
+
Unsupported shapes remain untouched. Reject version-only, speculative, alias-creating,
|
|
69
|
+
source-changing, history-changing, or acceptance-changing advice.
|
|
70
|
+
4. **Route; do not duplicate.** For `repairable`, invoke only the admitted current owners,
|
|
71
|
+
one at a time:
|
|
72
|
+
- decision coverage or a material assumption → `/rite-clarify`;
|
|
73
|
+
- stale/inconsistent planning or traceability with settled intent → `/rite-plan repair`;
|
|
74
|
+
- over-budget `state.md` or planning artifacts carrying checkpoint narrative, or
|
|
75
|
+
packets/traces in the workspace root → `/rite-plan revise` (verbatim relocation to
|
|
76
|
+
`history/` / `packets/`, current view only; IDs, meaning, answers and decisions
|
|
77
|
+
unchanged; nothing deleted);
|
|
78
|
+
- unbuilt slices beyond the [feature ceiling](../rite-plan/reference/slicing.md#feature-ceiling-split-an-epic-never-override-the-budget)
|
|
79
|
+
→ `/rite-plan course-correct` (`MVP cut` plus the named continuation sequence;
|
|
80
|
+
built slices and their evidence stay);
|
|
81
|
+
- live code and recorded intent disagreement → `/rite-converge`;
|
|
82
|
+
- any changed planning input or readiness defect → `/rite-vet`;
|
|
83
|
+
- a missing/malformed strict manifest, missing/malformed/mismatched evidence binding,
|
|
84
|
+
a browser-binding defect when that file exists, or current candidate-check failure
|
|
85
|
+
→ `/rite-prove`;
|
|
86
|
+
- candidate-affecting capability-ledger, `DESIGN.md`, or ADR rollups still deferred by
|
|
87
|
+
an old Ship-era workspace → `/rite-polish`;
|
|
88
|
+
- a missing, stale, or mismatched review binding → `/rite-review`;
|
|
89
|
+
- a missing, stale, or mismatched seal binding or failed Seal gate → `/rite-seal`.
|
|
90
|
+
|
|
91
|
+
Sequence only applicable owners; candidate owners stay in the Prove → Polish → Review
|
|
92
|
+
→ Seal order above. Each owner keeps normal gates/write limits. Stop on HITL/blocked.
|
|
93
|
+
Never infer `/rite-customize --import-legacy`; that mode requires the exact token in the
|
|
94
|
+
user's current invocation.
|
|
95
|
+
5. **Re-audit and prove preservation.** Re-dispatch the planner once against the changed
|
|
96
|
+
candidate. `gap`, `unsupported`, or a remaining finding stops. Compare the frozen hashes
|
|
97
|
+
and Git status; only admitted paths may differ. Cursor changes must match the owning
|
|
98
|
+
rite while preserving form. Any unadmitted, protected, or source change is a gap and
|
|
99
|
+
stops; Upgrade never restores it itself.
|
|
100
|
+
For a post-Build workspace, run `devrites-engine check candidate <slug>` and require
|
|
101
|
+
the assessed bindings to match it. At or after Seal, also run
|
|
102
|
+
`devrites-engine check seal <slug>`. Run readiness where applicable:
|
|
103
|
+
```bash
|
|
104
|
+
devrites-engine check readiness <slug>; echo "readiness rc=$?"
|
|
105
|
+
```
|
|
106
|
+
Any nonzero result or mismatch remains a `gap` and stops.
|
|
107
|
+
6. **STOP.** Do not advance to Build or Ship. A repeated `/rite-upgrade` is a no-op only
|
|
108
|
+
when the fresh assessment independently returns `current`; no marker may manufacture
|
|
109
|
+
that result.
|
|
110
|
+
|
|
111
|
+
## Output
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
Done: workspace <slug> compatibility <current | reconciled>.
|
|
115
|
+
Changed: <admitted active-workspace paths | none>
|
|
116
|
+
Evidence: assessment=current; candidate rc=<n|n/a>; seal rc=<n|n/a>; readiness rc=<n|n/a>; protected history/source unchanged
|
|
117
|
+
Open: <none | exact unsupported shape, evidence gap, or human gate>
|
|
118
|
+
Next: <state.md next action | one owning rite>
|
|
119
|
+
Record: <owning rite's state.md — written by the owner, not Upgrade>
|
|
120
|
+
↻ Hygiene: /clear before the next lifecycle step
|
|
121
|
+
```
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-vet
|
|
3
|
+
description: Review a defined engineering plan before code. Use for plan vetting or lock-in; not for implementation review or final readiness sealing.
|
|
4
|
+
argument-hint: "[slug] [--cross-model] [--full]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /rite-vet: review the plan before build
|
|
8
|
+
|
|
9
|
+
Vet every plan's scope, architecture, quality, proof, performance, failures and writer
|
|
10
|
+
safety. Fold cited technical findings; design Build tests. Temper owns product;
|
|
11
|
+
Vet owns implementation; current `$ARGUMENTS` (`--full`) feeds the depth triggers in
|
|
12
|
+
`reference/depth.md`; profiles never remove the exact plan-reviewer gate
|
|
13
|
+
([orchestration-profiles.md](../devrites-lib/reference/orchestration-profiles.md)).
|
|
14
|
+
|
|
15
|
+
## Rules
|
|
16
|
+
|
|
17
|
+
Read the active standard from: [`principles.md`](../devrites-lib/reference/standards/principles.md), [`patterns.md`](../devrites-lib/reference/standards/patterns.md), [`coding-style.md`](../devrites-lib/reference/standards/coding-style.md),
|
|
18
|
+
[`testing.md`](../devrites-lib/reference/standards/testing.md), [`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md), [`performance.md`](../devrites-lib/reference/standards/performance.md), [`error-handling.md`](../devrites-lib/reference/standards/error-handling.md),
|
|
19
|
+
[`development-workflow.md`](../devrites-lib/reference/standards/development-workflow.md), [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md), [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md),
|
|
20
|
+
[`developer-experience.md`](../devrites-lib/reference/standards/developer-experience.md), [`elicitation.md`](../devrites-lib/reference/standards/elicitation.md), and [`definition-of-done.md`](../devrites-lib/reference/standards/definition-of-done.md). Load
|
|
21
|
+
repository topology, data integrity, and integration reliability only when
|
|
22
|
+
triggered. Before classifying any Reslice, read `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
23
|
+
When a
|
|
24
|
+
plan declares a root-authored executable workflow file, read
|
|
25
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md).
|
|
26
|
+
|
|
27
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
28
|
+
- `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
|
|
29
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
|
|
30
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
31
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
32
|
+
|
|
33
|
+
## Invariants
|
|
34
|
+
|
|
35
|
+
- Review implementation, not ambition. Challenge creep, complexity, proof, and
|
|
36
|
+
risk without changing accepted product scope.
|
|
37
|
+
- Root owns decisions/writes/readiness; reviewers judge without route policy.
|
|
38
|
+
Cite findings/confidence; suppress
|
|
39
|
+
unverified or confidence ≤4 findings under `review-axes.md`.
|
|
40
|
+
Lens arrows in `eng-lenses.md` are heuristics; band findings only under the
|
|
41
|
+
four `review-axes.md` names.
|
|
42
|
+
- Auth, migration, public API, and data-model changes use maximum caution and the
|
|
43
|
+
irreversible-risk stop. Project principles never become trade-offs.
|
|
44
|
+
- **Governance-protected paths** (`.devrites/**`, pack skill/agent trees,
|
|
45
|
+
`NOTICE.md` generator regions, CI/hook config named in repo docs) require explicit
|
|
46
|
+
human approval before plan slices may edit them. A slice touching a protected path
|
|
47
|
+
without approval → Vet **NEEDS CLARIFICATION**.
|
|
48
|
+
- Use the lowest axis band; never average or round thin to ready. Search before
|
|
49
|
+
asking and resolve reversible technical choices. Ask only human-owned choices.
|
|
50
|
+
- Preserve a valid technical return cursor. Agent-owned `NEEDS REPLAN` returns
|
|
51
|
+
internally to its caller, not to the human; on a direct invocation there is
|
|
52
|
+
no caller, so Vet becomes it — save a return cursor
|
|
53
|
+
(`return_phase`/`return_next_action`) naming this Vet pass as the caller and
|
|
54
|
+
invoke `/rite-plan` repair inline under the same fingerprint caps. An
|
|
55
|
+
agent-owned verdict with budget remaining is never a user-facing command.
|
|
56
|
+
- **Recovery recheck is bounded and batched.** A valid cursor plus open
|
|
57
|
+
fingerprints enters Recovery recheck; it does not start another Full Vet or
|
|
58
|
+
repeat unaffected axes/reviewers. One dispatch covers every open fingerprint
|
|
59
|
+
of the fold — each checked individually — with a mandatory correction-created
|
|
60
|
+
regression audit.
|
|
61
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"plan declares root-authored executable workflow file","action":"emit exact admission; stale/missing authority uses PLAN_VET_REPAIR","return":"Vet READY cursor or exact technical replan"} -->
|
|
62
|
+
## Workflow
|
|
63
|
+
|
|
64
|
+
0. **Orient.** Read core. Resolve active slug, require state, and read plan,
|
|
65
|
+
tasks, spec, decision coverage, optional strategy/design brief, decisions,
|
|
66
|
+
assumptions, and state. Require approved Plan and `Decision coverage: CLEAR`;
|
|
67
|
+
otherwise stop for Define or Clarify. Use code intelligence for placement,
|
|
68
|
+
blast radius, and reuse.
|
|
69
|
+
1. **Select depth.** Apply `reference/depth.md` exactly; never skip. Every initial
|
|
70
|
+
pass records an engineering verdict and test-plan coverage. A valid Recovery
|
|
71
|
+
recheck retains prior depth and enters 1b.
|
|
72
|
+
1a. **Independent initial pass.** Freeze candidate and dispatch the exact fresh
|
|
73
|
+
read-only plan reviewer — plus developer-experience reviewer for developer
|
|
74
|
+
surfaces and the current strategy reviewer after significant Temper — in
|
|
75
|
+
parallel under `../devrites-lib/reference/parallel-dispatch.md`; they are
|
|
76
|
+
independent read-only passes on one frozen candidate. Missing
|
|
77
|
+
required account blocks.
|
|
78
|
+
1b. **Recovery recheck.** Require valid return cursor, accepted prior finding,
|
|
79
|
+
exact fingerprint/reproduction, repaired candidate identity, changed
|
|
80
|
+
paths/criteria, affected drift/evidence, and the recorded delta self-check.
|
|
81
|
+
Freeze that packet and dispatch each exact owning reviewer once,
|
|
82
|
+
fresh/read-only, limited to it — all its open fingerprints in that dispatch.
|
|
83
|
+
Do not rerun broad inventory or unaffected reviewers. Close the prior
|
|
84
|
+
fingerprint only with discriminating evidence plus an explicit
|
|
85
|
+
correction-created regression verdict on the touched invariants (acyclic
|
|
86
|
+
deps, traceability, contract proof, sizing) and every region depending on a
|
|
87
|
+
changed clause — enumerate dependents via the dep graph and traceability
|
|
88
|
+
refs, not only patched sites. Otherwise record one no-progress outcome. A
|
|
89
|
+
different Critical/Important invariant needs exact evidence and a new
|
|
90
|
+
fingerprint; a Suggestion, Nit, or FYI cannot keep recovery open. Reviewer
|
|
91
|
+
`Late:` rows on unchanged clauses follow the canonical
|
|
92
|
+
[late-finding rule](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve):
|
|
93
|
+
Critical with a failure path → new fingerprint; otherwise `eng-review.md`
|
|
94
|
+
`## Deferred findings` (mechanism rows become one proof row at step 6). A packet
|
|
95
|
+
marked `convergence_pressure` accepts an explicit, bounded declared
|
|
96
|
+
residual/limitation folded into the contract text as closure for a finding
|
|
97
|
+
marked as a refinement of an already-pinned clause; the recheck may re-raise
|
|
98
|
+
it only by naming a concrete failure path the declaration omits. A
|
|
99
|
+
`new_failure_mode` finding is never residual-eligible. A fold whose
|
|
100
|
+
findings are all Suggestion-or-lower rechecks mechanically at the
|
|
101
|
+
materialization gate — anchors applied, mirrors consistent, invariants
|
|
102
|
+
pass — without a dispatched reviewer; sub-Important findings already
|
|
103
|
+
cannot keep recovery open. Reconcile
|
|
104
|
+
shared artifact/readiness gates, then enter step 8 or the next repair.
|
|
105
|
+
Do not fall through to steps 2–7. Retain evidenced unchanged coverage; changed
|
|
106
|
+
global contract/uncertain impact requires full applicable review. Reopen historical
|
|
107
|
+
findings only for affected invariants/dependencies.
|
|
108
|
+
2. **Challenge scope.** Apply review-axes §0 and search accepted decisions.
|
|
109
|
+
Harden to the smallest contract-complete plan, using marked topology action.
|
|
110
|
+
Then verify bidirectional ID-and-meaning traceability across spec/plan/
|
|
111
|
+
tasks/test-plan/traceability, acceptance, terms, principles, anti-slop,
|
|
112
|
+
and conventions; every slice and test-plan row maps to a live requirement
|
|
113
|
+
and vice versa. Critical gaps and
|
|
114
|
+
unexcepted principle breaches block; record the challenge result in `eng-review.md`
|
|
115
|
+
§2 (Scope challenge) after recheck.
|
|
116
|
+
3. **Preflight Build entry.** Under `reference/artifacts.md`, verify exact
|
|
117
|
+
command/cwd/tool/version/prerequisite; output filters must preserve upstream
|
|
118
|
+
failure. Verify dependencies from authoritative source plus nearest manifest.
|
|
119
|
+
Run parser-sensitive syntax only in isolated fixtures. Remeasure mutable facts;
|
|
120
|
+
live evidence wins, conflict marks stale, and unmeasurable conflict is a gap.
|
|
121
|
+
Record complete SHA-256 provenance. Every behavioral mapping names a positive
|
|
122
|
+
discriminating assertion and decisive signal, never only exit zero.
|
|
123
|
+
|
|
124
|
+
For each consumptive action, bind every `reference/artifacts.md` Consumptive
|
|
125
|
+
action gates column; every fingerprint identifies one actionable seam; aliasing multiple
|
|
126
|
+
emit sites is a gap. Preflight observes but need not make future behavior pass.
|
|
127
|
+
4. **Audit readiness.** Goal-backward map every requirement, criterion, NFR,
|
|
128
|
+
interaction, edge/prohibition, and decision row to one slice and executable
|
|
129
|
+
proof. Verify UX/spec/architecture alignment, contracts, dependency order,
|
|
130
|
+
slice independence/wiring, prerequisites, failure/observability/rollback, and
|
|
131
|
+
ownership. The plan's `Shared contract proof` names one reused boundary
|
|
132
|
+
artifact plus two consuming tests for every changed API/event/schema/provider-
|
|
133
|
+
consumer seam, or an explicit no-impact statement. Missing, one-sided,
|
|
134
|
+
duplicated-contract, vague, or non-consuming proof fails closed.
|
|
135
|
+
|
|
136
|
+
Technical gaps are `NEEDS REPLAN` and Plan repair — each finding marks
|
|
137
|
+
itself `new_failure_mode` or names the already-pinned clause/fingerprint
|
|
138
|
+
it refines, making alias-detection and `convergence_pressure` eligibility
|
|
139
|
+
mechanical — and carries `kind: contract | mechanism`
|
|
140
|
+
(`review-axes.md` § Finding kind). Only `contract` findings open a Plan
|
|
141
|
+
repair; a `mechanism` finding is closed by one `test-plan.md` proof row
|
|
142
|
+
at step 6 and leaves readiness intact when nothing else is open.
|
|
143
|
+
Product/risk gaps are
|
|
144
|
+
`NEEDS CLARIFICATION` and Clarify. Neither becomes a Build qid.
|
|
145
|
+
5. **Review axes.** Apply `review-axes.md` through `eng-lenses.md`. Fold verified
|
|
146
|
+
behavior-preserving technical findings; walk only human-owned decisions.
|
|
147
|
+
Profile gate ceiling and Reslice marked action remain authoritative.
|
|
148
|
+
6. **Write outputs.** Produce every artifact in `reference/artifacts.md`. After
|
|
149
|
+
editing intent/decision/assumption/question owners, re-scan affected coverage,
|
|
150
|
+
assumptions, uncertainty, and gates. Keep state non-READY. Every scenario and
|
|
151
|
+
criterion needs positive, discriminating proof; every slice must be one-pass
|
|
152
|
+
implementable; developer plans need a predicted scorecard. Durable commands
|
|
153
|
+
are portable repository commands, not host wrappers.
|
|
154
|
+
7. **Narrow recheck after edits.** Dispatch the exact plan reviewer once per
|
|
155
|
+
fold — one dispatch covering every open fingerprint, preserving
|
|
156
|
+
per correction/fingerprint accounting (each checked individually with its
|
|
157
|
+
accepted findings, changed paths/criteria, new identity, and recorded delta
|
|
158
|
+
self-check); it must return an explicit correction-created regression
|
|
159
|
+
verdict over touched invariants plus every dependent of each changed clause
|
|
160
|
+
(dep-graph and traceability lookup), not only fingerprint closure. Within one correction, no broad
|
|
161
|
+
third loop. If it changes plan, fold again. A closed input plus a distinct Critical/Important invariant returns
|
|
162
|
+
that new fingerprint as progress. Then close matrix and rerun ID/meaning audit.
|
|
163
|
+
8. **Build readback and readiness.** Add a cited five-line readback to
|
|
164
|
+
`eng-review.md` (artifacts.md §7 rows 1–5): outcome/ACs; IN/OUT/must-NOT; UI direction and architecture/
|
|
165
|
+
critical flow; slice order/first slice; decisive proof/action-time gates. No implementer should need to invent product, architecture, or proof.
|
|
166
|
+
Contradiction, ownerlessness, or material ambiguity blocks via Clarify or Plan.
|
|
167
|
+
|
|
168
|
+
Write exactly one `Implementation readiness: READY`, `NEEDS CLARIFICATION`,
|
|
169
|
+
or `NEEDS REPLAN`. Root sets READY after every account, checklist,
|
|
170
|
+
preflight, and sweep is green. Write phase/next step and emit one
|
|
171
|
+
`Readiness inputs SHA-256` with
|
|
172
|
+
`devrites-engine check readiness --emit-binding <slug>`; normal readiness check
|
|
173
|
+
must pass. Technical failure records reproduction, not qid. Human gap awaits
|
|
174
|
+
Clarify. Optional cross-model follows `reference/cross-model.md`.
|
|
175
|
+
|
|
176
|
+
With READY, no pending remediation, and a valid technical return cursor,
|
|
177
|
+
restore and consume the return cursor instead of defaulting to Build. Preserve
|
|
178
|
+
it through admitted remediation. Only a real stop reaches the human.
|
|
179
|
+
9. **Stop at the Vet boundary.** Show Build readback, scope verdict, lowest axis,
|
|
180
|
+
closed gaps, preflight, action checkpoints, and critical failures. Recommend
|
|
181
|
+
Build only when READY.
|
|
182
|
+
|
|
183
|
+
> Do not replace interactive review with artifacts, change acceptance through
|
|
184
|
+
> hardening, score without source evidence, or ignore unexplained complexity.
|
|
185
|
+
|
|
186
|
+
## Phase exit
|
|
187
|
+
|
|
188
|
+
**Complete when:** `eng-review.md` records exactly one readiness verdict, readiness
|
|
189
|
+
binding SHA-256 passes, and every required reviewer account is admitted.
|
|
190
|
+
|
|
191
|
+
**Failing case:** READY written while a required reviewer returned `Outcome: gap` →
|
|
192
|
+
not complete; restore NEEDS REPLAN or dispatch missing reviewer.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# /rite-vet: anti-patterns
|
|
2
|
+
|
|
3
|
+
Read [universal anti-patterns](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
4
|
+
|
|
5
|
+
Authority: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
6
|
+
|
|
7
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
8
|
+
- `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
|
|
9
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
|
|
10
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
11
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
12
|
+
|
|
13
|
+
## Phase rationalizations
|
|
14
|
+
|
|
15
|
+
| Excuse | Rebuttal |
|
|
16
|
+
|---|---|
|
|
17
|
+
| "I'll write all the findings into `eng-review.md` and let the user read it." | Fold verified behavior-preserving findings together and recheck affected closure. Ask human-owned choices with recommendations and await answers. Recording alone resolves nothing; never silently change acceptance or mark unresolved choices READY. |
|
|
18
|
+
| "The plan doesn't handle X: flag it." (without checking) | Quote the line first. If you can't quote where the plan handles X, you also can't be sure it doesn't: force confidence ≤4 and suppress. The "field/case doesn't exist" finding is the most common false positive; the verification gate exists to kill it. |
|
|
19
|
+
| "It's an obvious fix. I'll just edit the plan." | Vet hardens verified plans; topology uses the marked action. |
|
|
20
|
+
| "This dimension is thin but the others are strong: net it's fine." | The gate is the **floor**, not the average. A plan `broken` on test-coverage does not pass because it's `strong` on architecture. |
|
|
21
|
+
| "I can see it's adequate. I'll note the band, the evidence is obvious." | Cite quoted evidence **before** the band; never score first and rationalize later. |
|
|
22
|
+
| "8+ files but it all needs to change: proceed." | Apply `review-axes.md` §0: justify complexity against the smallest contract-complete alternative; fold technical reductions through the marked action. File count does not justify design or require a pause. Ask only for changed scope, behavior, or risk policy. |
|
|
23
|
+
| "There's no test for this, but the user can add one later." | Coverage is designed **now**, before the code, so the build writes tests alongside it. A deferred test is a test that misses the boundary cases writing-it-now would expose. Regressions are non-negotiable. Critical, no question. |
|
|
24
|
+
| "Performance looks fine." | "Looks fine" is not a measurement. A perf finding is "measure X against budget Y" or it's nothing: don't recommend speculative tuning, and don't wave past an N+1 you can quote. |
|
|
25
|
+
| "Cross-model agrees, so apply it." | Consensus is a signal, not proof or approval. Verify the finding against source, then use the same technical-hardening or human-owned decision route; model agreement never authorizes a scope, acceptance, or policy change. |
|
|
26
|
+
|
|
27
|
+
## Reslice classifier rationalizations
|
|
28
|
+
|
|
29
|
+
**RSLICE-VET-001** — Slice/topology growth alone does not stop; fewer slices do not prove scope reduction; remediation does not grow product.
|
|
30
|
+
|
|
31
|
+
## Red flags
|
|
32
|
+
- `eng-review.md` / `test-plan.md` written but `plan.md` / `tasks.md` **not** hardened: the build
|
|
33
|
+
follows the plan, so the review changed nothing.
|
|
34
|
+
- A finding raised with confidence ≥7 but **no quoted source line**, that defeats the verification gate.
|
|
35
|
+
- Acceptance/product-behavior growth auto-applied in AFK, or an orthogonal human-owned gate that did not pause.
|
|
36
|
+
- A failure-mode table with rows but no verdict column filled: a "no test + no handling + silent" row not marked Critical.
|
|
37
|
+
- Repeating an exhausted causal failure under the shared no-progress rule in
|
|
38
|
+
[`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md), or stopping a
|
|
39
|
+
distinct cause solely because the total review round exceeds three.
|
|
40
|
+
- The reviewer / cross-model being handed the author's reasoning as independent
|
|
41
|
+
evidence (defeats the fresh-context point).
|
|
42
|
+
- The skill writing code, implementing a slice, or running the build. That's `/rite-build`. Vet reviews and hardens the plan; it never implements.
|
|
43
|
+
- Re-litigating the **spec's** scope/ambition, that was `/rite-temper`. Vet challenges *implementation* scope only.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# `eng-review.md` + `test-plan.md` templates + fold-back rules
|
|
2
|
+
|
|
3
|
+
`eng-review.md` records review; `test-plan.md` drives Build. Fold accepted findings
|
|
4
|
+
into `plan.md`/`tasks.md`; prose alone never changes Build.
|
|
5
|
+
|
|
6
|
+
Authority: `.devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
7
|
+
|
|
8
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
9
|
+
- `FOLD` → fold technical topology; invalidate Vet/readiness; affected Vet before Build.
|
|
10
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → affected Vet.
|
|
11
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
12
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
13
|
+
|
|
14
|
+
## `eng-review.md`: the record
|
|
15
|
+
|
|
16
|
+
Write/update `.devrites/work/<slug>/eng-review.md`; never clobber.
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# Eng review: <slug>
|
|
20
|
+
Vetted: <iso> Cross-model: ran (codex) | off
|
|
21
|
+
Implementation readiness: <READY | NEEDS CLARIFICATION | NEEDS REPLAN>
|
|
22
|
+
(`NEEDS REPLAN` is the eng-review field value; `NEEDS_REPLAN` with an underscore
|
|
23
|
+
is the autocomplete/reply-contract routing token — do not conflate.)
|
|
24
|
+
Readiness inputs SHA-256: <64 lowercase hex>
|
|
25
|
+
|
|
26
|
+
## 1. Depth
|
|
27
|
+
light | full (<trigger that escalated it>) # every plan is vetted — light or full, never skipped (see depth.md)
|
|
28
|
+
|
|
29
|
+
## 2. Scope challenge
|
|
30
|
+
- Existing reuse: <findings adopted by the plan>
|
|
31
|
+
- Minimum diff: <accepted | trimmed n; list in NOT-in-scope>
|
|
32
|
+
- Complexity: ok | smell (<n files, m new services) → asked → <reduce|proceed, why>
|
|
33
|
+
- Built-in / completeness / distribution: <flags, with source citations>
|
|
34
|
+
|
|
35
|
+
## 2a. Build-entry preflight
|
|
36
|
+
| Gate | Command + cwd | Tool/version | Prerequisite owner | Full provenance inputs | Fixture/smoke | Verdict |
|
|
37
|
+
|---|---|---|---|---|---|---|
|
|
38
|
+
| <test/browser/package> | <command · cwd> | <version> | <owner + item> | <tool/manifest/lockfile/config SHA-256> | <what ran> | pass/fail/blocked |
|
|
39
|
+
|
|
40
|
+
## 2b. Implementation readiness
|
|
41
|
+
| Surface | Requirement/decision | Boundary/wiring | Slice | Proof | Verdict |
|
|
42
|
+
|---|---|---|---|---|---|
|
|
43
|
+
| <journey/data/interface/ops> | <REQ/AC + coverage row> | <contract + key link> | <SLICE-###> | <test-plan row> | ready/gap |
|
|
44
|
+
|
|
45
|
+
Inventory/currentness: <pass/gaps> · slice order/independence: <pass/gaps> ·
|
|
46
|
+
UX/spec/architecture: <pass/n-a/gaps> · operations/rollout/rollback: <pass/n-a/gaps>
|
|
47
|
+
|
|
48
|
+
Shared contract proof: <pass | gap: missing/one-sided/duplicated-contract/vague/non-consuming>
|
|
49
|
+
One-shot evidence completeness: <n/a | pass: action + retained artifact + bounds/sanitization + injective boundary map + per-seam/collision/cleanup fixtures | gap: exact missing proof>
|
|
50
|
+
|
|
51
|
+
## 3. Axis findings (floor-gated)
|
|
52
|
+
| Axis | Floor band | Findings (sev · confidence) |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| Architecture | strong/adequate/thin/broken | Critical (9) … |
|
|
55
|
+
| Plan code-quality | … | … |
|
|
56
|
+
| Test-coverage design | … | see test-plan.md |
|
|
57
|
+
| Performance | … | … |
|
|
58
|
+
Suppressed (confidence ≤4, unverified): <count — one line each>
|
|
59
|
+
|
|
60
|
+
## 4. Failure modes
|
|
61
|
+
| New codepath/boundary | Realistic failure | Partial/unknown effect | Recovery owner/path | Proof? | Silent? | Verdict |
|
|
62
|
+
|---|---|---|---|---|---|---|
|
|
63
|
+
| <path> | timeout / duplicate / race / stale | <state/effect> | <owner/action> | y/n | y/n | ok / **CRITICAL gap** |
|
|
64
|
+
|
|
65
|
+
## 5. Dependency safety
|
|
66
|
+
<declared order is safe | exact dependency/order correction>
|
|
67
|
+
|
|
68
|
+
## 6. Native reviewer accounts
|
|
69
|
+
- `devrites-plan-reviewer`: <findings + resolution | evidence-based No-findings>
|
|
70
|
+
- `devrites-strategy-reviewer`: <current Temper verdict | Not-applicable: low-stakes skip>
|
|
71
|
+
- `devrites-devex-reviewer`: <findings + resolution | No-findings | Not-applicable: no developer surface>
|
|
72
|
+
- Recheck: <not-needed | one narrow recheck and result>
|
|
73
|
+
- Cross-model (if --cross-model): <overlap / unique findings — informational until approved>
|
|
74
|
+
- Final: floor = <band>; unresolved → <none | blocking qid>
|
|
75
|
+
|
|
76
|
+
## 7. Completion summary
|
|
77
|
+
- Outcome: <one sentence; REQ/AC refs>
|
|
78
|
+
- Boundaries: <IN/OUT/must-NOT refs>
|
|
79
|
+
- Design/flow: <UI/n-a; chosen seams/why; happy/error refs>
|
|
80
|
+
- Delivery: <slice order + first>
|
|
81
|
+
- Proof/gates: <test-plan rows; justified action-time gates>
|
|
82
|
+
- Review: scope <accepted/reduced>; architecture <n>; quality <n>; coverage <x/y>,
|
|
83
|
+
gaps <n>, Critical regressions <n>; failure modes <n>, Critical gaps <n>.
|
|
84
|
+
- Entry/records: preflight <pass/fail/blocked>; checkpoints <none/list>;
|
|
85
|
+
NOT-in-scope + existing written; plan <hardened | n Guard deltas>.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## `test-plan.md`: the build-readable coverage target
|
|
89
|
+
|
|
90
|
+
Write/update `.devrites/work/<slug>/test-plan.md`. `/rite-build`'s slice-wright
|
|
91
|
+
writes tests from it; `/rite-prove` walks it against `evidence.md`. Specify
|
|
92
|
+
*what/where* to test, not implementation.
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
# Test plan: <slug>
|
|
96
|
+
From /rite-vet on <iso>. Runner + conventions: <detected framework + command>.
|
|
97
|
+
|
|
98
|
+
## Build-entry preflight
|
|
99
|
+
| Gate | Command | Cwd | Expected | Prerequisites | Provenance to recapture |
|
|
100
|
+
|---|---|---|---|---|---|
|
|
101
|
+
| <test/browser/package> | <exact command> | <path> | <exit/output> | <service/browser/credential owner> | <tool version + full SHA-256s> |
|
|
102
|
+
|
|
103
|
+
Link any disposable parser fixture. Preflight values are planning evidence, not post-build proof;
|
|
104
|
+
Prove recaptures the observed command, candidate identity, and result.
|
|
105
|
+
|
|
106
|
+
Commands in this durable artifact are portable repository commands: no RTK or local shell
|
|
107
|
+
aliases, user-specific absolute paths, or temporary proof trees. Evidence records
|
|
108
|
+
the command actually executed.
|
|
109
|
+
|
|
110
|
+
## Consumptive action gates
|
|
111
|
+
| Action | Why one-shot/consumptive | Retained artifact | Bounds + sanitization | Boundary map + collision proof | Terminal-path fixtures | Cleanup survival | Retry authority |
|
|
112
|
+
|---|---|---|---|---|---|---|---|
|
|
113
|
+
| <exact approved action or n/a> | <one attempt/quota/state/evidence deletion> | <durable operator-controlled path/schema> | <size/cardinality + known/unknown/malformed handling> | <every emit seam -> stable boundary ID; per-seam injection + alias mutant rejected> | <success/known/unknown/hostile> | <assertion> | <none/fresh human authorization> |
|
|
114
|
+
|
|
115
|
+
Every behavioral row names a positive, discriminating assertion and the decisive output it
|
|
116
|
+
produces. A command or expected exit zero alone is not a behavioral assertion; static gates
|
|
117
|
+
prove only their named static criterion.
|
|
118
|
+
|
|
119
|
+
## Coverage diagram
|
|
120
|
+
<the ASCII code-paths + user-flows diagram from review-axes.md, with COVERAGE / GAPS / REGRESSIONS line>
|
|
121
|
+
|
|
122
|
+
## Per-gap test requirements
|
|
123
|
+
| ID | Path / flow | Test file (match conventions) | Asserts (input → expected) | Kind | Slice | Priority |
|
|
124
|
+
|---|---|---|---|---|---|---|
|
|
125
|
+
| T1 | <path> | <path/to.test> | <empty list → 200 + []> | unit / E2E / eval | <slice> | P1 / **Regression-Critical** |
|
|
126
|
+
|
|
127
|
+
## Interaction inventory (UI slices — every element + flow gets an asserting test)
|
|
128
|
+
Enumerate every interactive element and user flow the feature exposes; one row each, none
|
|
129
|
+
skipped. Level per [`testing.md`](../../devrites-lib/reference/standards/testing.md) "Completeness": elements/fields → unit/component, critical
|
|
130
|
+
journeys → one E2E (never one-per-field). `/rite-build` must cover every row; `/rite-prove`
|
|
131
|
+
fails any row with no passing result — an unverified element is a NO-GO, like an unproven criterion.
|
|
132
|
+
```markdown
|
|
133
|
+
| Element / flow | Kind (field/checkbox/select/radio/toggle/button/link/flow) | Level | Test file | Asserts (action → expected) |
|
|
134
|
+
|---|---|---|---|---|
|
|
135
|
+
| email field | field | unit | <form.test> | invalid → error; valid → accepted |
|
|
136
|
+
| login | flow ★★★ | E2E | <login.e2e> | submit → dashboard |
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Omit the whole section only for a slice with **no** interactive surface (pure backend/logic).
|
|
140
|
+
|
|
141
|
+
## Acceptance → test map
|
|
142
|
+
|
|
143
|
+
- <spec acceptance criterion> → <T1, T3> # every criterion maps to ≥1 test
|
|
144
|
+
|
|
145
|
+
For every row in `plan.md`'s `Shared contract proof`, the per-gap requirements name both
|
|
146
|
+
provider- and consumer-side asserting tests and state how each consumes the same canonical
|
|
147
|
+
artifact. Reference the plan row; do not reproduce its contract table here.
|
|
148
|
+
|
|
149
|
+
## Parallelization table (in `eng-review.md` §5 when there's an opportunity)
|
|
150
|
+
|
|
151
|
+
```markdown
|
|
152
|
+
| Step / workstream | Modules touched (dir-level) | Depends on |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| API endpoints | controllers/, serializers/ | — |
|
|
155
|
+
| Worker | jobs/, lib/queue/ | API endpoints |
|
|
156
|
+
|
|
157
|
+
Lanes: A: API → Worker (sequential, shared lib/) · B: migration (independent)
|
|
158
|
+
Order: launch A + B in parallel worktrees → merge → C
|
|
159
|
+
Conflicts: Lanes A and B both touch models/ — sequential or coordinate.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Fold-back: the part the build follows
|
|
163
|
+
|
|
164
|
+
Vet hardens the plan. Use the marked action before fold-back.
|
|
165
|
+
|
|
166
|
+
- **Write directly into `plan.md` / `tasks.md`** (single canonical writer: you, not the reviewer):
|
|
167
|
+
- `plan.md` §Scope boundaries ← "NOT in scope" items.
|
|
168
|
+
- `plan.md` §Architecture decisions ← reuse-over-rebuild calls + named failure scenarios.
|
|
169
|
+
- `plan.md` §Applicability and system ownership ← corrected topology/data/integration
|
|
170
|
+
routing and each triggered standard's feature-specific output.
|
|
171
|
+
- `plan.md` §Dependency graph / §Implementation order ← any dependency or ordering fix
|
|
172
|
+
(e.g. refactor-before-feature split).
|
|
173
|
+
- `plan.md` §Complexity & deviations gate ← any deviation the §0 challenge surfaced + its justification.
|
|
174
|
+
- `tasks.md` slices ← added test requirements (point at `test-plan.md`), added error-handling /
|
|
175
|
+
failure-mode coverage, tightened slice scope, a split of a refactor+behavior slice into two.
|
|
176
|
+
Adjust a slice's `Gate:` upward when vet reveals higher stakes (e.g. an unflagged migration).
|
|
177
|
+
- Re-run the `plan.md` Readiness gate after edits; it must still pass.
|
|
178
|
+
- **Reslice:** marked action only; no local predicate.
|
|
179
|
+
- **`decisions.md`:** one ADR per material call: `context · decision · why-not-the-alternative ·
|
|
180
|
+
what-would-change-it`.
|
|
181
|
+
- **`assumptions.md`:** every "we'll probably need X" demoted to an explicit assumption-to-verify,
|
|
182
|
+
never smuggled into scope as a fact.
|
|
183
|
+
|
|
184
|
+
## Write discipline
|
|
185
|
+
|
|
186
|
+
- **Single canonical writer.** The skill writes review/test-plan and edits plan/tasks;
|
|
187
|
+
`devrites-plan-reviewer` is **read-only** and returns findings + bands.
|
|
188
|
+
- **No silent scope.** Growing acceptance without a decision, or dropping a criterion
|
|
189
|
+
without the Guard, is a defect.
|
|
190
|
+
- Put `eng-review.md` + `test-plan.md` between `tasks.md` and `state.md`. Build/Prove
|
|
191
|
+
read test-plan as coverage; Review/Seal may consult eng-review for scope/failures.
|
|
192
|
+
- Finish `test-plan.md`, fold-back, and rechecks first. Changes to `brief.md`, `spec.md`,
|
|
193
|
+
`decisions.md`, `assumptions.md`, or `questions.md` require revalidating the
|
|
194
|
+
affected decision-coverage rows, assumption audit, residual uncertainty, and closed gates.
|
|
195
|
+
Partial/Missing, an unowned material assumption, or an open blocking/escalating question routes
|
|
196
|
+
`/rite-clarify`/HITL. Re-read affected rows with current evidence; repeat the exact
|
|
197
|
+
plan-reviewer and applicable strategy/DevEx after edits. Root writes READY only after
|
|
198
|
+
the checklist. Normal readiness rejects missing/stale bindings; empty tables,
|
|
199
|
+
placeholders, non-passing preflight rows, or an
|
|
200
|
+
acceptance criterion with no meaningful test mapping remain native review blockers.
|
|
201
|
+
After the final recheck, emit the binding with `devrites-engine check readiness
|
|
202
|
+
--emit-binding <slug>` and replace its one exact line. Never refresh it without Vet.
|