devrites 3.2.27 → 4.0.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 +22 -144
- package/NOTICE.md +6 -5
- package/README.md +187 -95
- package/SECURITY.md +103 -79
- package/bin/devrites.mjs +140 -24
- package/docs/adr/0003-gate-model-hitl-pause.md +1 -1
- package/docs/adr/0013-native-codex-agent-orchestration.md +74 -0
- package/docs/adr/0014-native-host-hook-boundary.md +64 -0
- package/docs/adr/0015-read-only-root-native-orchestration.md +96 -0
- package/docs/adr/0016-codex-writer-fail-closed.md +53 -0
- package/docs/adr/0017-native-codex-writer-agent.md +63 -0
- package/docs/adr/0018-native-sandbox-instruction-writer-boundary.md +66 -0
- package/docs/adr/0019-native-boundary-with-deterministic-gates.md +48 -0
- package/docs/adr/0020-thin-engine-native-orchestration-boundary.md +54 -0
- package/docs/adr/0021-observable-workspace-compatibility.md +49 -0
- package/docs/adr/0022-native-orchestration-thin-engine.md +90 -0
- package/docs/adr/0023-native-workspace-reads-line-output.md +71 -0
- package/docs/adr/0024-native-policy-offline-installer-boundary.md +111 -0
- package/docs/adr/0025-evidence-gated-workspace-upgrades.md +64 -0
- package/docs/adr/0026-content-bound-proof-and-bounded-inputs.md +169 -0
- package/docs/adr/0027-content-bound-build-readiness.md +77 -0
- package/docs/adr/README.md +26 -11
- package/docs/agents/domain.md +2 -1
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/architecture.md +191 -103
- package/docs/candidate-integrity.md +138 -0
- package/docs/capability-surface-selection.md +15 -5
- package/docs/cli.md +139 -92
- package/docs/command-map.md +88 -63
- package/docs/engine/commands.md +115 -507
- package/docs/engine/state-schema.md +94 -113
- package/docs/engine/workspace-schema.md +169 -229
- package/docs/flow.md +113 -68
- package/docs/harness-compliance.md +29 -56
- package/docs/markdown-instruction-upgrade-2026-08-02.md +302 -0
- package/docs/orchestration.md +136 -149
- package/docs/porting-to-a-new-harness.md +22 -7
- package/docs/quick-reference.md +21 -8
- package/docs/release.md +47 -4
- package/docs/skills.md +111 -72
- package/docs/templates/CRITIC_REVIEW_PACKET_TEMPLATE.md +2 -0
- package/docs/upstream-workflow-benchmark-2026-08-01.md +655 -0
- package/docs/usage.md +99 -65
- package/engine/Makefile +1 -2
- package/engine/cmd/releasepack/main.go +45 -25
- package/engine/cmd/releasepack/main_test.go +69 -0
- package/engine/commands.go +8 -258
- package/engine/harnessmatrix_test.go +28 -41
- package/engine/internal/devritespaths/paths.go +12 -28
- package/engine/internal/fsutil/copy.go +8 -0
- package/engine/internal/gate/gate.go +104 -105
- package/engine/internal/gate/gate_test.go +94 -84
- package/engine/internal/gate/readiness_binding.go +203 -0
- package/engine/internal/gate/readiness_binding_test.go +271 -0
- package/engine/internal/gitenv/env.go +46 -0
- package/engine/internal/gitenv/env_test.go +48 -0
- package/engine/internal/hostpack/hostpack.go +16 -20
- package/engine/internal/hostpack/hostpack_test.go +6 -6
- package/engine/internal/install/install.go +289 -511
- package/engine/internal/install/install_test.go +218 -306
- package/engine/internal/lib/candidate.go +475 -0
- package/engine/internal/lib/candidate_test.go +503 -0
- package/engine/internal/lib/closeout.go +17 -21
- package/engine/internal/lib/closeout_test.go +23 -0
- package/engine/internal/lib/cursor_compat_test.go +12 -75
- package/engine/internal/lib/evidencefresh.go +58 -47
- package/engine/internal/lib/evidencefresh_test.go +120 -0
- package/engine/internal/lib/resolve.go +13 -35
- package/engine/internal/lib/resolve_remediation_test.go +5 -17
- package/engine/internal/lib/secretscan.go +432 -0
- package/engine/internal/lib/secretscan_test.go +555 -0
- package/engine/internal/lib/util.go +24 -65
- package/engine/internal/lib/util_test.go +44 -0
- package/engine/internal/markdowntext/markdowntext.go +108 -0
- package/engine/internal/markdowntext/markdowntext_test.go +58 -0
- package/engine/internal/markdowntext/testdata/structural.json +27 -0
- package/engine/internal/reason/reason.go +2 -123
- package/engine/internal/reason/reason_test.go +4 -2
- package/engine/internal/rootfacts/facts.go +6 -8
- package/engine/internal/rootfacts/facts_test.go +20 -0
- package/engine/internal/state/cmd/workflowmanifest/main.go +10 -12
- package/engine/internal/state/cursor.go +53 -14
- package/engine/internal/state/cursor_test.go +57 -0
- package/engine/internal/state/feature.go +64 -154
- package/engine/internal/state/schema.go +24 -50
- package/engine/internal/state/state_test.go +151 -140
- package/engine/internal/state/status.go +4 -17
- package/engine/internal/state/workflow_manifest.json +9 -89
- package/engine/main.go +73 -502
- package/engine/root_routing_test.go +183 -212
- package/engine/testdata/fixtures/basic/devrites-root/{features/auth-tokens/feature.md → work/auth-tokens/README.md} +0 -1
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/architecture.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/assumptions.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/brief.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/decision-coverage.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/eng-review.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/questions.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/{features/auth-tokens/status.md → work/auth-tokens/state.md} +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/test-plan.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/traceability.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/{features/search-ranking/feature.md → work/search-ranking/README.md} +0 -1
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/assumptions.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/brief.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/decisions.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/questions.md +3 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +2 -0
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_slug_cleared.golden +1 -1
- package/engine/tests/adr_0003_gate_exit_code_test.go +2 -2
- package/engine/tests/adr_0011_define_plan_test.go +2 -2
- package/engine/tests/adr_0027_readiness_binding_test.go +106 -0
- package/engine/tests/cli_test.go +24 -107
- package/engine/tests/gate_test.go +177 -200
- package/engine/tests/meta_test.go +5 -35
- package/engine/tests/parity_closeout_test.go +12 -12
- package/engine/tests/parity_resolve_test.go +6 -16
- package/engine/tests/parity_test.go +8 -302
- package/install.sh +201 -34
- package/pack/.claude/agents/devrites-code-reviewer.md +9 -18
- package/pack/.claude/agents/devrites-devex-reviewer.md +10 -18
- package/pack/.claude/agents/devrites-doubt-reviewer.md +10 -20
- package/pack/.claude/agents/devrites-evidence-scout.md +14 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +9 -15
- package/pack/.claude/agents/devrites-performance-reviewer.md +13 -21
- package/pack/.claude/agents/devrites-plan-drafter.md +24 -28
- package/pack/.claude/agents/devrites-plan-reviewer.md +30 -47
- package/pack/.claude/agents/devrites-proof-runner.md +41 -47
- package/pack/.claude/agents/devrites-retrospector.md +34 -79
- package/pack/.claude/agents/devrites-security-auditor.md +9 -17
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +9 -18
- package/pack/.claude/agents/devrites-slice-wright.md +44 -62
- package/pack/.claude/agents/devrites-spec-reviewer.md +38 -50
- package/pack/.claude/agents/devrites-strategy-reviewer.md +10 -19
- package/pack/.claude/agents/devrites-test-analyst.md +22 -21
- package/pack/.claude/agents/devrites-upgrade-planner.md +52 -71
- package/pack/.claude/settings.json +12 -100
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +1 -2
- package/pack/.claude/skills/devrites-audit/SKILL.md +6 -9
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +0 -1
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -27
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
- package/pack/.claude/skills/devrites-doubt/SKILL.md +4 -6
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +1 -2
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +2 -1
- package/pack/.claude/skills/devrites-interview/SKILL.md +31 -36
- package/pack/.claude/skills/devrites-lib/SKILL.md +37 -66
- package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +51 -0
- package/pack/.claude/skills/devrites-lib/reference/intent-map.md +20 -12
- package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +26 -93
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +6 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +90 -216
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +9 -28
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +59 -54
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +29 -143
- package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +13 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +22 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +15 -24
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -4
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +3 -4
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +3 -3
- package/pack/.claude/skills/rite/SKILL.md +12 -13
- package/pack/.claude/skills/rite/reference/menu.md +11 -11
- package/pack/.claude/skills/rite-adopt/SKILL.md +29 -84
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +16 -50
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +65 -54
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +24 -17
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
- package/pack/.claude/skills/rite-build/SKILL.md +28 -34
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +36 -34
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +5 -19
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +10 -9
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +17 -17
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +3 -3
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +11 -14
- package/pack/.claude/skills/rite-build/reference/output.md +14 -24
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +49 -188
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +43 -133
- package/pack/.claude/skills/rite-clarify/SKILL.md +46 -40
- package/pack/.claude/skills/rite-clarify/reference/decision-coverage.md +4 -10
- package/pack/.claude/skills/rite-converge/SKILL.md +9 -33
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +2 -2
- package/pack/.claude/skills/rite-customize/SKILL.md +34 -50
- package/pack/.claude/skills/rite-define/SKILL.md +34 -58
- package/pack/.claude/skills/rite-define/reference/plan-template.md +15 -0
- package/pack/.claude/skills/rite-doctor/SKILL.md +52 -64
- package/pack/.claude/skills/rite-dogfood/SKILL.md +1 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +1 -20
- package/pack/.claude/skills/rite-frame/SKILL.md +1 -7
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +1 -1
- package/pack/.claude/skills/rite-handoff/SKILL.md +1 -2
- package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +1 -1
- package/pack/.claude/skills/rite-learn/SKILL.md +44 -104
- package/pack/.claude/skills/rite-plan/SKILL.md +14 -26
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +4 -1
- package/pack/.claude/skills/rite-polish/SKILL.md +20 -28
- package/pack/.claude/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/{generated/claude/skills/rite-ship → .claude/skills/rite-polish}/reference/design-memory.md +23 -21
- package/pack/.claude/skills/rite-polish/reference/ledger.md +62 -0
- package/pack/.claude/skills/rite-pov/SKILL.md +28 -32
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +0 -1
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +6 -13
- package/pack/.claude/skills/rite-prototype/SKILL.md +0 -6
- package/pack/.claude/skills/rite-prove/SKILL.md +73 -68
- package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +34 -30
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +15 -14
- package/pack/.claude/skills/rite-quick/SKILL.md +5 -19
- package/pack/.claude/skills/rite-resolve/SKILL.md +4 -21
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
- package/pack/.claude/skills/rite-review/SKILL.md +34 -57
- package/pack/.claude/skills/rite-seal/SKILL.md +54 -87
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +2 -2
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +31 -56
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +27 -51
- package/pack/.claude/skills/rite-seal/reference/output.md +2 -4
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +42 -140
- package/pack/.claude/skills/rite-seal/reference/risk-and-rollback.md +2 -2
- package/pack/.claude/skills/rite-seal/reference/seal-template.md +17 -28
- package/pack/.claude/skills/rite-ship/SKILL.md +65 -93
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +4 -1
- package/pack/.claude/skills/rite-ship/reference/close-out.md +4 -12
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +86 -48
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +22 -16
- package/pack/.claude/skills/rite-spec/SKILL.md +62 -95
- package/pack/.claude/skills/rite-spec/reference/investigation.md +1 -4
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +21 -20
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +16 -17
- package/pack/.claude/skills/rite-spec/reference/spec-template.md +47 -49
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +28 -13
- package/pack/.claude/skills/rite-status/SKILL.md +30 -88
- package/pack/.claude/skills/rite-temper/SKILL.md +12 -31
- package/pack/.claude/skills/rite-upgrade/SKILL.md +86 -101
- package/pack/.claude/skills/rite-vet/SKILL.md +88 -117
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +56 -50
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +15 -39
- package/pack/.claude/skills/rite-vet/reference/depth.md +2 -2
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +3 -6
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +0 -6
- package/pack/generated/README.md +2 -2
- package/pack/generated/claude/agents/devrites-code-reviewer.md +9 -18
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +10 -18
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +10 -20
- package/pack/generated/claude/agents/devrites-evidence-scout.md +14 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +9 -15
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +13 -21
- package/pack/generated/claude/agents/devrites-plan-drafter.md +24 -28
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +30 -47
- package/pack/generated/claude/agents/devrites-proof-runner.md +41 -47
- package/pack/generated/claude/agents/devrites-retrospector.md +34 -79
- package/pack/generated/claude/agents/devrites-security-auditor.md +9 -17
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +9 -18
- package/pack/generated/claude/agents/devrites-slice-wright.md +44 -62
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +38 -50
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +10 -19
- package/pack/generated/claude/agents/devrites-test-analyst.md +22 -21
- package/pack/generated/claude/agents/devrites-upgrade-planner.md +52 -71
- package/pack/generated/claude/settings.json +12 -100
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +1 -2
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +6 -9
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +0 -1
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -27
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +4 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +1 -2
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +2 -1
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +31 -36
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +37 -66
- package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +51 -0
- package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +20 -12
- package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +26 -93
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +6 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +90 -216
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +9 -28
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +59 -54
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +29 -143
- package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +13 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +22 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +15 -24
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -4
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +3 -4
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite/SKILL.md +12 -13
- package/pack/generated/claude/skills/rite/reference/menu.md +11 -11
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +29 -84
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +16 -50
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +65 -54
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +24 -17
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
- package/pack/generated/claude/skills/rite-build/SKILL.md +28 -34
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +36 -34
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +5 -19
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +10 -9
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +17 -17
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +11 -14
- package/pack/generated/claude/skills/rite-build/reference/output.md +14 -24
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +49 -188
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +43 -133
- package/pack/generated/claude/skills/rite-clarify/SKILL.md +46 -40
- package/pack/generated/claude/skills/rite-clarify/reference/decision-coverage.md +4 -10
- package/pack/generated/claude/skills/rite-converge/SKILL.md +9 -33
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +2 -2
- package/pack/generated/claude/skills/rite-customize/SKILL.md +34 -50
- package/pack/generated/claude/skills/rite-define/SKILL.md +34 -58
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +15 -0
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +52 -64
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +1 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +1 -20
- package/pack/generated/claude/skills/rite-frame/SKILL.md +1 -7
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +1 -1
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +1 -2
- package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +1 -1
- package/pack/generated/claude/skills/rite-learn/SKILL.md +44 -104
- package/pack/generated/claude/skills/rite-plan/SKILL.md +14 -26
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +4 -1
- package/pack/generated/claude/skills/rite-polish/SKILL.md +20 -28
- package/pack/generated/claude/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/{codex/skills/rite-ship → claude/skills/rite-polish}/reference/design-memory.md +23 -21
- package/pack/generated/claude/skills/rite-polish/reference/ledger.md +62 -0
- package/pack/generated/claude/skills/rite-pov/SKILL.md +28 -32
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +0 -1
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +6 -13
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +0 -6
- package/pack/generated/claude/skills/rite-prove/SKILL.md +73 -68
- package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +34 -30
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +15 -14
- package/pack/generated/claude/skills/rite-quick/SKILL.md +5 -19
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +4 -21
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -57
- package/pack/generated/claude/skills/rite-seal/SKILL.md +54 -87
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +2 -2
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +31 -56
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +27 -51
- package/pack/generated/claude/skills/rite-seal/reference/output.md +2 -4
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +42 -140
- package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +2 -2
- package/pack/generated/claude/skills/rite-seal/reference/seal-template.md +17 -28
- package/pack/generated/claude/skills/rite-ship/SKILL.md +65 -93
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +4 -1
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +4 -12
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +86 -48
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +22 -16
- package/pack/generated/claude/skills/rite-spec/SKILL.md +62 -95
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +1 -4
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +21 -20
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +16 -17
- package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +47 -49
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +28 -13
- package/pack/generated/claude/skills/rite-status/SKILL.md +30 -88
- package/pack/generated/claude/skills/rite-temper/SKILL.md +12 -31
- package/pack/generated/claude/skills/rite-upgrade/SKILL.md +86 -101
- package/pack/generated/claude/skills/rite-vet/SKILL.md +88 -117
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +56 -50
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +15 -39
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +2 -2
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +3 -6
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +0 -6
- package/pack/generated/codex/AGENTS.md +5 -4
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +8 -27
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +9 -27
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +9 -29
- package/pack/generated/codex/agents/devrites-evidence-scout.toml +14 -36
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +8 -24
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +12 -30
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +24 -38
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +30 -57
- package/pack/generated/codex/agents/devrites-proof-runner.toml +41 -57
- package/pack/generated/codex/agents/devrites-retrospector.toml +34 -89
- package/pack/generated/codex/agents/devrites-security-auditor.toml +8 -26
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +8 -27
- package/pack/generated/codex/agents/devrites-slice-wright.toml +44 -71
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +38 -60
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +9 -28
- package/pack/generated/codex/agents/devrites-test-analyst.toml +21 -30
- package/pack/generated/codex/agents/devrites-upgrade-planner.toml +52 -81
- package/pack/generated/codex/config.toml +7 -0
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +1 -21
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +6 -28
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +1 -21
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -46
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +22 -33
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +4 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +1 -21
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +2 -1
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +32 -56
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +38 -86
- package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +51 -0
- package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +20 -12
- package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +22 -0
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +35 -110
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +26 -93
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +6 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +43 -34
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +90 -216
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +9 -28
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +13 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +59 -54
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +29 -143
- package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +5 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +13 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +112 -82
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +71 -45
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +22 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +15 -24
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +106 -37
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -23
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +3 -23
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +3 -22
- package/pack/generated/codex/skills/rite/SKILL.md +12 -32
- package/pack/generated/codex/skills/rite/reference/menu.md +11 -11
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +29 -103
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +16 -50
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +65 -73
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +24 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +18 -21
- package/pack/generated/codex/skills/rite-build/SKILL.md +28 -53
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +36 -34
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +5 -19
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +10 -9
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +17 -17
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +11 -14
- package/pack/generated/codex/skills/rite-build/reference/output.md +14 -24
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +49 -188
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +43 -133
- package/pack/generated/codex/skills/rite-clarify/SKILL.md +46 -59
- package/pack/generated/codex/skills/rite-clarify/reference/decision-coverage.md +4 -10
- package/pack/generated/codex/skills/rite-converge/SKILL.md +9 -52
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +2 -2
- package/pack/generated/codex/skills/rite-customize/SKILL.md +32 -67
- package/pack/generated/codex/skills/rite-define/SKILL.md +34 -77
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +15 -0
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +52 -83
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +1 -21
- package/pack/generated/codex/skills/rite-explain/SKILL.md +1 -39
- package/pack/generated/codex/skills/rite-frame/SKILL.md +1 -26
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +1 -1
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +1 -21
- package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +1 -1
- package/pack/generated/codex/skills/rite-learn/SKILL.md +44 -123
- package/pack/generated/codex/skills/rite-plan/SKILL.md +14 -45
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +4 -1
- package/pack/generated/codex/skills/rite-polish/SKILL.md +20 -47
- package/pack/generated/codex/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/{.claude/skills/rite-ship → generated/codex/skills/rite-polish}/reference/design-memory.md +23 -21
- package/pack/generated/codex/skills/rite-polish/reference/ledger.md +62 -0
- package/pack/generated/codex/skills/rite-pov/SKILL.md +28 -51
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +0 -20
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +6 -32
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +0 -25
- package/pack/generated/codex/skills/rite-prove/SKILL.md +73 -87
- package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +34 -30
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +15 -14
- package/pack/generated/codex/skills/rite-quick/SKILL.md +5 -38
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +4 -40
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +2 -2
- package/pack/generated/codex/skills/rite-review/SKILL.md +34 -76
- package/pack/generated/codex/skills/rite-seal/SKILL.md +51 -103
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +2 -2
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +31 -56
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +27 -51
- package/pack/generated/codex/skills/rite-seal/reference/output.md +2 -4
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +42 -140
- package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +2 -2
- package/pack/generated/codex/skills/rite-seal/reference/seal-template.md +17 -28
- package/pack/generated/codex/skills/rite-ship/SKILL.md +65 -112
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +4 -1
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +4 -12
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +86 -48
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +22 -16
- package/pack/generated/codex/skills/rite-spec/SKILL.md +62 -114
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +1 -4
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +21 -20
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +16 -17
- package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +47 -49
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +28 -13
- package/pack/generated/codex/skills/rite-status/SKILL.md +30 -107
- package/pack/generated/codex/skills/rite-temper/SKILL.md +12 -50
- package/pack/generated/codex/skills/rite-upgrade/SKILL.md +86 -120
- package/pack/generated/codex/skills/rite-vet/SKILL.md +88 -136
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +56 -50
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +15 -39
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +2 -2
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +3 -6
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +0 -25
- package/package.json +6 -5
- package/scripts/build-host-artifacts.sh +5 -9
- package/scripts/codex-generate.sh +18 -278
- package/scripts/install-lib.sh +121 -34
- package/uninstall.sh +19 -17
- package/update.sh +26 -18
- package/docs/engine/agent-contract.md +0 -172
- package/docs/extensions.md +0 -178
- package/engine/git_guard.go +0 -187
- package/engine/git_guard_test.go +0 -283
- package/engine/harnessmatrix.go +0 -60
- package/engine/hookpolicy.go +0 -113
- package/engine/hookpolicy_test.go +0 -160
- package/engine/hooks.go +0 -677
- package/engine/hooks_agent_dispatch.go +0 -1637
- package/engine/hooks_events_test.go +0 -431
- package/engine/hooks_workspace.go +0 -1196
- package/engine/internal/doctor/doctor.go +0 -306
- package/engine/internal/doctor/doctor_test.go +0 -252
- package/engine/internal/forge/forge.go +0 -938
- package/engine/internal/forge/forge_test.go +0 -576
- package/engine/internal/forge/git.go +0 -245
- package/engine/internal/forge/liveness_unix.go +0 -48
- package/engine/internal/forge/liveness_windows.go +0 -67
- package/engine/internal/forge/manifest.go +0 -402
- package/engine/internal/harness/compliance.go +0 -96
- package/engine/internal/harness/harness.go +0 -301
- package/engine/internal/harness/harness_test.go +0 -124
- package/engine/internal/iohooks/detach_other.go +0 -11
- package/engine/internal/iohooks/detach_unix.go +0 -11
- package/engine/internal/iohooks/iohooks.go +0 -839
- package/engine/internal/iohooks/iohooks_test.go +0 -561
- package/engine/internal/lib/adoption.go +0 -659
- package/engine/internal/lib/adoption_test.go +0 -121
- package/engine/internal/lib/analyze.go +0 -232
- package/engine/internal/lib/archivesearch.go +0 -125
- package/engine/internal/lib/archivesearch_test.go +0 -138
- package/engine/internal/lib/budget.go +0 -172
- package/engine/internal/lib/buildreadiness.go +0 -111
- package/engine/internal/lib/checkacceptance.go +0 -176
- package/engine/internal/lib/clarifyreturn.go +0 -91
- package/engine/internal/lib/clarifyreturn_test.go +0 -123
- package/engine/internal/lib/command_other.go +0 -7
- package/engine/internal/lib/command_unix.go +0 -24
- package/engine/internal/lib/context.go +0 -280
- package/engine/internal/lib/conventions.go +0 -449
- package/engine/internal/lib/coverage.go +0 -145
- package/engine/internal/lib/dispatchwaive.go +0 -31
- package/engine/internal/lib/dispatchwaive_test.go +0 -23
- package/engine/internal/lib/doubtcoverage.go +0 -78
- package/engine/internal/lib/extensions.go +0 -622
- package/engine/internal/lib/extensions_test.go +0 -305
- package/engine/internal/lib/footprint.go +0 -239
- package/engine/internal/lib/gitauthority.go +0 -601
- package/engine/internal/lib/gitauthority_test.go +0 -346
- package/engine/internal/lib/jsonout.go +0 -129
- package/engine/internal/lib/jsonout_test.go +0 -73
- package/engine/internal/lib/lanes.go +0 -112
- package/engine/internal/lib/learnings.go +0 -397
- package/engine/internal/lib/learnings_inject_test.go +0 -77
- package/engine/internal/lib/learnings_remediation_test.go +0 -24
- package/engine/internal/lib/ledger.go +0 -311
- package/engine/internal/lib/ledger_test.go +0 -186
- package/engine/internal/lib/mutationgate.go +0 -89
- package/engine/internal/lib/observability_test.go +0 -358
- package/engine/internal/lib/overrides.go +0 -164
- package/engine/internal/lib/overrides_test.go +0 -112
- package/engine/internal/lib/preamble.go +0 -159
- package/engine/internal/lib/preamble_questions_test.go +0 -10
- package/engine/internal/lib/progress.go +0 -210
- package/engine/internal/lib/provenance.go +0 -462
- package/engine/internal/lib/provenance_test.go +0 -154
- package/engine/internal/lib/readiness_contract.json +0 -118
- package/engine/internal/lib/readinessartifact.go +0 -533
- package/engine/internal/lib/readinessartifact_test.go +0 -422
- package/engine/internal/lib/reconcile.go +0 -1496
- package/engine/internal/lib/reconcile_test.go +0 -1071
- package/engine/internal/lib/recoveryattempts.go +0 -298
- package/engine/internal/lib/recoveryattempts_test.go +0 -215
- package/engine/internal/lib/reviewers.go +0 -143
- package/engine/internal/lib/reviewers_test.go +0 -45
- package/engine/internal/lib/reviewerstats.go +0 -199
- package/engine/internal/lib/reviewerstats_test.go +0 -104
- package/engine/internal/lib/reviewintegrity.go +0 -143
- package/engine/internal/lib/reviewintegrity_test.go +0 -103
- package/engine/internal/lib/runbook.go +0 -295
- package/engine/internal/lib/runbook_context_test.go +0 -182
- package/engine/internal/lib/session.go +0 -1020
- package/engine/internal/lib/session_test.go +0 -177
- package/engine/internal/lib/specparse.go +0 -125
- package/engine/internal/lib/specskeleton.go +0 -79
- package/engine/internal/lib/specvalidate.go +0 -391
- package/engine/internal/lib/specvalidate_test.go +0 -185
- package/engine/internal/lib/stuck.go +0 -206
- package/engine/internal/lib/templates/conventions_drift.tmpl +0 -6
- package/engine/internal/lib/templates/conventions_ledger_header.md +0 -6
- package/engine/internal/lib/templates/conventions_orient_header.txt +0 -1
- package/engine/internal/lib/testintegrity.go +0 -199
- package/engine/internal/lib/testintegrity_test.go +0 -149
- package/engine/internal/lib/tickafk.go +0 -86
- package/engine/internal/migrate/migrate.go +0 -279
- package/engine/internal/migrate/migrate_test.go +0 -157
- package/engine/internal/orient/firstrun.go +0 -50
- package/engine/internal/orient/firstrun_test.go +0 -72
- package/engine/internal/orient/orient.go +0 -69
- package/engine/internal/orient/orient_test.go +0 -25
- package/engine/internal/profile/profile.go +0 -284
- package/engine/internal/profile/profile_test.go +0 -13
- package/engine/internal/state/clarify_transition.go +0 -165
- package/engine/internal/state/clarify_transition_test.go +0 -130
- package/engine/internal/state/snapshot.go +0 -457
- package/engine/internal/toolpolicy/classifier.go +0 -533
- package/engine/internal/toolpolicy/classifier_test.go +0 -424
- package/engine/internal/toolpolicy/git.go +0 -616
- package/engine/internal/toolpolicy/scanner.go +0 -382
- package/engine/observability_cli_test.go +0 -52
- package/engine/profile_test.go +0 -76
- package/engine/subagent_orient_context.txt +0 -8
- package/engine/testdata/golden/TestParityA1Guard/devrites-edit-allowed.golden +0 -1
- package/engine/testdata/golden/TestParityA1Guard/no-window-silent.golden +0 -1
- package/engine/testdata/golden/TestParityA1Guard/non-edit-tool.golden +0 -1
- package/engine/testdata/golden/TestParityA1Guard/observe-mode-silent.golden +0 -1
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +0 -2
- package/engine/testdata/golden/TestParityA1Guard/subagent-allowed.golden +0 -1
- package/engine/testdata/golden/TestParityAnalyze/noactive.golden +0 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +0 -15
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +0 -16
- package/engine/testdata/golden/TestParityAnalyze/slug=ghost.golden +0 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +0 -15
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +0 -17
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +0 -16
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +0 -16
- package/engine/testdata/golden/TestParityBudget/default-active.golden +0 -4
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +0 -5
- package/engine/testdata/golden/TestParityBudget/no-active.golden +0 -1
- package/engine/testdata/golden/TestParityBudget/no-feature.golden +0 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +0 -6
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +0 -6
- package/engine/testdata/golden/TestParityBudget/within.golden +0 -6
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +0 -2
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approvenone.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=await.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=blocked.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=clarifyopen.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +0 -2
- package/engine/testdata/golden/TestParityBuildReadiness/arg=ghost.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=legacycontract.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=noapprove.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=noclarify.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=novet.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=stalevet.golden +0 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +0 -2
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +0 -2
- package/engine/testdata/golden/TestParityBuildReadiness/arg=vetnotready.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=blank-section.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=empty.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-dropped.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +0 -2
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-unchecked.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-gap.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +0 -2
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-seal.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-section.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=nonexistent.golden +0 -1
- package/engine/testdata/golden/TestParityCheckAcceptance.golden +0 -1
- package/engine/testdata/golden/TestParityCoverage/arg=flat.golden +0 -7
- package/engine/testdata/golden/TestParityCoverage/arg=full.golden +0 -10
- package/engine/testdata/golden/TestParityCoverage/arg=nonexistent.golden +0 -1
- package/engine/testdata/golden/TestParityCoverage/arg=nospec.golden +0 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +0 -9
- package/engine/testdata/golden/TestParityCoverage.golden +0 -1
- package/engine/testdata/golden/TestParityCursor/bare.golden +0 -3
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +0 -6
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +0 -5
- package/engine/testdata/golden/TestParityCursor/no-active.golden +0 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +0 -5
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +0 -5
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=doubted.golden +0 -2
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +0 -2
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +0 -3
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +0 -4
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +0 -2
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nowright.golden +0 -2
- package/engine/testdata/golden/TestParityDoubtCoverage.golden +0 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +0 -3
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +0 -3
- package/engine/testdata/golden/TestParityMutationGate/ghost.golden +0 -1
- package/engine/testdata/golden/TestParityOrientSilentPath.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/bad-mode.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/check-no-base.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/check-no-claimed/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/check-violation/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/check-violation.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/close-window/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/close-window.golden +0 -3
- package/engine/testdata/golden/TestParityReconcile/not-git.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/snapshot/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityReconcile/snapshot-no-allowlist.golden +0 -1
- package/engine/testdata/golden/TestParityReconcile/snapshot.golden +0 -2
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +0 -2
- package/engine/testdata/golden/TestParityRedwatch/non-bash-tool.golden +0 -1
- package/engine/testdata/golden/TestParityRedwatch/non-test-command.golden +0 -1
- package/engine/testdata/golden/TestParityRedwatch/pass-clears-red.golden +0 -1
- package/engine/testdata/golden/TestParityResolve/next-qid.golden +0 -2
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +0 -2
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-non-devrites-allows.golden +0 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-subagent-type-only-allows.golden +0 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +0 -2
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +0 -2
- package/engine/testdata/golden/TestParityReviewerReadonly/non-bash-tool.golden +0 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/non-tool-input.golden +0 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/observe-mutating-silent.golden +0 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/safe-bash-command.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=dup.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=empty.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +0 -2
- package/engine/testdata/golden/TestParitySpecValidate/arg=nonexistent.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=noscenario.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=noshall.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=nothen.golden +0 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +0 -2
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +0 -2
- package/engine/testdata/golden/TestParitySpecValidate.golden +0 -1
- package/engine/testdata/golden/TestParityStatusline/full-afk.golden +0 -2
- package/engine/testdata/golden/TestParityStatusline/full-hitl.golden +0 -2
- package/engine/testdata/golden/TestParityStatusline/no-active.golden +0 -1
- package/engine/testdata/golden/TestParityStatusline/nophase.golden +0 -2
- package/engine/testdata/golden/TestParityStatusline/red.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/bad-cmd.golden +0 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/no-cmd.golden +0 -1
- package/engine/testdata/golden/TestParityStuckCheck/no-slug.golden +0 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +0 -2
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +0 -2
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +0 -2
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +0 -2
- package/engine/testdata/golden/TestParitySubagentOrient/garbage-input.golden +0 -1
- package/engine/testdata/golden/TestParitySubagentOrient/non-devrites-agent.golden +0 -1
- package/engine/testdata/golden/TestParityTestIntegrity/assertion-dropped.golden +0 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +0 -2
- package/engine/testdata/golden/TestParityTestIntegrity/deleted.golden +0 -1
- package/engine/testdata/golden/TestParityTestIntegrity/ghost-workspace.golden +0 -1
- package/engine/testdata/golden/TestParityTestIntegrity/not-git.golden +0 -1
- package/engine/testdata/golden/TestParityTestIntegrity/skip-added.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/budget1/state.md.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/budget1.golden +0 -2
- package/engine/testdata/golden/TestParityTickAfk/budget3/state.md.golden +0 -5
- package/engine/testdata/golden/TestParityTickAfk/budget3.golden +0 -2
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe/state.md.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe.golden +0 -2
- package/engine/testdata/golden/TestParityTickAfk/missingField/state.md.golden +0 -3
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +0 -2
- package/engine/testdata/golden/TestParityTickAfk/missingFile.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric/state.md.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/none/state.md.golden +0 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +0 -2
- package/engine/testdata/golden/TestParityWrightScope/agent-required-non-wright.golden +0 -1
- package/engine/testdata/golden/TestParityWrightScope/devrites-edit-denied.golden +0 -2
- package/engine/testdata/golden/TestParityWrightScope/in-scope-allowed.golden +0 -1
- package/engine/testdata/golden/TestParityWrightScope/non-edit-tool.golden +0 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +0 -2
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-observe-silent.golden +0 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +0 -2
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +0 -2
- package/engine/testdata/golden/TestStuckLogHashParity.golden +0 -1
- package/engine/tests/adr_0006_clock_seam_test.go +0 -36
- package/engine/tests/budget_test.go +0 -88
- package/engine/tests/canonical_ac_ids_test.go +0 -44
- package/engine/tests/concurrency_cli_test.go +0 -131
- package/engine/tests/conventions_test.go +0 -106
- package/engine/tests/doctor_cli_test.go +0 -223
- package/engine/tests/forge_cli_test.go +0 -463
- package/engine/tests/hook_test.go +0 -2732
- package/engine/tests/hooks_io_test.go +0 -309
- package/engine/tests/json_contract_test.go +0 -224
- package/engine/tests/lib_parity_test.go +0 -930
- package/engine/tests/migrate_cli_test.go +0 -195
- package/engine/tests/parity_analyze_test.go +0 -55
- package/engine/tests/parity_buildreadiness_test.go +0 -199
- package/engine/tests/parity_learnings_test.go +0 -89
- package/engine/tests/parity_mutationgate_test.go +0 -36
- package/engine/tests/parity_reconcile_test.go +0 -94
- package/engine/tests/parity_testintegrity_test.go +0 -65
- package/engine/tests/parity_tickafk_test.go +0 -83
- package/engine/validatepack.go +0 -192
- package/engine/validatepack_test.go +0 -79
- package/engine/validatepackskills.go +0 -181
- package/engine/validatepackskills_test.go +0 -171
- package/pack/.claude/agents/devrites-forge-judge.md +0 -118
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/.claude/skills/rite-build/reference/forge.md +0 -210
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/.claude/skills/rite-ship/reference/ledger.md +0 -56
- package/pack/generated/claude/agents/devrites-forge-judge.md +0 -118
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/generated/claude/skills/rite-build/reference/forge.md +0 -210
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +0 -56
- package/pack/generated/codex/agents/devrites-forge-judge.toml +0 -128
- package/pack/generated/codex/hooks.json +0 -185
- package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +0 -71
- package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/generated/codex/skills/rite-build/reference/forge.md +0 -210
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +0 -56
- package/scripts/build-binaries.sh +0 -75
- package/scripts/build-release-tarball.sh +0 -105
- package/scripts/check-authority-drift.py +0 -125
- package/scripts/check-cross-refs.py +0 -139
- package/scripts/check-generated-skill-budget.mjs +0 -42
- package/scripts/check-instruction-size-baseline.mjs +0 -88
- package/scripts/check-invocation-integrity.py +0 -115
- package/scripts/check-no-global-writes.sh +0 -66
- package/scripts/check-no-personal-paths.py +0 -50
- package/scripts/check-npm-audit.mjs +0 -110
- package/scripts/check-reference-governance.mjs +0 -83
- package/scripts/check-reply-contract.sh +0 -64
- package/scripts/check-rule-uniqueness.sh +0 -45
- package/scripts/devrites-detect.sh +0 -176
- package/scripts/grade-feature.sh +0 -204
- package/scripts/live-hosts/agent-result.schema.json +0 -231
- package/scripts/live-hosts/claude.sh +0 -87
- package/scripts/live-hosts/codex.sh +0 -85
- package/scripts/live-hosts/common.sh +0 -113
- package/scripts/live-hosts/fake-host.py +0 -257
- package/scripts/live-hosts/host-transport.py +0 -286
- package/scripts/npm-audit-exceptions.json +0 -26
- package/scripts/pin.sh +0 -249
- package/scripts/release-check.sh +0 -75
- package/scripts/run-agent-contract-evals.py +0 -1380
- package/scripts/run-behavioral-evals.sh +0 -196
- package/scripts/run-evals.sh +0 -132
- package/scripts/run-live-behavioral-evals.py +0 -1310
- package/scripts/run-outcome-evals.sh +0 -454
- package/scripts/run-routing-evals.py +0 -342
- package/scripts/run-tests.mjs +0 -232
- package/scripts/scan-pack-security.py +0 -209
- package/scripts/scan-supply-chain-iocs.py +0 -127
- package/scripts/skill-pruning-audit.mjs +0 -121
- package/scripts/skills-inventory.mjs +0 -125
- package/scripts/supply-chain-iocs.json +0 -11
- package/scripts/sync-version.sh +0 -54
- package/scripts/validate-agent-composition.py +0 -57
- package/scripts/validate-command-parity.py +0 -70
- package/scripts/validate-frontmatter.py +0 -218
- package/scripts/validate-skill-anatomy.py +0 -139
- package/scripts/validate-workflow-security.py +0 -184
- package/scripts/validate-workspace-schema.py +0 -800
- package/scripts/validate.sh +0 -354
- package/scripts/workflow_schema.py +0 -69
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/decisions.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/plan.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/spec.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/tasks.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/search-ranking/spec.md +0 -0
|
@@ -4,14 +4,14 @@ description: User-invoked DevRites menu and router; no args renders the menu, a
|
|
|
4
4
|
argument-hint: "[verb [args...]]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
disable-model-invocation: true
|
|
7
|
-
required-agent-roles: none
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# /rite: DevRites menu + router
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
Two modes:
|
|
13
12
|
|
|
14
|
-
- **No args** →
|
|
13
|
+
- **No args** → render the menu and stop. Do not execute a phase or infer
|
|
14
|
+
workspace status; `/rite-status` owns that.
|
|
15
15
|
- **Verb arg** → pass-through dispatch to the matching `rite-<verb>` skill (`/rite spec foo` ≡ `/rite-spec foo`); the called skill owns the output.
|
|
16
16
|
|
|
17
17
|
When the user asks which rite fits, load [`devrites-lib/reference/intent-map.md`](../devrites-lib/reference/intent-map.md).
|
|
@@ -47,14 +47,14 @@ What each verb does lives once, in the Menu below; this table is the dispatch ma
|
|
|
47
47
|
| `seal` | `/rite-seal` |
|
|
48
48
|
| `ship` | `/rite-ship` |
|
|
49
49
|
| `status [slug]` | `/rite-status` |
|
|
50
|
-
| `doctor
|
|
50
|
+
| `doctor` | `/rite-doctor` |
|
|
51
51
|
| `upgrade [slug]` | `/rite-upgrade` |
|
|
52
|
-
| `learn [
|
|
52
|
+
| `learn ["<lesson>"]` | `/rite-learn` |
|
|
53
53
|
| `explain [concept \| diff \| idea \| recap]` | `/rite-explain` |
|
|
54
54
|
| `pov [candidate]` | `/rite-pov` |
|
|
55
55
|
| `dogfood [--port N]` | `/rite-dogfood` |
|
|
56
56
|
| `pr-feedback [PR\|thread]` | `/rite-pr-feedback` |
|
|
57
|
-
| `customize [
|
|
57
|
+
| `customize [instruction \| skill \| agent \| plugin]` | `/rite-customize` |
|
|
58
58
|
| `use <slug>` | (inline) |
|
|
59
59
|
| `guide` | (inline) |
|
|
60
60
|
| `resolve <qid> "<answer>"` | `/rite-resolve` |
|
|
@@ -101,25 +101,24 @@ Called phase skills own the shared completion reply contract
|
|
|
101
101
|
|
|
102
102
|
```
|
|
103
103
|
DevRites — disciplined senior-engineer workflow
|
|
104
|
-
Recommended start: <greenfield: /rite spec <feature> | brownfield-unadopted: /rite adopt | active-feature: /rite status | dirty-worktree: /rite frame or /rite quick | branch-ahead: /rite ship/status | clean-default: /rite spec <feature>>
|
|
105
104
|
menu form direct shortcut
|
|
106
105
|
SPEC /rite spec ≡ /rite-spec investigate deeply → write spec.md
|
|
107
|
-
ADOPT /rite adopt ≡ /rite-adopt onboard existing code → reverse-derive spec.md
|
|
106
|
+
ADOPT /rite adopt ≡ /rite-adopt onboard existing code → reverse-derive spec.md
|
|
108
107
|
CLARIFY /rite clarify ≡ /rite-clarify close the complete decision surface before planning
|
|
109
108
|
TEMPER /rite temper ≡ /rite-temper optional — strategic review: scope mode + pre-mortem, harden the spec
|
|
110
109
|
PLAN /rite define ≡ /rite-define turn the spec into plan + task slices + state
|
|
111
110
|
VET /rite vet ≡ /rite-vet mandatory every plan — light/full engineering review by stakes
|
|
112
111
|
REPLAN /rite plan ≡ /rite-plan decompose / reslice / repair an active plan
|
|
113
|
-
BUILD /rite build ≡ /rite-build
|
|
112
|
+
BUILD /rite build ≡ /rite-build one slice/wright; HITL stops, `.devrites/AFK` may chain
|
|
114
113
|
CONVERGE /rite converge ≡ /rite-converge recovery — append work needed to meet intent
|
|
115
114
|
PROVE /rite prove ≡ /rite-prove tests + build + runtime + browser evidence
|
|
116
115
|
POLISH /rite polish ≡ /rite-polish code polish always; UI normalize + polish if UI
|
|
117
116
|
REVIEW /rite review ≡ /rite-review feature-scoped multi-axis review
|
|
118
117
|
SEAL /rite seal ≡ /rite-seal final GO / NO-GO decision (no git)
|
|
119
|
-
SHIP /rite ship ≡ /rite-ship
|
|
118
|
+
SHIP /rite ship ≡ /rite-ship pre-GO read-only; fresh GO → commit; optional approved push/tag/PR → archive
|
|
120
119
|
STATUS /rite status ≡ /rite-status active feature, next action, evidence, risks
|
|
121
|
-
DOCTOR /rite doctor
|
|
122
|
-
UPGRADE /rite upgrade ... ≡ /rite-upgrade
|
|
120
|
+
DOCTOR /rite doctor ≡ /rite-doctor installation and native host diagnostics
|
|
121
|
+
UPGRADE /rite upgrade ... ≡ /rite-upgrade audit an older workspace; route only proven gaps
|
|
123
122
|
LEARN /rite learn ... ≡ /rite-learn review captured lessons → promote to project rules / principles
|
|
124
123
|
EXPLAIN /rite explain ... ≡ /rite-explain grounded concept/diff/idea/recap explainer
|
|
125
124
|
POV /rite pov ... ≡ /rite-pov decide adopt / trial / hold / reject for an external option
|
|
@@ -129,7 +128,7 @@ CUSTOMIZE /rite customize ... ≡ /rite-customize author overrides
|
|
|
129
128
|
SWITCH /rite use <slug> re-point .devrites/ACTIVE to another feature (inline)
|
|
130
129
|
GUIDE /rite guide first feature, guided — full lifecycle on one small real change (inline)
|
|
131
130
|
RESUME /rite resolve ... ≡ /rite-resolve answer a HITL checkpoint
|
|
132
|
-
AUTO /rite autocomplete ... ≡ /rite-autocomplete
|
|
131
|
+
AUTO /rite autocomplete ... ≡ /rite-autocomplete unattended lifecycle; `--ship` stops at Ship preflight
|
|
133
132
|
QUICK /rite quick <change> ≡ /rite-quick express lane — one small reversible change (escalates if it grows)
|
|
134
133
|
UTILITY /rite frame | prototype | handoff | zoom-out | pressure-test (or direct shortcuts)
|
|
135
134
|
```
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
# Menu reference
|
|
2
2
|
|
|
3
|
-
Phase-ordered
|
|
4
|
-
what each command does or how phases connect.
|
|
3
|
+
Phase-ordered `/rite` reference. Load only for command detail or phase connections.
|
|
5
4
|
|
|
6
5
|
## Phases and commands
|
|
7
6
|
|
|
8
7
|
| Phase | Command | Use when |
|
|
9
8
|
|---|---|---|
|
|
10
9
|
| Spec | `/rite-spec <feature>` | **New feature.** Investigate → write spec.md. Asks with options; gathers attached design references (optional). |
|
|
11
|
-
| Adopt | `/rite-adopt` | Onboard an existing codebase instead of starting fresh: reverse-derive spec.md
|
|
10
|
+
| Adopt | `/rite-adopt` | Onboard an existing codebase instead of starting fresh: reverse-derive spec.md and propose project guidance. |
|
|
12
11
|
| Clarify | `/rite-clarify` | _Required after spec._ Topology-first decision-coverage scan; zero-question fast path when already clear. |
|
|
13
12
|
| Temper | `/rite-temper` | _Optional, before define._ Strategic review of the spec: scope mode (expand/selective/hold-rigor/reduce) + pre-mortem; hardens the spec. Best on big/risky features; mandatory in `/rite-autocomplete`. |
|
|
14
13
|
| Plan | `/rite-define` | Turn the approved spec into plan + vertical task slices + state. |
|
|
15
14
|
| Vet | `/rite-vet` | _Required before build._ Review every plan: scope · architecture · tests · perf; light for simple/reversible, full for high stakes. |
|
|
16
15
|
| Re-plan | `/rite-plan` | The active plan is too big, wrong, stale, ambiguous, or blocked. |
|
|
17
|
-
| Build | `/rite-build` |
|
|
16
|
+
| Build | `/rite-build` | One slice/wright; HITL stops; `.devrites/AFK` lets root bounded-chain slices. |
|
|
18
17
|
| Converge | `/rite-converge` | _Recovery._ Code drifted from or falls short of intent after a resume, adoption, or stalled build: compare live code with spec/plan/tasks and append remaining work as new slices for `/rite-build`. |
|
|
19
18
|
| Prove | `/rite-prove` | Prove the current scope: tests, build, runtime, browser evidence. |
|
|
20
19
|
| Polish | `/rite-polish` | Code polish always; normalize and polish UI when in scope. Modes: `bolder/quieter/distill/harden/normalize-only`. |
|
|
21
20
|
| Review | `/rite-review` | Feature-scoped review before sealing. |
|
|
22
21
|
| Seal | `/rite-seal` | Final GO / NO-GO decision (no git). |
|
|
23
|
-
| Ship | `/rite-ship` |
|
|
22
|
+
| Ship | `/rite-ship` | Pre-GO read-only; fresh GO → commit → optional approved push/tag/PR → archive/close. |
|
|
24
23
|
| Status | `/rite-status` | See where the active feature stands. |
|
|
25
|
-
| Doctor | `/rite-doctor` |
|
|
26
|
-
| Upgrade | `/rite-upgrade` | _Explicit
|
|
27
|
-
| Learn | `/rite-learn` | Review
|
|
24
|
+
| Doctor | `/rite-doctor` | Diagnose install integrity and native host configuration. |
|
|
25
|
+
| Upgrade | `/rite-upgrade` | _Explicit compatibility._ Audit an older released workspace; route cited defects through Clarify/Plan repair/Converge/Vet or current Prove/Polish/Review/Seal, preserve history, and never synthesize old proof. |
|
|
26
|
+
| Learn | `/rite-learn` | Review native memory and archived evidence → propose durable project guidance. |
|
|
28
27
|
|
|
29
28
|
## Typical orderings
|
|
30
29
|
|
|
@@ -36,13 +35,14 @@ what each command does or how phases connect.
|
|
|
36
35
|
- **Existing codebase**: `/rite-adopt` → `/rite-clarify` → `/rite-define` → `/rite-vet` → build.
|
|
37
36
|
- **Drift mid-build**: classify → bounded recovery for objective defects, `/rite-plan`
|
|
38
37
|
repair for a wrong durable plan, or one user decision for real product/risk drift.
|
|
39
|
-
- **
|
|
40
|
-
|
|
38
|
+
- **Older workspace cannot resume**: `/rite-upgrade` audits first → only proven gaps use
|
|
39
|
+
Clarify/Plan repair/Converge/Vet or Prove/Polish/Review/Seal → resume. It never
|
|
40
|
+
migrates cursor format or invents a prior pass.
|
|
41
41
|
- **Resumed / adopted / stalled**: `/rite-converge` (assess live code vs intent → append the
|
|
42
42
|
remaining slices) → `/rite-vet` → `/rite-build` ×N → continue at `/rite-prove`.
|
|
43
43
|
|
|
44
44
|
## Rules this menu obeys
|
|
45
45
|
|
|
46
46
|
- `/rite` never edits code or runs a phase workflow.
|
|
47
|
-
- Menu mode
|
|
47
|
+
- Menu mode is static; `/rite-status` owns workspace status.
|
|
48
48
|
- It suggests; the user (or Claude, when appropriate) invokes the real skill.
|
|
@@ -1,100 +1,45 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-adopt
|
|
3
|
-
description: Adopt an existing
|
|
3
|
+
description: Adopt an existing codebase into DevRites by reverse-engineering current behavior and establishing a baseline workspace.
|
|
4
4
|
argument-hint: "[path or area to adopt] [+ what you want to build next]"
|
|
5
5
|
user-invocable: true
|
|
6
|
-
required-agent-roles: none
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# /rite-adopt: onboard existing code
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Use it once when onboarding a repository or one of its sub-areas. Continue with
|
|
16
|
-
`/rite-clarify`, `/rite-temper`, `/rite-define`, and `/rite-build`.
|
|
17
|
-
|
|
18
|
-
> **Need only a code map?** `/rite-zoom-out` maps unfamiliar code without creating a
|
|
19
|
-
> workspace or ledger. Use `/rite-adopt` when the project should enter the lifecycle.
|
|
20
|
-
|
|
21
|
-
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
22
|
-
Pull `documentation.md` when recording the adoption decisions (why-not-what) in
|
|
23
|
-
`decisions.md`; pull `principles.md` when the code
|
|
24
|
-
upholds invariants worth proposing as project principles (step 4a).
|
|
25
|
-
|
|
26
|
-
## Operating rules (DevRites core)
|
|
27
|
-
- No silent assumptions · prefer the project's existing conventions (you are *documenting*
|
|
28
|
-
them, not imposing new ones) · ask the human when the adoption scope or the next-build
|
|
29
|
-
objective is unclear.
|
|
10
|
+
Reverse-engineer existing behavior into the same `spec.md` contract used by new
|
|
11
|
+
features. Adoption documents the repository; it does not rewrite it or create a
|
|
12
|
+
parallel convention system.
|
|
30
13
|
|
|
31
14
|
## Workflow
|
|
32
|
-
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
33
|
-
`devrites-engine preamble` for deterministic workspace orientation.
|
|
34
|
-
1. **Scope the adoption** (`$ARGUMENTS`). Which repo or sub-area is being onboarded, and:
|
|
35
|
-
if stated: what the user wants to build *next* on top of it. If the next-build objective
|
|
36
|
-
is missing, ask once (it shapes the spec's acceptance); if the area is ambiguous, confirm
|
|
37
|
-
before investigating the whole tree.
|
|
38
|
-
2. **Inspect the existing code** to establish the project's current structure. Use a
|
|
39
|
-
code-intelligence index if available (codebase-memory-mcp first (its `get_architecture`
|
|
40
|
-
gives a fast overview), cross-checked with codegraph + graphify, else standard methods
|
|
41
|
-
(LSP / Read/Grep/Glob); see `.claude/skills/devrites-lib/reference/standards/tooling.md`) for
|
|
42
|
-
structure, callers, and impact. Capture, per [adoption](reference/adoption.md): **current
|
|
43
|
-
behavior**, **architecture + placement** (layers, seams, where each kind of thing lives),
|
|
44
|
-
the **commands** (test / build / typecheck / lint), and the **idioms** (naming, layering,
|
|
45
|
-
error model, test style) + recurring **gotchas**. Read `PRODUCT.md` / `DESIGN.md` /
|
|
46
|
-
`CLAUDE.md` / `AGENTS.md` if present.
|
|
47
|
-
3. **Write `spec.md`** via [rite-spec's spec template](../rite-spec/reference/spec-template.md)
|
|
48
|
-
and create the workspace + set `.devrites/ACTIVE`
|
|
49
|
-
([state-workspace](../rite-spec/reference/state-workspace.md)). The spec records the
|
|
50
|
-
**current behavior as the baseline** and the **next objective** (what adoption is for) with
|
|
51
|
-
measurable acceptance. Also write `decisions.md`, `assumptions.md`, `questions.md`, and
|
|
52
|
-
`state.md` (phase: spec).
|
|
53
|
-
3a. **Seed the capability ledger** from the baseline. If the derived `spec.md` carries
|
|
54
|
-
structured `### Requirement:` blocks, fold them into the living
|
|
55
|
-
`.devrites/specs/<capability>/spec.md` ledger so the project's current proven behavior is
|
|
56
|
-
recorded before the first new feature. The next `/rite-spec` writes deltas against this ledger
|
|
57
|
-
([ledger.md](../rite-ship/reference/ledger.md)). A flat baseline folds as all-ADDED into the
|
|
58
|
-
feature slug's capability; tag capabilities in the spec first if you want finer granularity.
|
|
59
|
-
```bash
|
|
60
|
-
devrites-engine ledger diff .devrites/work/<slug> # preview
|
|
61
|
-
devrites-engine ledger sync .devrites/work/<slug> # seed
|
|
62
|
-
```
|
|
63
|
-
Skip when the baseline records no structured requirements (nothing to seed).
|
|
64
|
-
4. **Seed the conventions ledger** from observed behavior:
|
|
65
|
-
[adoption § seeding](reference/adoption.md). This is the bootstrap exception to
|
|
66
|
-
evidence-gated promotion. Seeds start at the base band with onboarding provenance;
|
|
67
|
-
later sealed slices may confirm or contradict them, and fresh evidence wins.
|
|
68
|
-
**Completion:** every seed names observed evidence, provenance, and the base band.
|
|
69
|
-
4a. **Propose candidate principles** (optional and human-ratified). When the code
|
|
70
|
-
consistently enforces an invariant, such as integer cents for money, redacted PII in
|
|
71
|
-
logs, or preserved v1 endpoints, propose it as a **candidate principle** rather than a
|
|
72
|
-
convention. Principles are prescriptive gates, so **never seed them automatically**.
|
|
73
|
-
Present each candidate through `AskUserQuestion` with evidence, and write human-ratified
|
|
74
|
-
candidates to `.devrites/principles.md` with a dated Governance entry
|
|
75
|
-
([`principles.md`](../devrites-lib/reference/standards/principles.md)). An unratified
|
|
76
|
-
candidate remains a convention, not a gate. If no invariant qualifies, declare no
|
|
77
|
-
principles.
|
|
78
|
-
5. **Hand off.** Continue with `/rite-clarify`. Its topology scan asks no questions when
|
|
79
|
-
the derived contract is already clear. Every plan then runs `/rite-vet` before build.
|
|
80
|
-
Do not plan or build here.
|
|
81
|
-
**Completion:** one next rite is reported and no plan or application code was written.
|
|
82
15
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
16
|
+
1. Read the core standards and resolve the repository/sub-area plus the next
|
|
17
|
+
objective. Ask once when either is materially ambiguous.
|
|
18
|
+
2. Follow [`reference/adoption.md`](reference/adoption.md): inspect current
|
|
19
|
+
behavior, architecture and placement, callers, reusable seams, repository/CI
|
|
20
|
+
commands, visible code/test patterns, and non-obvious constraints. Read
|
|
21
|
+
existing `AGENTS.md`, `CLAUDE.md`, product, and design guidance.
|
|
22
|
+
3. Create the workspace and write `spec.md`, `decisions.md`, `assumptions.md`,
|
|
23
|
+
`questions.md`, and `state.md`. The spec separates the current baseline from
|
|
24
|
+
the measurable next objective.
|
|
25
|
+
4. For a structured baseline, follow the native ledger workflow in
|
|
26
|
+
[`ledger.md`](../rite-polish/reference/ledger.md): read current specs, preview
|
|
27
|
+
ADDED entries, confirm paths, refuse escape/symlink/clobber/ignored targets,
|
|
28
|
+
write, lint, and require an empty re-preview.
|
|
29
|
+
5. If a repeatedly observed operating rule should govern future work, propose
|
|
30
|
+
one exact edit to the nearest existing `AGENTS.md`, `CLAUDE.md`, or scoped
|
|
31
|
+
document. Apply only after review. Do not create convention bands, scores, or
|
|
32
|
+
a command cache.
|
|
33
|
+
6. A genuine non-negotiable invariant may be proposed for
|
|
34
|
+
`.devrites/principles.md`; the human must ratify it.
|
|
35
|
+
7. Set the next step to `/rite-clarify` and stop. Do not plan or build.
|
|
86
36
|
|
|
87
37
|
## Output
|
|
88
38
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
Changed: spec.md, decisions.md, conventions ledger, principles proposals <updated|none>
|
|
95
|
-
Evidence: not applicable; reverse-derived behavior is recorded for review
|
|
96
|
-
Open: <none | adoption questions>
|
|
39
|
+
```text
|
|
40
|
+
Done: adopted <scope> into <slug>.
|
|
41
|
+
Changed: <workspace artifacts>; project guidance <proposed | unchanged>
|
|
42
|
+
Evidence: <source/CI paths inspected>
|
|
43
|
+
Open: <questions | none>
|
|
97
44
|
Next: /rite-clarify
|
|
98
|
-
Record: .devrites/work/<slug>/spec.md
|
|
99
|
-
↻ Hygiene: /clear before the next phase
|
|
100
45
|
```
|
|
@@ -1,55 +1,21 @@
|
|
|
1
|
-
# Adoption: reverse-
|
|
1
|
+
# Adoption: reverse-investigation
|
|
2
2
|
|
|
3
|
-
Loaded on demand by `/rite-adopt`.
|
|
4
|
-
lifecycle
|
|
3
|
+
Loaded on demand by `/rite-adopt`. Document what the code already does so the
|
|
4
|
+
lifecycle starts from evidence rather than guesses.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Capture the durable project shape:
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
- current user-visible behavior;
|
|
9
|
+
- architecture, placement, callers, and important seams;
|
|
10
|
+
- real test, build, typecheck, and lint commands from repository scripts or CI;
|
|
11
|
+
- naming, layering, error, data-access, and test patterns visible in live code;
|
|
12
|
+
- non-obvious ordering or framework constraints.
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
(where endpoints / components / models / migrations / tests go). Prefer a code-intelligence
|
|
13
|
-
index if available (see `../../devrites-lib/reference/standards/tooling.md`) for
|
|
14
|
-
structure, callers, and impact.
|
|
15
|
-
- **Commands:** the real test / build / typecheck / lint commands (run or read them; don't
|
|
16
|
-
guess). Verify uncertain framework facts at the source.
|
|
17
|
-
- **Idioms:** naming + casing, layering, the error model, the result/exception style, the
|
|
18
|
-
http/data-access pattern, the test framework + file layout.
|
|
19
|
-
- **Gotchas:** non-obvious constraints the code encodes (ordering requirements, "don't call
|
|
20
|
-
X before Y", a framework quirk).
|
|
14
|
+
Use native code/file search and current repository documentation. Fresh source
|
|
15
|
+
and CI configuration win over historical notes.
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
The deliberate **bootstrap exception** to evidence-gated promotion. Normally a convention is
|
|
28
|
-
promoted only when a *sealed slice proved it* (`/rite-seal`); adoption seeds from **observed
|
|
29
|
-
existing code** so the first slice isn't blind. Keep the seeds honest:
|
|
30
|
-
|
|
31
|
-
- Seed only what the code **and consistently** follows, not an aspiration, not a
|
|
32
|
-
one-off, not something you assumed.
|
|
33
|
-
- Each seed starts at the base band (one corroboration) and is provenance-tagged as an
|
|
34
|
-
onboarding observation, **not** a sealed-slice proof. Real slices later corroborate it
|
|
35
|
-
(raising the band) or, per fresh-observation-wins, contradict it.
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
SLUG="$(cat .devrites/ACTIVE 2>/dev/null | tr -d '[:space:]')"
|
|
39
|
-
if command -v devrites-engine >/dev/null 2>&1; then
|
|
40
|
-
devrites-engine conventions promote --slug "${SLUG}-adopt" \
|
|
41
|
-
--key test-runner --kind test \
|
|
42
|
-
--statement "tests run with <runner>, <file layout>" \
|
|
43
|
-
--evidence "observed during /rite-adopt onboarding (not yet slice-proven)"
|
|
44
|
-
# …one promote per durable convention the investigation actually observed
|
|
45
|
-
# (test-runner, build-cmd, error-model, http-client, endpoint-placement, …).
|
|
46
|
-
else
|
|
47
|
-
echo "(conventions ledger unavailable — devrites-engine missing; skipping seed)"
|
|
48
|
-
fi
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
The `-adopt` suffix on the slug marks the provenance as onboarding. Because the ledger is
|
|
52
|
-
read at orient as a *prior* and the live code always overrides it
|
|
53
|
-
([`.claude/skills/devrites-lib/reference/standards/security.md`](../../devrites-lib/reference/standards/security.md) § Prompt-injection resistance),
|
|
54
|
-
an over-eager seed is self-correcting, but seed conservatively anyway; a wrong seed costs a
|
|
55
|
-
needless contradiction later.
|
|
17
|
+
Write the adopted baseline and next objective to `spec.md`; put uncertain facts
|
|
18
|
+
in `assumptions.md` and durable decisions in `decisions.md`. If an observed rule
|
|
19
|
+
should govern future work, propose one reviewed update to `AGENTS.md`,
|
|
20
|
+
`CLAUDE.md`, or the nearest scoped project document. Do not create a convention
|
|
21
|
+
ledger, confidence band, score, or duplicated command cache.
|
|
@@ -1,42 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-autocomplete
|
|
3
|
-
description: Run the DevRites lifecycle
|
|
4
|
-
argument-hint: "[idea] [--ship|--yolo] [--max-slices N]"
|
|
3
|
+
description: Run the full DevRites lifecycle unattended; --ship continues to the final Git approval boundary. Use for one-shot autonomous work; not for a single phase.
|
|
4
|
+
argument-hint: "[idea] [--ship|--yolo] [--max-slices N] [--full] [--cross-model]"
|
|
5
5
|
user-invocable: true
|
|
6
|
-
required-agent-roles: none
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# /rite-autocomplete: full lifecycle, unattended
|
|
10
9
|
|
|
11
|
-
Runs every
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
Runs every phase unattended after initial clarification. Irreversible-risk,
|
|
11
|
+
blocking/escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
and NO-GO gates still pause. Use the **Standard** native execution profile by
|
|
13
|
+
default and **Full** for high-risk scope or explicit `--full`; profiles are defined in
|
|
14
|
+
[`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
15
15
|
|
|
16
16
|
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
17
17
|
**Step 0:** Read `.claude/skills/devrites-lib/reference/standards/core.md` and `.claude/skills/devrites-lib/reference/standards/afk-hitl.md` first.
|
|
18
18
|
|
|
19
19
|
## Operating rules
|
|
20
|
-
- **Use one initial human window.** Run spec and topology-first clarify; arm AFK
|
|
21
|
-
`Decision coverage: CLEAR`.
|
|
20
|
+
- **Use one initial human window.** Run spec and topology-first clarify; arm AFK
|
|
21
|
+
only after `Decision coverage: CLEAR`. Record later discretionary calls
|
|
22
22
|
([decision policy](reference/decision-policy.md)).
|
|
23
|
-
- **Safety gates are not bypassable.**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- **Record each discretionary choice.** Pick the option recommended by the relevant
|
|
39
|
-
specialist or reviewer and record the rationale. Do not choose arbitrarily.
|
|
23
|
+
- **Safety gates are not bypassable.** Irreversible risk, blocking/escalating,
|
|
24
|
+
open validating gates, and unexcepted principle violations pause. `--ship` /
|
|
25
|
+
`--yolo` never authorizes Git; it reaches only the exact-plan literal-GO and
|
|
26
|
+
native-approval boundary. Red checks run bounded recovery, then block unless
|
|
27
|
+
the remaining decision is human-owned.
|
|
28
|
+
- **Budget from the post-vet slice count.** Vet may split/add slices.
|
|
29
|
+
`--max-slices N` may lower the cap for a partial run; otherwise build all.
|
|
30
|
+
- **Parse flags only from this invocation.** `--ship`, `--yolo`, `--max-slices`,
|
|
31
|
+
`--full`, and `--cross-model` are active only when their exact standalone tokens
|
|
32
|
+
occur in `$ARGUMENTS`; their presence in this skill, examples, or earlier messages
|
|
33
|
+
can never arm them. `--max-slices` must occur once and be followed by a positive
|
|
34
|
+
base-10 integer; missing, repeated, malformed, or conflicting values stop before
|
|
35
|
+
any sentinel or workspace write.
|
|
36
|
+
- **Record discretionary choices.** Use the specialist/reviewer recommendation
|
|
37
|
+
and rationale; never choose arbitrarily.
|
|
40
38
|
- **Strategic review runs, but never auto-grows scope.** After `/rite-clarify`, run `/rite-temper`
|
|
41
39
|
(significance-gated; it skips low-stakes specs in one line). Unattended it auto-applies only
|
|
42
40
|
`hold-rigor` + `reduce-to-MVP` (these never grow acceptance); **any `expand` is a blocking
|
|
@@ -46,47 +44,58 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
46
44
|
run `/rite-vet` on **every** feature (depth scales: a light pass on simple plans, full rigor on
|
|
47
45
|
big/risky; never skipped). Unattended it auto-applies only *hardening* findings: added test
|
|
48
46
|
requirements, error-handling / failure-mode coverage, tightened scope, reuse-over-rebuild,
|
|
49
|
-
|
|
47
|
+
dependency-order fixes (these never grow acceptance); **any finding that grows scope,
|
|
50
48
|
adds a slice, or changes acceptance is a blocking pause**, and irreversible-risk findings always
|
|
51
49
|
pause. Cross-model is off unless `--cross-model` was armed.
|
|
52
50
|
|
|
53
51
|
## Workflow
|
|
54
|
-
1. **Orient + parse args.**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
1. **Orient + parse args.** Resolve the explicit or active slug, require its
|
|
53
|
+
`state.md`, and read the cursor directly.
|
|
54
|
+
The idea + flags: `--ship` / `--yolo` (continue through ship preflight, then stop
|
|
55
|
+
for literal-GO and native approval), `--max-slices N` (optional lower safety cap for a partial run; default =
|
|
56
|
+
the plan's slice count, i.e. run all planned slices). Parse only the current
|
|
57
|
+
`$ARGUMENTS`; normalize the result to the idea, `ship_preflight: yes|no`,
|
|
58
|
+
`max_slices: N|plan`, `profile: standard|full`, and `cross_model: yes|no`.
|
|
59
|
+
**Completion:** that normalized state is unambiguous and no sentinel or workspace
|
|
60
|
+
file has been written.
|
|
58
61
|
2. **Specify and clarify up front.** Use `devrites-interview`, `/rite-spec`, and
|
|
59
62
|
`/rite-clarify` as one interactive window. Clear specs ask zero questions; Partial/Missing
|
|
60
63
|
coverage never arms AFK. **Completion:** `decision-coverage.md` records `CLEAR`.
|
|
61
|
-
3. **Arm AFK after clarity.** Require `Decision coverage: CLEAR`, then
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
3. **Arm AFK after clarity.** Require `Decision coverage: CLEAR`, then apply the
|
|
65
|
+
loop's [one-write AFK contract](reference/loop.md#arm-afk-once): preserve a valid
|
|
66
|
+
existing sentinel byte-for-byte or create an advisory-only sentinel once; never
|
|
67
|
+
rewrite it after Vet. Also `touch .devrites/CHECKPOINT`: unattended runs use
|
|
68
|
+
checkpoint mode so each proven slice is committed locally as a crash-survivable
|
|
69
|
+
`WIP` ([rite-build/reference/checkpoint.md](../rite-build/reference/checkpoint.md));
|
|
70
|
+
`/rite-ship` collapses them into the one feature commit. **Completion:** AFK config is
|
|
71
|
+
valid and advisory-only, any pre-existing bytes are unchanged, and the checkpoint
|
|
72
|
+
sentinel exists.
|
|
69
73
|
4. **Drive the phases** ([reference/loop.md](reference/loop.md)). The canonical arc is
|
|
70
74
|
`/rite-spec` → **`/rite-clarify`** → **`/rite-temper`** → `/rite-define` →
|
|
71
75
|
**`/rite-vet`** → `/rite-build` (repeat until all slices
|
|
72
|
-
built;
|
|
73
|
-
|
|
74
|
-
workspace files, not chat.
|
|
76
|
+
built; root charges the AFK budget once per green built slice) → `/rite-prove`
|
|
77
|
+
→ `/rite-polish` → `/rite-review` → `/rite-seal`.
|
|
78
|
+
Read each `SKILL.md` and execute it; workspace files carry state, not chat.
|
|
79
|
+
Immediately after `/rite-vet` and before the first Build dispatch, apply the loop's
|
|
80
|
+
[mutable post-vet budget](reference/loop.md#derive-the-mutable-post-vet-budget)
|
|
81
|
+
contract. **Completion:** the loop reaches Seal GO, or a stop condition is persisted
|
|
82
|
+
before any later phase runs; the cursor names the last completed phase and the
|
|
83
|
+
effective remaining budget.
|
|
75
84
|
5. **Apply stop conditions at every gate** ([reference/stop-conditions.md](reference/stop-conditions.md)):
|
|
76
85
|
on hard-risk / blocking / escalating / NO-GO / budget-exhausted / still-low-confidence
|
|
77
86
|
→ write `state.md` (`Status`, `Next step`), surface *why*, and **STOP**.
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
**Completion:** either no stop condition is active, or the stopped cursor and reason
|
|
88
|
+
are durable and no later phase has been invoked.
|
|
89
|
+
6. **Seal GO → ship boundary.** With `--ship` / `--yolo`, proceed through
|
|
90
|
+
`/rite-ship` preflight, disclose the exact Git plan, then stop for the human's
|
|
91
|
+
literal `GO` and any native host approval. Without the flag, stop at seal GO with
|
|
92
|
+
`/rite-ship` as the resume command. **Completion:** the no-flag path has performed no
|
|
93
|
+
Ship work; the flagged path has disclosed the exact plan and performed no Git action
|
|
94
|
+
before fresh literal `GO` plus native approval.
|
|
80
95
|
|
|
81
96
|
> **Mid-flight discipline.** Stop rather than auto-passing a blocking gate, answering a
|
|
82
97
|
> human-owned material question, or continuing past red tests.
|
|
83
98
|
|
|
84
|
-
## Output
|
|
85
|
-
A compact phase log followed by the final status. **Progress first for the final
|
|
86
|
-
status**: run `devrites-engine progress`, then use the shared typed states from
|
|
87
|
-
[`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md):
|
|
88
|
-
`Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`.
|
|
89
|
-
|
|
90
99
|
Keep the log terse:
|
|
91
100
|
```
|
|
92
101
|
Autocomplete: <slug>
|
|
@@ -98,7 +107,9 @@ Final state examples: `Shipped: <feature>`, `Stopped: <reason>`, `Awaiting human
|
|
|
98
107
|
Do not write a narrative recap.
|
|
99
108
|
|
|
100
109
|
## Clean baseline and checkpoint mode
|
|
101
|
-
- Before
|
|
102
|
-
- Arm `.devrites/CHECKPOINT`
|
|
103
|
-
- Stop on risky steps, red gates, NO-GO, stale evidence, or budget
|
|
104
|
-
-
|
|
110
|
+
- Before autonomy, require a clean or accepted baseline; refuse unrelated dirty work and record plan artifacts.
|
|
111
|
+
- Arm `.devrites/CHECKPOINT`; `/rite-ship` collapses its local-only proven-slice checkpoints.
|
|
112
|
+
- Stop on risky steps, red gates, NO-GO, stale evidence, or exhausted budget.
|
|
113
|
+
- One autocomplete pass spans the lifecycle. Each wright returns after one slice;
|
|
114
|
+
explicit `.devrites/AFK` lets the Build root chain green slices under cap/pause rules;
|
|
115
|
+
otherwise HITL stops.
|
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
# The autocomplete loop: arm AFK, drive every phase
|
|
2
2
|
|
|
3
|
-
Autocomplete
|
|
4
|
-
|
|
5
|
-
and enforces stop conditions.
|
|
3
|
+
Autocomplete sequences existing `/rite-*` workflows and enforces stop
|
|
4
|
+
conditions without pausing between routine phases.
|
|
6
5
|
|
|
7
|
-
## Arm AFK
|
|
6
|
+
## Arm AFK once
|
|
8
7
|
|
|
9
|
-
Arm the gate policy up front
|
|
8
|
+
Arm the gate policy up front without mutating it later:
|
|
10
9
|
|
|
11
10
|
```yaml
|
|
12
11
|
allow_gates: [advisory] # only advisory auto-handles; validating+ pause
|
|
13
12
|
# notify: "<cmd>" # optional — fired on any awaiting_human pause
|
|
14
|
-
# max_slices: <N> #
|
|
15
|
-
# /rite-define (or an explicit --max-slices). NOT a target decomposition; it only
|
|
16
|
-
# caps how many run unattended (default = all the plan's slices).
|
|
13
|
+
# max_slices: <N> # include only for an explicit/configured cap
|
|
17
14
|
```
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
Read an existing sentinel first. Preserve it byte-for-byte when valid; stop if its gate
|
|
17
|
+
ceiling exceeds `advisory` or its `max_slices` conflicts with the invocation. If absent,
|
|
18
|
+
write it once after clarity with `allow_gates: [advisory]` and an explicit
|
|
19
|
+
`--max-slices N` only when supplied. The sentinel is read-only: never rewrite it after
|
|
20
|
+
`/rite-vet` to inject a discovered plan count.
|
|
21
|
+
|
|
22
|
+
### Derive the mutable post-vet budget
|
|
23
|
+
|
|
24
|
+
After `/rite-vet`, count remaining pending slices and derive the run budget as the
|
|
25
|
+
minimum of that count, an explicit `--max-slices`, and a configured sentinel cap. Before
|
|
26
|
+
the first build dispatch, pre-seed `state.md` `afk_slices_remaining` when absent. If a
|
|
27
|
+
valid remaining counter already exists, retain the lower of it and the derived budget;
|
|
28
|
+
never increase or reinitialize it. This keeps the crash-survivable budget in its mutable owner
|
|
29
|
+
without changing AFK configuration mid-run.
|
|
24
30
|
|
|
25
31
|
`allow_gates: [advisory]` prevents an open `gate: validating` from being queued until
|
|
26
32
|
seal, where it would force NO-GO under `afk-hitl.md`. Autocomplete pauses on it instead. Widen
|
|
27
|
-
`allow_gates` only
|
|
33
|
+
`allow_gates` only outside autocomplete through an explicit human configuration change;
|
|
34
|
+
autocomplete itself never widens the ceiling.
|
|
28
35
|
|
|
29
36
|
## Drive the phases
|
|
30
37
|
|
|
@@ -37,13 +44,13 @@ Read each phase's `SKILL.md` and execute that workflow. Workspace files such as
|
|
|
37
44
|
| 2 | `/rite-clarify` | same interactive window: topology-first scan; write `decision-coverage.md`; proceed only on `CLEAR`, then arm AFK |
|
|
38
45
|
| 3 | `/rite-temper` | significance-gated strategic review; harden spec + write `strategy.md`. Skip low-stakes specs in one line. AFK: `hold-rigor` / `reduce-to-MVP` auto-apply; **any `expand` pauses (blocking)**; irreversible-risk pauses |
|
|
39
46
|
| 4 | `/rite-define` | reads `decision-coverage.md` + `strategy.md`; writes `plan.md` + `tasks.md`; records `Plan approved` |
|
|
40
|
-
| 5 | `/rite-vet` | engineering/readiness review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` (`Implementation readiness: READY`) + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses.
|
|
41
|
-
| 6 | `/rite-build` ×N | **loop** while any slice is `pending`; build one
|
|
47
|
+
| 5 | `/rite-vet` | engineering/readiness review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` (`Implementation readiness: READY`) + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses. Derive and pre-seed the state-owned slice budget after this (vet may split a slice); never rewrite the AFK sentinel |
|
|
48
|
+
| 6 | `/rite-build` ×N | **loop** while any slice is `pending`; build one, then let the root charge exactly one budget unit with the built-state record. Zero ⇒ STOP before another dispatch. |
|
|
42
49
|
| 7 | `/rite-prove` | once all slices `built`; walks `test-plan.md`; on failure → `devrites-debug-recovery` within scope |
|
|
43
50
|
| 8 | `/rite-polish` | re-verify after code edits (evidence must stay fresh) |
|
|
44
51
|
| 9 | `/rite-review` | apply in-scope fixes; re-prove if code changed |
|
|
45
52
|
| 10 | `/rite-seal` | GO/NO-GO decision (no git here) |
|
|
46
|
-
| 11 | `/rite-ship` | only if seal GO; `--ship`
|
|
53
|
+
| 11 | `/rite-ship` | only if seal GO; `--ship` / `--yolo` never authorizes Git and only continues to the exact-plan literal-GO/native-approval boundary |
|
|
47
54
|
|
|
48
55
|
## Between phases
|
|
49
56
|
|