devrites 3.0.7 → 3.1.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 +12 -0
- package/README.md +67 -47
- package/SECURITY.md +31 -29
- package/docs/adr/0001-go-engine-as-control-plane.md +1 -1
- package/docs/adr/0002-dual-host-harness.md +1 -1
- package/docs/adr/0004-state-schema-phases-sections.md +1 -2
- package/docs/adr/0006-clock-seam-and-engine-ci-gates.md +3 -4
- package/docs/adr/0009-prebuild-decision-coverage-and-readiness.md +67 -0
- package/docs/adr/0010-agent-first-fresh-context-orchestration.md +71 -0
- package/docs/adr/0011-define-plan-transition-rights.md +28 -0
- package/docs/adr/README.md +3 -0
- package/docs/agents/triage-labels.md +7 -7
- package/docs/architecture.md +157 -140
- package/docs/cli.md +41 -12
- package/docs/command-map.md +49 -35
- package/docs/engine/agent-contract.md +92 -15
- package/docs/engine/commands.md +242 -72
- package/docs/engine/state-schema.md +52 -23
- package/docs/engine/workspace-schema.md +94 -15
- package/docs/extensions.md +1 -1
- package/docs/flow.md +80 -50
- package/docs/harness-compliance.md +29 -5
- package/docs/orchestration.md +107 -79
- package/docs/quick-reference.md +7 -3
- package/docs/release.md +4 -3
- package/docs/skills.md +64 -38
- package/docs/usage.md +57 -38
- package/engine/cmd/releasepack/main.go +219 -0
- package/engine/cmd/releasepack/main_test.go +170 -0
- package/engine/commands.go +170 -23
- package/engine/git_guard.go +187 -0
- package/engine/git_guard_test.go +283 -0
- package/engine/hookpolicy.go +53 -55
- package/engine/hookpolicy_test.go +91 -1
- package/engine/hooks.go +296 -75
- package/engine/hooks_events_test.go +276 -6
- package/engine/hooks_workspace.go +640 -159
- package/engine/internal/devritespaths/paths.go +65 -10
- package/engine/internal/devritespaths/paths_test.go +110 -0
- package/engine/internal/doctor/doctor.go +153 -23
- package/engine/internal/doctor/doctor_test.go +74 -0
- package/engine/internal/forge/forge.go +940 -0
- package/engine/internal/forge/forge_test.go +576 -0
- package/engine/internal/forge/git.go +245 -0
- package/engine/internal/forge/liveness_unix.go +48 -0
- package/engine/internal/forge/liveness_windows.go +67 -0
- package/engine/internal/forge/manifest.go +402 -0
- package/engine/internal/gate/gate.go +90 -71
- package/engine/internal/gate/gate_test.go +71 -2
- package/engine/internal/harness/compliance.go +18 -24
- package/engine/internal/harness/harness.go +37 -44
- package/engine/internal/harness/harness_test.go +21 -5
- package/engine/internal/install/install.go +486 -38
- package/engine/internal/install/install_test.go +383 -10
- package/engine/internal/iohooks/iohooks.go +350 -59
- package/engine/internal/iohooks/iohooks_test.go +421 -1
- package/engine/internal/lib/buildreadiness.go +35 -18
- package/engine/internal/lib/clarifyreturn.go +91 -0
- package/engine/internal/lib/clarifyreturn_test.go +123 -0
- package/engine/internal/lib/context.go +54 -15
- package/engine/internal/lib/cursor_compat_test.go +8 -0
- package/engine/internal/lib/extensions.go +2 -3
- package/engine/internal/lib/gitauthority.go +601 -0
- package/engine/internal/lib/gitauthority_test.go +346 -0
- package/engine/internal/lib/jsonout.go +25 -11
- package/engine/internal/lib/jsonout_test.go +16 -0
- package/engine/internal/lib/lanes.go +14 -8
- package/engine/internal/lib/observability_test.go +358 -0
- package/engine/internal/lib/packageexistence.go +151 -35
- package/engine/internal/lib/packageexistence_test.go +163 -0
- package/engine/internal/lib/progress.go +11 -9
- package/engine/internal/lib/provenance.go +462 -0
- package/engine/internal/lib/provenance_test.go +154 -0
- package/engine/internal/lib/readiness_contract.json +111 -0
- package/engine/internal/lib/readinessartifact.go +510 -0
- package/engine/internal/lib/readinessartifact_test.go +321 -0
- package/engine/internal/lib/reconcile.go +712 -88
- package/engine/internal/lib/reconcile_test.go +335 -16
- package/engine/internal/lib/recoveryattempts.go +298 -0
- package/engine/internal/lib/recoveryattempts_test.go +215 -0
- package/engine/internal/lib/resolve.go +23 -19
- package/engine/internal/lib/runbook_context_test.go +20 -0
- package/engine/internal/lib/session.go +701 -9
- package/engine/internal/lib/session_test.go +80 -13
- package/engine/internal/lib/testintegrity.go +33 -37
- package/engine/internal/lib/testintegrity_test.go +63 -1
- package/engine/internal/migrate/migrate.go +81 -1
- package/engine/internal/migrate/migrate_test.go +22 -1
- package/engine/internal/reason/reason.go +180 -0
- package/engine/internal/reason/reason_test.go +35 -0
- package/engine/internal/rootfacts/facts.go +466 -0
- package/engine/internal/rootfacts/facts_test.go +306 -0
- package/engine/internal/safepath/safepath.go +55 -0
- package/engine/internal/safepath/safepath_test.go +69 -0
- package/engine/internal/safepath/safepath_windows_test.go +26 -0
- package/engine/internal/state/clarify_transition.go +165 -0
- package/engine/internal/state/clarify_transition_test.go +130 -0
- package/engine/internal/state/cmd/workflowmanifest/main.go +12 -8
- package/engine/internal/state/cursor.go +58 -0
- package/engine/internal/state/cursor_test.go +42 -1
- package/engine/internal/state/feature.go +35 -48
- package/engine/internal/state/schema.go +90 -37
- package/engine/internal/state/snapshot.go +18 -2
- package/engine/internal/state/state_test.go +187 -7
- package/engine/internal/state/status.go +48 -11
- package/engine/internal/state/workflow_manifest.json +231 -50
- package/engine/internal/toolpolicy/classifier.go +533 -0
- package/engine/internal/toolpolicy/classifier_test.go +424 -0
- package/engine/internal/toolpolicy/git.go +616 -0
- package/engine/internal/toolpolicy/scanner.go +382 -0
- package/engine/main.go +160 -77
- package/engine/observability_cli_test.go +52 -0
- package/engine/root_routing_test.go +277 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=noclarify.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=novet.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=stalevet.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=vetnotready.golden +1 -0
- package/engine/testdata/golden/TestParityProgress/arg=allbuilt.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=done.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=mid.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=nophase.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=noslice.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=plan.golden +1 -1
- package/engine/testdata/golden/TestParityProgress/arg=seal.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/inline-fallback.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/snapshot-no-allowlist.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/devrites-edit-denied.golden +2 -0
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/tests/adr_0011_define_plan_test.go +30 -0
- package/engine/tests/budget_test.go +19 -8
- package/engine/tests/concurrency_cli_test.go +7 -1
- package/engine/tests/doctor_cli_test.go +148 -2
- package/engine/tests/forge_cli_test.go +463 -0
- package/engine/tests/gate_test.go +63 -8
- package/engine/tests/hook_test.go +260 -8
- package/engine/tests/hooks_io_test.go +94 -3
- package/engine/tests/json_contract_test.go +127 -2
- package/engine/tests/migrate_cli_test.go +2 -2
- package/engine/tests/parity_buildreadiness_test.go +141 -10
- package/engine/tests/parity_learnings_test.go +16 -17
- package/engine/tests/parity_reconcile_test.go +20 -17
- package/engine/tests/parity_resolve_test.go +12 -11
- package/engine/tests/parity_test.go +21 -17
- package/pack/.claude/agents/devrites-code-reviewer.md +62 -48
- package/pack/.claude/agents/devrites-devex-reviewer.md +69 -53
- package/pack/.claude/agents/devrites-doubt-reviewer.md +29 -22
- package/pack/.claude/agents/devrites-evidence-scout.md +69 -0
- package/pack/.claude/agents/devrites-forge-judge.md +74 -61
- package/pack/.claude/agents/devrites-frontend-reviewer.md +48 -39
- package/pack/.claude/agents/devrites-performance-reviewer.md +49 -40
- package/pack/.claude/agents/devrites-plan-drafter.md +71 -0
- package/pack/.claude/agents/devrites-plan-reviewer.md +80 -47
- package/pack/.claude/agents/devrites-proof-runner.md +74 -0
- package/pack/.claude/agents/devrites-retrospector.md +48 -45
- package/pack/.claude/agents/devrites-security-auditor.md +46 -36
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +50 -46
- package/pack/.claude/agents/devrites-slice-wright.md +153 -165
- package/pack/.claude/agents/devrites-spec-reviewer.md +34 -32
- package/pack/.claude/agents/devrites-strategy-reviewer.md +63 -34
- package/pack/.claude/agents/devrites-test-analyst.md +40 -30
- package/pack/.claude/settings.json +2 -1
- package/pack/.claude/skills/devrites-audit/SKILL.md +40 -61
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +24 -13
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
- package/pack/.claude/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
- package/pack/.claude/skills/devrites-doubt/SKILL.md +25 -17
- package/pack/.claude/skills/devrites-interview/SKILL.md +53 -52
- package/pack/.claude/skills/devrites-lib/SKILL.md +11 -9
- package/pack/.claude/skills/devrites-lib/reference/intent-map.md +3 -2
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +8 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +38 -55
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +198 -190
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +16 -52
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +2 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +17 -57
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -14
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +9 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +0 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +1 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +17 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +1 -27
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +46 -50
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +23 -22
- package/pack/.claude/skills/rite/SKILL.md +8 -6
- package/pack/.claude/skills/rite/reference/menu.md +8 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +33 -37
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +33 -28
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +21 -21
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
- package/pack/.claude/skills/rite-build/SKILL.md +35 -30
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +38 -38
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +10 -0
- package/pack/.claude/skills/rite-build/reference/forge.md +186 -156
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +4 -3
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +96 -175
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +129 -134
- package/pack/.claude/skills/rite-clarify/SKILL.md +89 -0
- package/pack/.claude/skills/rite-clarify/reference/decision-coverage.md +59 -0
- package/pack/.claude/skills/rite-converge/SKILL.md +35 -25
- package/pack/.claude/skills/rite-define/SKILL.md +57 -32
- package/pack/.claude/skills/rite-define/reference/gates.md +16 -15
- package/pack/.claude/skills/rite-define/reference/plan-template.md +16 -8
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +22 -24
- package/pack/.claude/skills/rite-plan/SKILL.md +44 -16
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +4 -0
- package/pack/.claude/skills/rite-polish/SKILL.md +27 -23
- package/pack/.claude/skills/rite-prototype/SKILL.md +25 -26
- package/pack/.claude/skills/rite-prove/SKILL.md +27 -17
- package/pack/.claude/skills/rite-resolve/SKILL.md +12 -11
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +3 -0
- package/pack/.claude/skills/rite-review/SKILL.md +37 -28
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +27 -92
- package/pack/.claude/skills/rite-seal/reference/risk-and-rollback.md +13 -0
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +31 -36
- package/pack/.claude/skills/rite-spec/SKILL.md +84 -135
- package/pack/.claude/skills/rite-spec/reference/investigation.md +37 -33
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +6 -2
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +25 -24
- package/pack/.claude/skills/rite-spec/reference/spec-template.md +9 -2
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +13 -3
- package/pack/.claude/skills/rite-temper/SKILL.md +62 -47
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +24 -22
- package/pack/.claude/skills/rite-vet/SKILL.md +110 -113
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +42 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +39 -37
- package/pack/generated/claude/agents/devrites-code-reviewer.md +62 -48
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +69 -53
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +29 -22
- package/pack/generated/claude/agents/devrites-evidence-scout.md +69 -0
- package/pack/generated/claude/agents/devrites-forge-judge.md +74 -61
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +48 -39
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +49 -40
- package/pack/generated/claude/agents/devrites-plan-drafter.md +71 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +80 -47
- package/pack/generated/claude/agents/devrites-proof-runner.md +74 -0
- package/pack/generated/claude/agents/devrites-retrospector.md +48 -45
- package/pack/generated/claude/agents/devrites-security-auditor.md +46 -36
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +50 -46
- package/pack/generated/claude/agents/devrites-slice-wright.md +153 -165
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +34 -32
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +63 -34
- package/pack/generated/claude/agents/devrites-test-analyst.md +40 -30
- package/pack/generated/claude/settings.json +2 -1
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +40 -61
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +24 -13
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +25 -17
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +53 -52
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +11 -9
- package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +3 -2
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +8 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +38 -55
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +198 -190
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +16 -52
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +2 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +17 -57
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -14
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +9 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +0 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +1 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +17 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +1 -27
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +46 -50
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +23 -22
- package/pack/generated/claude/skills/rite/SKILL.md +8 -6
- package/pack/generated/claude/skills/rite/reference/menu.md +8 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +33 -37
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +33 -28
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +21 -21
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
- package/pack/generated/claude/skills/rite-build/SKILL.md +35 -30
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +38 -38
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +10 -0
- package/pack/generated/claude/skills/rite-build/reference/forge.md +186 -156
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +4 -3
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +96 -175
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +129 -134
- package/pack/generated/claude/skills/rite-clarify/SKILL.md +89 -0
- package/pack/generated/claude/skills/rite-clarify/reference/decision-coverage.md +59 -0
- package/pack/generated/claude/skills/rite-converge/SKILL.md +35 -25
- package/pack/generated/claude/skills/rite-define/SKILL.md +57 -32
- package/pack/generated/claude/skills/rite-define/reference/gates.md +16 -15
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +16 -8
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +22 -24
- package/pack/generated/claude/skills/rite-plan/SKILL.md +44 -16
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +4 -0
- package/pack/generated/claude/skills/rite-polish/SKILL.md +27 -23
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +25 -26
- package/pack/generated/claude/skills/rite-prove/SKILL.md +27 -17
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +12 -11
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +3 -0
- package/pack/generated/claude/skills/rite-review/SKILL.md +37 -28
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +27 -92
- package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +13 -0
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +31 -36
- package/pack/generated/claude/skills/rite-spec/SKILL.md +84 -135
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +37 -33
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +6 -2
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +25 -24
- package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +9 -2
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +13 -3
- package/pack/generated/claude/skills/rite-temper/SKILL.md +62 -47
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +24 -22
- package/pack/generated/claude/skills/rite-vet/SKILL.md +110 -113
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +42 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +39 -37
- package/pack/generated/codex/AGENTS.md +5 -2
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +69 -47
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +75 -51
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +35 -20
- package/pack/generated/codex/agents/devrites-evidence-scout.toml +75 -0
- package/pack/generated/codex/agents/devrites-forge-judge.toml +80 -59
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +54 -37
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +55 -38
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +77 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +82 -47
- package/pack/generated/codex/agents/devrites-proof-runner.toml +80 -0
- package/pack/generated/codex/agents/devrites-retrospector.toml +54 -43
- package/pack/generated/codex/agents/devrites-security-auditor.toml +53 -35
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +56 -44
- package/pack/generated/codex/agents/devrites-slice-wright.toml +159 -163
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +40 -30
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +65 -34
- package/pack/generated/codex/agents/devrites-test-analyst.toml +46 -28
- package/pack/generated/codex/hooks.json +4 -14
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +7 -3
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +47 -64
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +7 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +31 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +24 -21
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -6
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/instrumentation.md +2 -2
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +32 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +7 -3
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +60 -55
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +18 -12
- package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +3 -2
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +82 -137
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +8 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +38 -55
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +53 -27
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +198 -190
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +5 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +27 -58
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +16 -52
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +2 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +18 -61
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +17 -57
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +4 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +4 -20
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -14
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +9 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +0 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +1 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +17 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +1 -27
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +46 -50
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +23 -10
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +7 -3
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +7 -3
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +29 -24
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite/SKILL.md +19 -13
- package/pack/generated/codex/skills/rite/reference/menu.md +8 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +40 -40
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +40 -31
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +21 -21
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +15 -6
- package/pack/generated/codex/skills/rite-build/SKILL.md +42 -33
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +38 -38
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +10 -0
- package/pack/generated/codex/skills/rite-build/reference/forge.md +186 -156
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +4 -3
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +96 -175
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +129 -134
- package/pack/generated/codex/skills/rite-clarify/SKILL.md +105 -0
- package/pack/generated/codex/skills/rite-clarify/reference/decision-coverage.md +59 -0
- package/pack/generated/codex/skills/rite-converge/SKILL.md +42 -28
- package/pack/generated/codex/skills/rite-customize/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-define/SKILL.md +64 -35
- package/pack/generated/codex/skills/rite-define/reference/gates.md +16 -15
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +16 -8
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-explain/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-frame/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +22 -24
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-learn/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-plan/SKILL.md +51 -19
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +5 -1
- package/pack/generated/codex/skills/rite-polish/SKILL.md +34 -26
- package/pack/generated/codex/skills/rite-pov/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +32 -29
- package/pack/generated/codex/skills/rite-prove/SKILL.md +34 -20
- package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +19 -14
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +3 -0
- package/pack/generated/codex/skills/rite-review/SKILL.md +44 -31
- package/pack/generated/codex/skills/rite-seal/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +27 -92
- package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +13 -0
- package/pack/generated/codex/skills/rite-ship/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +31 -36
- package/pack/generated/codex/skills/rite-spec/SKILL.md +91 -138
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +37 -33
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +6 -2
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +25 -24
- package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +9 -2
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +13 -3
- package/pack/generated/codex/skills/rite-status/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-temper/SKILL.md +69 -50
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +24 -22
- package/pack/generated/codex/skills/rite-vet/SKILL.md +117 -116
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +42 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +40 -38
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +7 -3
- package/package.json +1 -1
- package/scripts/build-release-tarball.sh +32 -15
- package/scripts/check-authority-drift.py +125 -0
- package/scripts/check-instruction-size-baseline.mjs +19 -11
- package/scripts/check-invocation-integrity.py +2 -0
- package/scripts/codex-generate.sh +69 -33
- package/scripts/grade-feature.sh +121 -40
- package/scripts/live-hosts/agent-result.schema.json +230 -0
- package/scripts/live-hosts/claude.sh +87 -0
- package/scripts/live-hosts/codex.sh +81 -0
- package/scripts/live-hosts/common.sh +113 -0
- package/scripts/live-hosts/fake-host.py +264 -0
- package/scripts/live-hosts/host-transport.py +287 -0
- package/scripts/release-check.sh +5 -1
- package/scripts/run-agent-contract-evals.py +1380 -0
- package/scripts/run-behavioral-evals.sh +24 -30
- package/scripts/run-evals.sh +1 -5
- package/scripts/run-live-behavioral-evals.py +1274 -144
- package/scripts/run-outcome-evals.sh +414 -88
- package/scripts/run-tests.mjs +30 -2
- package/scripts/skills-inventory.mjs +1 -1
- package/scripts/validate-workflow-security.py +39 -20
- package/scripts/validate-workspace-schema.py +362 -10
- package/scripts/validate.sh +21 -15
- package/engine/testdata/golden/TestParityWrightScope/devrites-edit-allowed.golden +0 -1
- /package/engine/testdata/golden/{TestParityReconcile/check-no-claimed.golden → TestParityBuildReadiness/arg=clarifyopen.golden} +0 -0
|
@@ -5,44 +5,31 @@ argument-hint: "[slug] [--cross-model] [--full]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-vet:
|
|
8
|
+
# /rite-vet: review the plan before build
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
stakes; never skipped) and is always part of `/rite-autocomplete`; `--cross-model` adds a
|
|
18
|
-
different-model second opinion. **Read the active workspace first**; if there's no
|
|
19
|
-
`plan.md`, tell the user to run `/rite-define`.
|
|
10
|
+
Review a defined plan for implementation scope, architecture, code quality, test
|
|
11
|
+
coverage, performance, failure modes, and parallel work. Cite the source for every
|
|
12
|
+
finding and design the test coverage that `/rite-build` will use. Fold accepted
|
|
13
|
+
engineering changes into the canonical plan before code is written. Run this step on
|
|
14
|
+
**every** plan; depth varies with risk. `/rite-autocomplete` always includes it, and
|
|
15
|
+
`--cross-model` adds a second opinion from another model. **Read the active workspace
|
|
16
|
+
first**; if there is no `plan.md`, tell the user to run `/rite-define`.
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
`/rite-temper` reviews product scope and strategy in the spec. `/rite-vet` reviews how
|
|
19
|
+
to implement that settled scope.
|
|
23
20
|
|
|
24
21
|
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
25
|
-
Pull
|
|
26
|
-
|
|
27
|
-
`
|
|
28
|
-
|
|
29
|
-
structured Requirement/Scenario blocks, each scenario is a coverage unit `test-plan.md` must
|
|
30
|
-
map), `performance.md` (the perf axis),
|
|
31
|
-
`error-handling.md` (failure-mode coverage), `development-workflow.md` (parallel lanes,
|
|
32
|
-
definition of done), `afk-hitl.md` (irreversible-risk list + gate ceiling),
|
|
33
|
-
`developer-experience.md` (when the plan ships a developer-facing surface (API / CLI / SDK /
|
|
34
|
-
webhook / config / error messages / getting-started) predict the DX scorecard here),
|
|
35
|
-
`elicitation.md` (the move-set to deepen an axis finding or a risky design choice: selected by
|
|
36
|
-
the section's risk: Tournament for two viable designs, Delphi for a shaky estimate, Assumption
|
|
37
|
-
Audit for a plan resting on unstated beliefs).
|
|
38
|
-
- `definition-of-done.md`: standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
|
|
22
|
+
Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
23
|
+
`coding-style.md`, `testing.md`, `spec-grammar.md`, `performance.md`,
|
|
24
|
+
`error-handling.md`, `development-workflow.md`, `afk-hitl.md`,
|
|
25
|
+
`developer-experience.md`, `elicitation.md`, and `definition-of-done.md`.
|
|
39
26
|
|
|
40
27
|
|
|
41
28
|
## Operating rules
|
|
42
|
-
- **Review
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
- **
|
|
29
|
+
- **Review implementation, not product ambition.** Treat the scope established by
|
|
30
|
+
`/rite-temper` as settled. Check whether the plan is simple, well tested, and low risk,
|
|
31
|
+
and challenge only implementation scope creep.
|
|
32
|
+
- **The root updates the plan; the reviewer judges.** Vet is the plan-hardening phase, so
|
|
46
33
|
behavior-preserving plan refinements (test requirements, tightened scope boundaries, ordering,
|
|
47
34
|
parallel lanes, error-handling + failure-mode coverage) are written straight into
|
|
48
35
|
`plan.md` / `tasks.md` / `test-plan.md`. You are the single canonical writer. A finding that
|
|
@@ -50,80 +37,71 @@ Audit for a plan resting on unstated beliefs).
|
|
|
50
37
|
through the **Spec Drift Guard** (record in `drift.md`, recorded decision, then `/rite-plan
|
|
51
38
|
repair` for any structural reslice). Nothing that grows the build's scope lands without a
|
|
52
39
|
recorded human decision.
|
|
53
|
-
- **
|
|
40
|
+
- **Support every finding.** Every finding carries a confidence band; a finding you cannot
|
|
54
41
|
back by quoting the plan/spec line (or the code it references) is forced to low confidence and
|
|
55
42
|
suppressed from the main report: see the verification gate in [`reference/review-axes.md`](reference/review-axes.md).
|
|
56
|
-
- **
|
|
57
|
-
|
|
58
|
-
- **
|
|
59
|
-
|
|
43
|
+
- **Apply maximum caution to hard-to-reverse changes.** Auth, migration, public API, and
|
|
44
|
+
data-model changes always pause under the irreversible-risk list.
|
|
45
|
+
- **Use the lowest axis band.** Never round `thin` up to `ready`; do not average the
|
|
46
|
+
axes. Record the reason for every decision.
|
|
47
|
+
- **Search before asking.** Apply `afk-hitl.md` decision ownership: verify facts and fold
|
|
48
|
+
reversible technical hardening into the plan; ask only about human-owned choices.
|
|
49
|
+
- **Root hardens; reviewer judges.** Dispatch follows the file-backed contract in
|
|
50
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md). The root owns every
|
|
51
|
+
question, decision, fold-back, readiness verdict, and workspace write.
|
|
60
52
|
|
|
61
53
|
## Workflow
|
|
62
54
|
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`** first.
|
|
63
|
-
Then
|
|
64
|
-
|
|
65
|
-
instead of re-deriving state from raw Markdown:
|
|
55
|
+
Then run the shared orientation preamble. It prints `state.md`, present artifacts,
|
|
56
|
+
run mode, and open-question totals:
|
|
66
57
|
```bash
|
|
67
58
|
devrites-engine preamble
|
|
68
59
|
devrites-engine snapshot
|
|
69
60
|
```
|
|
70
|
-
Then the workspace: `plan.md`, `tasks.md`, `spec.md`
|
|
61
|
+
Then the workspace: `plan.md`, `tasks.md`, `spec.md`, `decision-coverage.md`
|
|
71
62
|
(for intent + acceptance), `strategy.md` (if `/rite-temper` ran), `decisions.md`,
|
|
72
63
|
`assumptions.md`, `design-brief.md` (if UI), `state.md`. Require a `plan.md` whose
|
|
73
|
-
Readiness gate passes (or `Plan approved`): else STOP → `/rite-define`.
|
|
64
|
+
Readiness gate passes (or `Plan approved`): else STOP → `/rite-define`. Require
|
|
65
|
+
`Decision coverage: CLEAR`: else STOP → `/rite-clarify`. Prefer a
|
|
74
66
|
code-intelligence index if available (see
|
|
75
67
|
`.claude/skills/devrites-lib/reference/standards/tooling.md`) for placement / blast-radius / reuse checks.
|
|
76
|
-
1. **
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if present); any **CRITICAL**: an acceptance criterion with no slice, a slice satisfying no
|
|
94
|
-
criterion, a contradiction across artifacts, a requirement stated twice with conflicting terms:
|
|
95
|
-
**blocks `/rite-build`** until resolved. The engine covers the deterministic floor (AC coverage,
|
|
96
|
-
orphan slices, vague adjectives); you add the semantic passes it can't: **terminology drift**
|
|
97
|
-
(the same concept named differently across artifacts: normalize to the spec's term) and
|
|
98
|
-
**duplicated or conflicting requirements**. Then score
|
|
99
|
-
the three project gates as explicit **pass/fail** on the planned approach:
|
|
100
|
-
- **Principles** (`.devrites/principles.md`, rubric in [`principles.md`](../devrites-lib/reference/standards/principles.md)).
|
|
101
|
-
The authored invariants the project will not break. A plan that bakes in a violation of a
|
|
102
|
-
declared principle with **no recorded, human-approved exception** is a **top-severity** finding,
|
|
103
|
-
walked **first**, and **blocks `/rite-build`**. Absent or empty file → none declared → passes;
|
|
104
|
-
**never block for the absence of principles**. A genuine need to break one routes to a scoped,
|
|
105
|
-
dated exception in the principles register: never a silent work-around (adding the exception is
|
|
106
|
-
an irreversible-risk decision: it always pauses for a human, even in AFK).
|
|
107
|
-
- **The anti-slop charter** (`coding-style.md` + `prose-style.md`) and **the conventions ledger**
|
|
108
|
-
(`.devrites/conventions.md`): a plan that bakes in a god-module, a speculative abstraction with
|
|
109
|
-
no second caller, or a dependency where an in-repo option exists is a **top-severity** violation.
|
|
110
|
-
**Re-check all three after the axes harden the plan** (post-design). Write the result to `analysis.md`.
|
|
68
|
+
1. **Set review depth. Never skip this step.** Apply
|
|
69
|
+
[`reference/depth.md`](reference/depth.md) exactly. Every plan leaves a recorded
|
|
70
|
+
engineering verdict and `test-plan.md` coverage map.
|
|
71
|
+
1a. **Required initial independent pass (light and full).** Before hardening or writing,
|
|
72
|
+
freeze the candidate and dispatch `devrites-plan-reviewer` with the plan/spec packet.
|
|
73
|
+
Await and validate its report. Light depth reduces the inline hardening, not this
|
|
74
|
+
independent gate. Dispatch the DevEx predictor alongside it when triggered (within the
|
|
75
|
+
maximum-three read-only budget).
|
|
76
|
+
2. **Scope challenge (blocking gate):** apply §0 of
|
|
77
|
+
[`reference/review-axes.md`](reference/review-axes.md). Search prior decisions first:
|
|
78
|
+
`devrites-engine decisions search "<2-4 plan nouns>"`. Harden to the smallest
|
|
79
|
+
behavior-preserving plan; ask only when that changes acceptance or explicit architecture policy.
|
|
80
|
+
2a. **Cross-artifact analyze + project gates.** Run the deterministic gate, add the
|
|
81
|
+
semantic terminology/conflict pass, and score principles, the anti-slop charter, and
|
|
82
|
+
conventions using their named standards. Any Critical blocks `/rite-build`; a principle
|
|
83
|
+
exception is always human-owned, while an absent principles file passes. Re-check after
|
|
84
|
+
hardening and write the result to `analysis.md`.
|
|
111
85
|
```bash
|
|
112
86
|
devrites-engine analyze; echo "analyze rc=$?"
|
|
113
87
|
```
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
88
|
+
2b. **Build-entry preflight.** Using [`reference/artifacts.md`](reference/artifacts.md), verify
|
|
89
|
+
each exact proof command/cwd/tool/version and prerequisite; package names against their
|
|
90
|
+
authoritative source plus nearest manifest/lockfile; parser-sensitive planned syntax in an
|
|
91
|
+
isolated fixture; and the existing UI/browser harness where applicable. Record complete
|
|
92
|
+
SHA-256 provenance inputs. This is non-mutating and need not make future behavior pass.
|
|
93
|
+
2c. **Implementation-readiness audit.** Goal-backward map every REQ/AC/NFR, interaction,
|
|
94
|
+
edge/prohibition, and decision-coverage row to a slice and executable proof. Verify
|
|
95
|
+
UX/spec/architecture alignment, producer-consumer contracts, slice independence/order and
|
|
96
|
+
wiring, exact prerequisites, failure paths, operations, observability, rollout, and rollback.
|
|
97
|
+
Fold technical fixes into the plan. Product/risk gaps are `NEEDS CLARIFICATION` →
|
|
98
|
+
`/rite-clarify`; technical plan/preflight gaps are `NEEDS REPLAN` → `/rite-plan repair`.
|
|
99
|
+
Neither becomes a build qid.
|
|
100
|
+
3. **Review four axes:** apply [`reference/review-axes.md`](reference/review-axes.md)
|
|
101
|
+
through [`reference/eng-lenses.md`](reference/eng-lenses.md). Fold verified,
|
|
102
|
+
behavior-preserving technical findings into the plan. Walk only human-owned decisions with
|
|
103
|
+
the human, one coherent option packet at a time. The AFK ceiling remains owned by
|
|
104
|
+
[`reference/depth.md`](reference/depth.md): scope/acceptance changes and irreversible risk pause.
|
|
127
105
|
4. **Required outputs:** write every shape and fold-back required by
|
|
128
106
|
[`reference/artifacts.md`](reference/artifacts.md), using the review rules in
|
|
129
107
|
[`reference/review-axes.md`](reference/review-axes.md). Ground parallelization in:
|
|
@@ -131,34 +109,52 @@ Audit for a plan resting on unstated beliefs).
|
|
|
131
109
|
devrites-engine lanes plan "$(cat .devrites/ACTIVE 2>/dev/null)"
|
|
132
110
|
```
|
|
133
111
|
Completion: every scenario and acceptance criterion maps to planned proof, every slice is
|
|
134
|
-
one-pass implementable,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
`
|
|
144
|
-
|
|
112
|
+
one-pass implementable, the Build-entry preflight is green or names an owned prerequisite,
|
|
113
|
+
and developer-facing plans have a predicted `devex.md` scorecard.
|
|
114
|
+
4a. **Forge gate.** `/rite-define` leaves `no` / `none` / `none`; Vet alone promotes under
|
|
115
|
+
[`rite-build/reference/forge.md`](../rite-build/reference/forge.md). Require a costly
|
|
116
|
+
unresolved architecture fork, 2–3 distinct complete contiguous `A`–`C` strategies, every
|
|
117
|
+
slice AC plus exact `test-plan.md` rows/commands, and `manifest-env-v1` as an explicit
|
|
118
|
+
Build-entry prerequisite. After final fold-back the three fields must agree, else clear
|
|
119
|
+
Forge before READY.
|
|
120
|
+
5. **Write and fold back every artifact required by
|
|
121
|
+
[`reference/artifacts.md`](reference/artifacts.md).** Route every
|
|
122
|
+
acceptance/behavior-changing delta through the **Spec Drift Guard** (`drift.md` +
|
|
123
|
+
recorded decision + `/rite-plan repair`). After any edit to
|
|
124
|
+
`brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`, re-scan the
|
|
125
|
+
affected coverage rows, assumption audit, residual uncertainty, and closed gates.
|
|
126
|
+
Partial/Missing, an unowned material assumption, or an open blocking/escalating question is
|
|
127
|
+
`NEEDS CLARIFICATION` → `/rite-clarify`/HITL; never refresh past it. Only after the matrix is
|
|
128
|
+
re-closed, run `devrites-engine readiness-digest coverage <slug>` and replace the complete
|
|
129
|
+
`Coverage inputs SHA-256` line in `decision-coverage.md`. This coverage refresh must precede
|
|
130
|
+
`devrites-engine readiness-digest engineering <slug>`.
|
|
131
|
+
Re-run the gate after every fold-back so a task edit cannot invalidate the earlier pass:
|
|
145
132
|
```bash
|
|
146
133
|
devrites-engine analyze; echo "final analyze rc=$?"
|
|
147
134
|
```
|
|
148
135
|
Any non-zero result blocks the handoff. Then update `state.md`:
|
|
149
|
-
|
|
150
|
-
`
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
136
|
+
write one typed field to `eng-review.md`: `Implementation readiness: READY`,
|
|
137
|
+
`NEEDS CLARIFICATION`, or `NEEDS REPLAN`. Only READY sets `Phase: vet` and
|
|
138
|
+
`Next step: /rite-build`, after a final sweep leaves no foreseeable human choice except a
|
|
139
|
+
justified action-time checkpoint. Technical failure records its reproduction and
|
|
140
|
+
`/rite-plan repair` without a qid; a human-owned contract gap routes `/rite-clarify` and
|
|
141
|
+
uses the normal awaiting-human block.
|
|
142
|
+
6. **One narrow recheck after accepted edits.** If steps 2 through 5 changed the frozen candidate,
|
|
143
|
+
dispatch `devrites-plan-reviewer` once more with only the accepted initial findings,
|
|
144
|
+
changed planning paths, affected criteria, and the new immutable identity. Do not repeat
|
|
145
|
+
the full review or start a third loop. If nothing changed, the initial report is final.
|
|
146
|
+
If the recheck causes an accepted edit, repeat step 5, including coverage refresh and analyze,
|
|
147
|
+
before generating the engineering digest.
|
|
154
148
|
[`reference/cross-model.md`](reference/cross-model.md) owns the optional outside voice.
|
|
155
|
-
Completion: the final axis floor clears
|
|
156
|
-
|
|
157
|
-
|
|
149
|
+
Completion: the final axis floor clears, an objective technical blocker is recorded, or a
|
|
150
|
+
genuine human-owned gate is recorded.
|
|
151
|
+
7. **STOP.** Report the scope verdict, lowest axis band, coverage gaps closed, the
|
|
152
|
+
Build-entry preflight, expected action-time checkpoints, and the failure-mode criticals;
|
|
153
|
+
recommend `/rite-build` only when the entry contract is ready.
|
|
158
154
|
|
|
159
|
-
> **Mid-flight discipline.**
|
|
160
|
-
>
|
|
161
|
-
>
|
|
155
|
+
> **Mid-flight discipline.** Do not replace the interactive review with
|
|
156
|
+
> `eng-review.md`, change acceptance through plan hardening, score without source
|
|
157
|
+
> evidence, or ignore unexplained complexity. See
|
|
162
158
|
> [`reference/anti-patterns.md`](reference/anti-patterns.md).
|
|
163
159
|
|
|
164
160
|
## Output
|
|
@@ -169,12 +165,13 @@ Default success shape:
|
|
|
169
165
|
```
|
|
170
166
|
Done: plan vetted for <slug>; depth <light|full> with axis floor <band>.
|
|
171
167
|
Changed: eng-review.md, test-plan.md, plan.md, decisions.md
|
|
172
|
-
Evidence: coverage <x/y> planned; open findings Critical 0 / Important 0 / Suggestion <n>; reviewer loop <n>; outside-voice <ran|skipped-unavailable|disabled>
|
|
168
|
+
Evidence: Implementation readiness: READY; coverage <x/y> planned; build-entry preflight <pass>; open findings Critical 0 / Important 0 / Suggestion <n>; reviewer loop <n>; outside-voice <ran|skipped-unavailable|disabled>
|
|
173
169
|
Open: none
|
|
174
170
|
Next: /rite-build
|
|
175
171
|
Record: .devrites/work/<slug>/eng-review.md
|
|
176
172
|
↻ Hygiene: /clear before /rite-build
|
|
177
173
|
```
|
|
178
174
|
If a blocker or Spec Drift Guard delta remains, use the shared `Stopped / blocked`
|
|
179
|
-
form and route `Fix:` to `/rite-
|
|
175
|
+
form and route `Fix:` to `/rite-clarify` for product/risk decisions or `/rite-plan`
|
|
176
|
+
for technical replanning; do not recommend `/rite-build`.
|
|
180
177
|
**DO NOT write code, slice, or run the build here**. That's `/rite-build`. Vet reviews and hardens the plan; it never implements.
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# `eng-review.md` + `test-plan.md` templates + fold-back rules
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
fold-back edits to `plan.md` / `tasks.md` are what the build follows. The record
|
|
6
|
-
without the fold-back is dead prose: the build reads `plan.md` + `test-plan.md`, not `eng-review.md`.
|
|
3
|
+
`eng-review.md` records the review; `test-plan.md` is the build-readable coverage target.
|
|
4
|
+
Fold findings into `plan.md`/`tasks.md`: review prose alone does not change the build.
|
|
7
5
|
|
|
8
6
|
## `eng-review.md`: the record
|
|
9
7
|
Write to `.devrites/work/<slug>/eng-review.md`. If one exists for the slug, **update** it, don't
|
|
@@ -12,6 +10,8 @@ clobber.
|
|
|
12
10
|
```markdown
|
|
13
11
|
# Eng review: <slug>
|
|
14
12
|
Vetted: <iso> Cross-model: ran (codex) | off
|
|
13
|
+
Implementation readiness: <READY | NEEDS CLARIFICATION | NEEDS REPLAN>
|
|
14
|
+
Readiness inputs SHA-256: <exact value from `devrites-engine readiness-digest engineering <slug>`>
|
|
15
15
|
|
|
16
16
|
## 1. Depth
|
|
17
17
|
light | full (<trigger that escalated it>) # every plan is vetted — light or full, never skipped (see depth.md)
|
|
@@ -22,6 +22,19 @@ light | full (<trigger that escalated it>) # every plan is vetted — light
|
|
|
22
22
|
- Complexity: ok | smell (<n files, m new services) → asked → <reduce|proceed, why>
|
|
23
23
|
- Built-in / completeness / distribution: <flags, with source citations>
|
|
24
24
|
|
|
25
|
+
## 2a. Build-entry preflight
|
|
26
|
+
| Gate | Command + cwd | Tool/version | Prerequisite owner | Full provenance inputs | Fixture/smoke | Verdict |
|
|
27
|
+
|---|---|---|---|---|---|---|
|
|
28
|
+
| <test/browser/package> | <command · cwd> | <version> | <owner + item> | <tool/manifest/lockfile/config SHA-256> | <what ran> | pass/fail/blocked |
|
|
29
|
+
|
|
30
|
+
## 2b. Implementation readiness
|
|
31
|
+
| Surface | Requirement/decision | Boundary/wiring | Slice | Proof | Verdict |
|
|
32
|
+
|---|---|---|---|---|---|
|
|
33
|
+
| <journey/data/interface/ops> | <REQ/AC + coverage row> | <contract + key link> | <SLICE-###> | <test-plan row> | ready/gap |
|
|
34
|
+
|
|
35
|
+
Inventory/currentness: <pass/gaps> · slice order/independence: <pass/gaps> ·
|
|
36
|
+
UX/spec/architecture: <pass/n-a/gaps> · operations/rollout/rollback: <pass/n-a/gaps>
|
|
37
|
+
|
|
25
38
|
## 3. Axis findings (floor-gated)
|
|
26
39
|
| Axis | Floor band | Findings (sev · confidence) |
|
|
27
40
|
|---|---|---|
|
|
@@ -47,6 +60,7 @@ Sequential — no opportunity # OR the dependency table + lanes + order + conf
|
|
|
47
60
|
## 7. Completion summary
|
|
48
61
|
- Scope: accepted | reduced · Architecture: <n> · Code-quality: <n>
|
|
49
62
|
- Coverage: <x/y> planned, <n> gaps, <n> regressions (Critical)
|
|
63
|
+
- Build entry: preflight <pass/fail/blocked>; action-time checkpoints <none/list>
|
|
50
64
|
- Failure modes: <n> mapped, <n> critical gaps
|
|
51
65
|
- NOT in scope: written · What already exists: written
|
|
52
66
|
- Plan: hardened in place | <n> deltas via Spec Drift Guard
|
|
@@ -61,6 +75,14 @@ test and where*, not implementation detail.
|
|
|
61
75
|
# Test plan: <slug>
|
|
62
76
|
From /rite-vet on <iso>. Runner + conventions: <detected framework + command>.
|
|
63
77
|
|
|
78
|
+
## Build-entry preflight
|
|
79
|
+
| Gate | Command | Cwd | Expected | Prerequisites | Provenance to recapture |
|
|
80
|
+
|---|---|---|---|---|---|
|
|
81
|
+
| <test/browser/package> | <exact command> | <path> | <exit/output> | <service/browser/credential owner> | <tool version + full SHA-256s> |
|
|
82
|
+
|
|
83
|
+
Link any disposable parser fixture. Build evidence recomputes every digest; preflight values
|
|
84
|
+
are not post-build proof.
|
|
85
|
+
|
|
64
86
|
## Coverage diagram
|
|
65
87
|
<the ASCII code-paths + user-flows diagram from review-axes.md, with COVERAGE / GAPS / REGRESSIONS line>
|
|
66
88
|
|
|
@@ -77,11 +99,8 @@ fails any row with no passing result — an unverified element is a NO-GO, like
|
|
|
77
99
|
```markdown
|
|
78
100
|
| Element / flow | Kind (field/checkbox/select/radio/toggle/button/link/flow) | Level | Test file | Asserts (action → expected) |
|
|
79
101
|
|---|---|---|---|---|
|
|
80
|
-
| email field
|
|
81
|
-
|
|
|
82
|
-
| country | select | unit | <form.test> | options load; change fires handler |
|
|
83
|
-
| submit | button | component | <form.test> | disabled until valid; click → submits once |
|
|
84
|
-
| login | flow ★★★ | E2E | <login.e2e> | enter → submit → lands on dashboard |
|
|
102
|
+
| email field | field | unit | <form.test> | invalid → error; valid → accepted |
|
|
103
|
+
| login | flow ★★★ | E2E | <login.e2e> | submit → dashboard |
|
|
85
104
|
```
|
|
86
105
|
Omit the whole section only for a slice with **no** interactive surface (pure backend/logic).
|
|
87
106
|
|
|
@@ -114,6 +133,9 @@ acceptance/behavior changes route through the **Spec Drift Guard**.
|
|
|
114
133
|
- `tasks.md` slices ← added test requirements (point at `test-plan.md`), added error-handling /
|
|
115
134
|
failure-mode coverage, tightened slice scope, a split of a refactor+behavior slice into two.
|
|
116
135
|
Adjust a slice's `Gate:` upward when vet reveals higher stakes (e.g. an unflagged migration).
|
|
136
|
+
For an eligible architecture competition, set the canonical `Forge`, `Forge strategies`,
|
|
137
|
+
and `Forge scorecard` fields only after the acceptance→test map is final; otherwise keep
|
|
138
|
+
`no` / `none` / `none`.
|
|
117
139
|
- Re-run the `plan.md` Readiness gate after edits; it must still pass.
|
|
118
140
|
- **Route through the Spec Drift Guard** (record `drift.md` + a recorded decision, then `/rite-plan
|
|
119
141
|
repair` for any structural reslice) for anything that **changes an acceptance criterion, product
|
|
@@ -133,3 +155,14 @@ acceptance/behavior changes route through the **Spec Drift Guard**.
|
|
|
133
155
|
`/rite-build` (the slice-wright) and `/rite-prove` **read `test-plan.md`** as the coverage
|
|
134
156
|
target; `/rite-review` and `/rite-seal` may consult `eng-review.md` for the failure-mode +
|
|
135
157
|
scope record.
|
|
158
|
+
- Write `test-plan.md` and finish all fold-back edits and rechecks first. If this pass changed
|
|
159
|
+
`brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`, revalidate the
|
|
160
|
+
affected decision-coverage rows, assumption audit, residual uncertainty, and closed gates.
|
|
161
|
+
Partial/Missing, an unowned material assumption, or an open blocking/escalating question routes
|
|
162
|
+
`/rite-clarify`/HITL; never hide it with a new digest. Once re-closed, run
|
|
163
|
+
`devrites-engine readiness-digest coverage <slug>` and replace the complete
|
|
164
|
+
`Coverage inputs SHA-256` line in `decision-coverage.md`. Only then run
|
|
165
|
+
`devrites-engine readiness-digest engineering <slug>` and copy its complete
|
|
166
|
+
field line into `eng-review.md`. The build gate rejects a stale digest,
|
|
167
|
+
placeholders, non-passing preflight/readiness rows, empty tables, or an
|
|
168
|
+
acceptance criterion with no test mapping.
|
|
@@ -1,57 +1,53 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Vet review: scope, four axes, and outputs
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
throughout
|
|
6
|
-
|
|
3
|
+
Run §0 first as a blocking gate, then review the four axes in order and produce the
|
|
4
|
+
required outputs. Apply the engineering lenses in [`eng-lenses.md`](eng-lenses.md)
|
|
5
|
+
throughout rather than as a separate checklist. Calibrate every finding through the
|
|
6
|
+
confidence and verification gate before presenting it.
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
## §0. Scope
|
|
10
|
+
## §0. Scope challenge (blocking gate)
|
|
11
11
|
|
|
12
|
-
Before reviewing
|
|
13
|
-
|
|
12
|
+
Before reviewing implementation details, check whether the plan includes more work than
|
|
13
|
+
the settled spec requires.
|
|
14
14
|
|
|
15
15
|
1. **What already exists?** For each sub-problem in the plan, find the existing code/flow that
|
|
16
16
|
already solves it (use a code-intelligence index if available: see `../../devrites-lib/reference/standards/tooling.md`).
|
|
17
17
|
Can the plan **capture outputs from an existing
|
|
18
18
|
flow** instead of building a parallel one? Reuse → extend → build new, in that order
|
|
19
19
|
(`coding-style.md`). List every reuse opportunity the plan misses.
|
|
20
|
-
2. **Minimum diff.**
|
|
21
|
-
criteria
|
|
22
|
-
|
|
23
|
-
matter, not a trim).
|
|
20
|
+
2. **Minimum diff.** Find the smallest set of changes that meets the spec's acceptance
|
|
21
|
+
criteria. Flag work that can be deferred without blocking acceptance. Do not cut an
|
|
22
|
+
acceptance criterion; that requires the Drift Guard.
|
|
24
23
|
3. **Complexity smell.** If `plan.md` touches **>8 files** or adds **>2 new services / modules /
|
|
25
24
|
classes**, treat it as a smell. Check the plan's complexity gate justifies it. If it doesn't
|
|
26
|
-
→
|
|
27
|
-
|
|
25
|
+
→ harden to the smallest acceptance-preserving plan. Ask only if reduction changes
|
|
26
|
+
acceptance or explicit architecture policy; never start the axes unresolved.
|
|
28
27
|
4. **Built-in check.** For each new pattern / infra component / concurrency approach the plan
|
|
29
28
|
introduces, verify a framework/runtime built-in doesn't already do it, and that the choice is
|
|
30
29
|
current best practice with no known footgun: dispatch `devrites-source-driven` to confirm at
|
|
31
30
|
the source and record the citation. A custom roll where a built-in exists is a scope-reduction
|
|
32
31
|
finding.
|
|
33
|
-
5. **Completeness check.**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
minutes here is a false economy. Prefer the complete option; flag shortcuts that exist only to
|
|
37
|
-
save effort that AI has already made cheap.
|
|
32
|
+
5. **Completeness check.** Identify shortcuts in edge-case handling, error paths, and
|
|
33
|
+
test coverage. Prefer the complete option when AI-assisted implementation makes the
|
|
34
|
+
additional work small. Flag shortcuts that save little time but leave known gaps.
|
|
38
35
|
6. **Distribution check.** If the plan introduces a new artifact (CLI binary, package, container,
|
|
39
36
|
deployable), does it include how it gets built / published / installed? If distribution is
|
|
40
37
|
deferred, say so explicitly in "NOT in scope": don't let it silently drop.
|
|
41
38
|
|
|
42
|
-
> **STOP discipline.**
|
|
43
|
-
>
|
|
39
|
+
> **STOP discipline.** Fold technical reduction into the plan; ask and stop only for a
|
|
40
|
+
> human-owned choice.
|
|
44
41
|
|
|
45
42
|
If the smell does not trip, present the §0 findings and proceed to Axis 1.
|
|
46
43
|
|
|
47
44
|
---
|
|
48
45
|
|
|
49
|
-
##
|
|
46
|
+
## Four axes (one at a time, at most 8 findings each)
|
|
50
47
|
|
|
51
|
-
For each axis
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
moving on" and continue: don't manufacture findings.
|
|
48
|
+
For each axis, fold verified technical findings into the plan, then walk each human-owned
|
|
49
|
+
decision via one coherent `AskUserQuestion` packet. Supporting findings may combine only
|
|
50
|
+
with one owner/trade-off. HITL pauses there; AFK follows `depth.md`. Never invent findings.
|
|
55
51
|
|
|
56
52
|
### 1. Architecture
|
|
57
53
|
- Component boundaries, coupling, data-flow patterns, single points of failure. Architecture records invariants, not scaffolding: each medium+ decision should state `Binds:` and `Prevents:` so the builder knows what divergence it prevents.
|
|
@@ -72,7 +68,7 @@ moving on" and continue: don't manufacture findings.
|
|
|
72
68
|
change will make stale.
|
|
73
69
|
|
|
74
70
|
### 3. Test-coverage design
|
|
75
|
-
|
|
71
|
+
Design tests before code so the build writes them alongside the implementation.
|
|
76
72
|
- **Framework detection:** find the project's existing test runner + conventions; match them
|
|
77
73
|
(never introduce a new runner to prove one change: `testing.md`).
|
|
78
74
|
- **Map acceptance → tests.** Every spec acceptance criterion must map to ≥1 planned, surface-anchored test (the API response/UI state/CLI output the criterion names, not an internal proxy).
|
|
@@ -117,22 +113,21 @@ acceptance criteria covered ✓" and continue.
|
|
|
117
113
|
|
|
118
114
|
---
|
|
119
115
|
|
|
120
|
-
## Confidence
|
|
116
|
+
## Confidence and verification gate
|
|
121
117
|
Tag each finding `[severity] (confidence: N/10) <plan/task/spec ref> — finding`:
|
|
122
118
|
- **9-10** verified against a quoted line · **7-8** strong pattern match → report normally.
|
|
123
119
|
- **5-6** moderate → report with "verify this is real".
|
|
124
120
|
- **≤4** speculative → **suppress from the walk-through**, appendix only.
|
|
125
121
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
plan
|
|
129
|
-
runs: `devrites-plan-reviewer`.)
|
|
122
|
+
Before raising a finding, quote the lines that support it. If no line supports it, set
|
|
123
|
+
confidence to 4 or lower and suppress it. Do not inflate confidence to avoid suppression.
|
|
124
|
+
`devrites-plan-reviewer` follows the same rule.
|
|
130
125
|
|
|
131
126
|
---
|
|
132
127
|
|
|
133
|
-
##
|
|
128
|
+
## Present human-owned decisions
|
|
134
129
|
Use `AskUserQuestion` per the pack's standard. Plan-review specifics:
|
|
135
|
-
- **One
|
|
130
|
+
- **One decision = one call.** Never ask about agent work or batch unrelated choices.
|
|
136
131
|
- Concrete: name the plan/task section + the quoted line.
|
|
137
132
|
- 2-3 options, including "do nothing / proceed as-is" where reasonable.
|
|
138
133
|
- Per option, one line: **effort** (human ~X / with the build agent ~Y), **risk**, **maintenance**.
|
|
@@ -144,8 +139,10 @@ Use `AskUserQuestion` per the pack's standard. Plan-review specifics:
|
|
|
144
139
|
happy-path), add `Completeness: N/10` per option. If they differ in *kind* (two different
|
|
145
140
|
architectures), skip the score and note "options differ in kind, not coverage". Never fabricate
|
|
146
141
|
a score on a kind question.
|
|
147
|
-
- Every material
|
|
148
|
-
|
|
142
|
+
- Every material call ends as a **recorded decision**: behavior-preserving technical hardening
|
|
143
|
+
goes to `decisions.md`; a human-owned HITL choice gets a resolved `questions.md` qid; AFK
|
|
144
|
+
records the allowed recommendation in `decisions.md`. The review must leave an auditable
|
|
145
|
+
trail without turning agent work into questions.
|
|
149
146
|
|
|
150
147
|
---
|
|
151
148
|
|
|
@@ -164,4 +161,9 @@ Use `AskUserQuestion` per the pack's standard. Plan-review specifics:
|
|
|
164
161
|
parallel lanes (shared module → same lane/sequential; independent → separate lanes), execution
|
|
165
162
|
order, and conflict flags where two lanes touch the same module dir. This feeds `/rite-build`'s
|
|
166
163
|
isolation strategy and the autocomplete loop. (Shape in [`artifacts.md`](artifacts.md).)
|
|
167
|
-
5. **
|
|
164
|
+
5. **Build-entry preflight:** commands/cwds, tools, package state, parser/browser smoke,
|
|
165
|
+
prerequisites, and provenance ([`artifacts.md`](artifacts.md)).
|
|
166
|
+
6. **Implementation readiness:** goal-backward coverage, wiring, dependency simulation,
|
|
167
|
+
alignment, operations, and rollback verdict.
|
|
168
|
+
7. **Completion summary:** the compact recap defined in
|
|
169
|
+
[`artifacts.md`](artifacts.md).
|