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
|
@@ -1,28 +1,43 @@
|
|
|
1
1
|
# Workspace artifact schema
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
Feature truth lives in `.devrites/work/<slug>/`; discovery requires `state.md`.
|
|
4
|
+
`README.md` is an optional map. Operational remnants and archive entries are not
|
|
5
|
+
active workspaces. Current writers use canonical filenames. Both released cursor
|
|
6
|
+
forms remain official; `/rite-upgrade` audits them in place and never performs
|
|
7
|
+
path, alias, or format migration.
|
|
8
|
+
|
|
9
|
+
## Slug identity
|
|
10
|
+
|
|
11
|
+
New workspaces use a meaningful objective-derived slug that is lowercase ASCII
|
|
12
|
+
kebab-case, matches `[a-z0-9]+(?:-[a-z0-9]+)*`, and is at most 64 characters.
|
|
13
|
+
Prefer shortening at a word boundary. After the final shortening or suffix step,
|
|
14
|
+
trim boundary hyphens and reject an empty result.
|
|
15
|
+
|
|
16
|
+
Before creating a directory, compare any matching workspace's `brief.md`
|
|
17
|
+
objective. Reuse it only for the same feature. Otherwise append the smallest
|
|
18
|
+
unused numeric suffix (`-2`, `-3`, ...), shortening and trimming the base again
|
|
19
|
+
to stay within 64 characters. Never overwrite a workspace by slug alone.
|
|
20
|
+
Readers continue to accept safe legacy basenames; no ordinary phase renames one.
|
|
7
21
|
|
|
8
22
|
## Required by phase
|
|
9
23
|
|
|
10
24
|
| Phase | Required artifacts |
|
|
11
25
|
| --- | --- |
|
|
12
26
|
| frame | `state.md` |
|
|
13
|
-
| spec | `README.md
|
|
27
|
+
| spec | `README.md`, `brief.md`, `spec.md`, `state.md`, `decisions.md`, `assumptions.md`, `questions.md` |
|
|
14
28
|
| clarify | spec artifacts plus `decision-coverage.md` |
|
|
15
29
|
| temper | clarified spec artifacts |
|
|
16
30
|
| define/plan | clarified spec artifacts plus `architecture.md`, `plan.md`, `tasks.md`, `traceability.md` |
|
|
17
|
-
| vet/build/converge | plan artifacts plus `eng-review.md`, `test-plan.md` |
|
|
18
|
-
| prove/polish/review
|
|
31
|
+
| vet/build/converge | plan artifacts plus `eng-review.md`, `test-plan.md`; Build creates and maintains `touched-files.md` after its first green slice |
|
|
32
|
+
| prove/polish/review | vetted plan artifacts plus `evidence.md`, `touched-files.md` |
|
|
33
|
+
| seal/ship/done | proof artifacts plus `review.md`, `seal.md` |
|
|
19
34
|
| conditional | `flows.md` when diagrams clarify; `design-brief.md` and `browser-evidence.md` for UI; `drift.md` for drift; `handoff.md` only when requested; `references.md` + `references/` when references exist |
|
|
20
35
|
|
|
21
36
|
## What each file owns
|
|
22
37
|
|
|
23
38
|
| File | Job | Budget |
|
|
24
39
|
| --- | --- | --- |
|
|
25
|
-
| `README.md`
|
|
40
|
+
| `README.md` | compact workspace map: phase, status, next action, artifact map, read-next table, blocking gates, last updated | 120 lines |
|
|
26
41
|
| `brief.md` | user request, objective, non-goals, success definition | 80 lines |
|
|
27
42
|
| `spec.md` | product WHAT/WHY, requirements, acceptance criteria, edge cases, measurable success, scope boundaries | 260 lines |
|
|
28
43
|
| `decision-coverage.md` | topology-first coverage matrix, assumption audit, residual uncertainty, and typed clarity verdict | 200 lines |
|
|
@@ -31,38 +46,83 @@ workspace map; `proof.md` may stand in for `evidence.md`.
|
|
|
31
46
|
| `flows.md` | useful Mermaid sequence/state/data/lifecycle diagrams with why-it-matters text and related IDs | 160 lines |
|
|
32
47
|
| `decisions.md` | ADR-style `DEC-###` log: status, context, options, decision, consequences, related IDs | 200 lines |
|
|
33
48
|
| `assumptions.md` | assumptions with confidence, owner, validation status | 160 lines |
|
|
34
|
-
| `questions.md` | `Q-###` open/resolved questions, gate, answer, impact | 180 lines |
|
|
35
|
-
| `plan.md` | technical approach, slice strategy, validation strategy, rollback | 220 lines |
|
|
36
|
-
| `tasks.md` | `SLICE-###` vertical slices with AC IDs, likely files, tests/proof, mode/gate, dependencies,
|
|
49
|
+
| `questions.md` | current `q-YYYY-MM-DD-NNN` (or released `Q-###`) open/resolved questions, gate, answer, impact | 180 lines |
|
|
50
|
+
| `plan.md` | technical approach, slice strategy, canonical shared-contract proof, validation strategy, rollback | 220 lines |
|
|
51
|
+
| `tasks.md` | `SLICE-###` vertical slices with AC IDs, likely files, tests/proof, mode/gate, dependencies, done condition | 280 lines |
|
|
37
52
|
| `traceability.md` | matrix: AC/REQ ID, slice IDs, test/proof, evidence ID, touched files, status | 220 lines |
|
|
38
|
-
| `eng-review.md` | vetted scope/architecture/quality/performance
|
|
53
|
+
| `eng-review.md` | vetted scope/architecture/quality/performance, failure modes, preflight, stable-input binding | 240 lines |
|
|
39
54
|
| `test-plan.md` | executable proof commands, preflight/provenance contract, acceptance and interaction coverage | 260 lines |
|
|
40
55
|
| `state.md` | compact cursor table/key-values; no narrative log | 120 lines |
|
|
41
|
-
| `evidence.md`
|
|
56
|
+
| `evidence.md` | `EVID-###` command/action, result, timestamp if available, related AC/slice IDs, limitation | 280 lines |
|
|
42
57
|
| `browser-evidence.md` | UI route/viewports/screenshots/console/network/interactions and Visual Verdict | 220 lines |
|
|
43
58
|
| `drift.md` | `DRIFT-###` spec/plan drift and resolution | 160 lines |
|
|
44
|
-
| `touched-files.md` |
|
|
59
|
+
| `touched-files.md` | sole candidate manifest plus a concern-ordered `## Review trail` of `path:line` stops for human review | 160 lines |
|
|
45
60
|
| `design-brief.md` | UI design direction, states, interaction model | 160 lines |
|
|
46
61
|
| `handoff.md` | cold-resume guide: current objective, last completed slice, next action, blockers, read-next links | 120 lines |
|
|
47
62
|
|
|
48
|
-
|
|
63
|
+
## Candidate manifest and bindings
|
|
49
64
|
|
|
50
|
-
|
|
65
|
+
`touched-files.md` contains exactly one `## Touched files` heading and exactly
|
|
66
|
+
one authoritative `## Candidate manifest` heading. The first describes scope
|
|
67
|
+
without repeating candidate paths; the manifest is the sole authority for candidate scope.
|
|
51
68
|
|
|
52
|
-
|
|
69
|
+
The manifest body is exactly either `No project files.` or this table with one
|
|
70
|
+
or more rows:
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
| State | File | Slice | Reason |
|
|
74
|
+
| --- | --- | --- | --- |
|
|
75
|
+
| present | `path/to/file` | SLICE-001 | Observable reason |
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Rows are sorted by File: they must already be strictly sorted by normalized
|
|
79
|
+
`File`, and readers reject rather than reorder them. `State` is exactly
|
|
80
|
+
`present` or `deleted`; `File` is a unique
|
|
81
|
+
project-relative UTF-8 path wrapped in one backtick pair; `Slice` and `Reason`
|
|
82
|
+
are nonempty. Paths must also be unique under case folding. Every component
|
|
83
|
+
rejects Windows-reserved characters and device names (including names with an
|
|
84
|
+
extension) plus a trailing dot or space. `## Review trail` may cite
|
|
85
|
+
concern-ordered `path:line` review stops, but it cannot define or expand
|
|
86
|
+
candidate scope; only manifest rows do.
|
|
87
|
+
|
|
88
|
+
The public candidate limits are a 1 MiB manifest, 4,096 rows, a 4,096-byte
|
|
89
|
+
path, 64 MiB per present file, and 256 MiB across all present files.
|
|
90
|
+
|
|
91
|
+
Workspace and audit artifacts are not candidate paths. Durable project files
|
|
92
|
+
include `.devrites/specs/**`, `DESIGN.md`, and `docs/adr/**`, plus the exact
|
|
93
|
+
`.devrites/principles.md` owner. Under `.devrites`, only those principles and
|
|
94
|
+
spec owners may be candidates; `ACTIVE`, `AFK`, `CHECKPOINT`, `archive/**`,
|
|
95
|
+
`work/**`, and every other sibling fail closed. Engine owns malformed path,
|
|
96
|
+
type, and size rejection; phases do not reinterpret a rejected manifest.
|
|
97
|
+
|
|
98
|
+
`evidence.md`, `review.md`, and `seal.md` each contain exactly one unindented standalone
|
|
99
|
+
binding line; `browser-evidence.md` does too when that file exists:
|
|
53
100
|
|
|
54
101
|
```text
|
|
55
|
-
|
|
102
|
+
Candidate SHA-256: <64 lowercase hex>
|
|
56
103
|
```
|
|
57
104
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
105
|
+
Old unfinished workspaces refresh the manifest and rerun real proof. They never
|
|
106
|
+
synthesize a historical pass or use a legacy fallback.
|
|
107
|
+
|
|
108
|
+
The worktree digest is deterministic but is not an atomic filesystem snapshot
|
|
109
|
+
against a malicious concurrent same-size rewrite. Ship's exact Git-index scope,
|
|
110
|
+
byte, binding, and secret checks own the final freeze immediately before commit.
|
|
111
|
+
|
|
112
|
+
Only a structural `Budget override: <reason>` line (not a fenced example)
|
|
113
|
+
permits excess. Phase writers check these limits before returning; there is no
|
|
114
|
+
repository-local script assumption in the installed workflow.
|
|
115
|
+
|
|
116
|
+
## Native readiness ownership
|
|
117
|
+
|
|
118
|
+
`decision-coverage.md` records the topology scan; `test-plan.md` records executable proof;
|
|
119
|
+
`eng-review.md` records exact reviewer verdicts, `Implementation readiness`, and the emitted
|
|
120
|
+
`Readiness inputs SHA-256`. Root re-reads them and applies the ID-and-meaning checklist.
|
|
121
|
+
The digest binds reviewed bytes; it never substitutes for semantic review. Normal readiness
|
|
122
|
+
checks structure plus that binding, and Seal rechecks it.
|
|
62
123
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
name an execution adapter; evidence may record the logical and actually executed commands.
|
|
124
|
+
Proof commands must be repository-portable: no host wrappers, user-specific absolute paths,
|
|
125
|
+
or temporary proof trees. Evidence records the executed command.
|
|
66
126
|
|
|
67
127
|
## Canonical slice grammar
|
|
68
128
|
|
|
@@ -76,9 +136,6 @@ Goal: <single observable capability>
|
|
|
76
136
|
Satisfies: AC-001[, AC-002]
|
|
77
137
|
Acceptance criteria: <binary criteria this slice closes>
|
|
78
138
|
Complexity: <1..5> — <reason>
|
|
79
|
-
Forge: <no | yes — reason>
|
|
80
|
-
Forge strategies: <A=<complete approach> | B=<complete approach> [| C=<complete approach>] | none>
|
|
81
|
-
Forge scorecard: <acceptance=AC-### list; test-plan=exact test-plan.md rows/commands | none>
|
|
82
139
|
Mode: <AFK | HITL>
|
|
83
140
|
Gate: <advisory | validating | blocking | escalating>
|
|
84
141
|
SLA: <15m | 4h | 24h | none>
|
|
@@ -107,11 +164,7 @@ Done condition: <checkable, exhaustive completion criterion>
|
|
|
107
164
|
`depends_on` is the machine-readable mirror of `Dependencies`; keep the sets
|
|
108
165
|
identical and cycle-free. `Gate`, `SLA`, and `Checkpoint` are required for HITL
|
|
109
166
|
slices; use `none` when they do not apply. Complexity above 3 triggers reslicing
|
|
110
|
-
unless the stated reason makes the boundary irreducible.
|
|
111
|
-
`Forge: no` with both detail fields `none`; `/rite-vet` is the sole promoter.
|
|
112
|
-
`Forge: yes` requires a reason, two or three distinct contiguous `A`–`C`
|
|
113
|
-
strategies, and a scorecard that names every slice AC plus exact
|
|
114
|
-
`test-plan.md` rows or commands.
|
|
167
|
+
unless the stated reason makes the boundary irreducible.
|
|
115
168
|
|
|
116
169
|
## Read next by phase
|
|
117
170
|
|
|
@@ -122,7 +175,7 @@ strategies, and a scorecard that names every slice AC plus exact
|
|
|
122
175
|
| temper | `spec.md`, `decision-coverage.md`, `decisions.md`, `assumptions.md`, `design-brief.md` |
|
|
123
176
|
| define | `README.md`, `state.md`, `spec.md`, `decision-coverage.md`, `architecture.md`, `decisions.md`, `assumptions.md` |
|
|
124
177
|
| vet | `README.md`, `traceability.md`, `plan.md`, `tasks.md`, `architecture.md`, `decisions.md` |
|
|
125
|
-
| build | `state.md`, `decision-coverage.md`, `eng-review.md`, `test-plan.md`, `tasks.md`, `plan.md`, `architecture.md`, `traceability.md`, `questions.md` |
|
|
178
|
+
| build | `state.md`, `decision-coverage.md`, `eng-review.md`, `test-plan.md`, `tasks.md`, `plan.md`, `architecture.md`, `traceability.md`, `questions.md`, and `touched-files.md` when present |
|
|
126
179
|
| prove | `traceability.md`, `tasks.md`, `evidence.md`, `browser-evidence.md`, `touched-files.md` |
|
|
127
180
|
| review/seal | `README.md`, `traceability.md`, `spec.md`, `evidence.md`, `decisions.md`, `drift.md`, `touched-files.md` |
|
|
128
181
|
| handoff | `README.md`, `state.md`, `handoff.md`, then the linked source artifacts |
|
|
@@ -137,6 +190,22 @@ strategies, and a scorecard that names every slice AC plus exact
|
|
|
137
190
|
|
|
138
191
|
## ID contract
|
|
139
192
|
|
|
140
|
-
Use stable IDs: `REQ-001`, `AC-001`, `
|
|
141
|
-
`
|
|
142
|
-
|
|
193
|
+
Use stable IDs: `REQ-001`, `AC-001`, `EDGE-001`, `PROH-001`, `SLICE-001`,
|
|
194
|
+
`DEC-001`, `ASM-001`, `DRIFT-001`, `EVID-001`. Current queued questions use
|
|
195
|
+
`q-YYYY-MM-DD-NNN`; released table registers may retain `Q-001`. IDs are
|
|
196
|
+
append-only identities, not display positions:
|
|
197
|
+
|
|
198
|
+
- Allocate the next unused numeric suffix for that prefix after scanning its
|
|
199
|
+
owning artifact. For a dated question ID, scan the current date's suffixes.
|
|
200
|
+
Never fill a gap; every deleted or retired ID remains consumed.
|
|
201
|
+
- Never renumber an ID, reuse it, or transfer it to a different meaning. Reordering
|
|
202
|
+
sections or rows does not change IDs.
|
|
203
|
+
- A wording edit that preserves the obligation keeps its ID. A materially different
|
|
204
|
+
meaning gets a new ID; record the relationship in `decisions.md` or `drift.md`
|
|
205
|
+
before updating downstream references.
|
|
206
|
+
- Re-read the owning artifact immediately before an append when another writer may
|
|
207
|
+
have changed it; recompute rather than reserving an ID from stale state.
|
|
208
|
+
|
|
209
|
+
Old `AC1` and `Slice 1` forms are legacy and should not be generated for new
|
|
210
|
+
workspaces. Preserve released legacy forms unless an explicit upgrade owns the
|
|
211
|
+
migration; never renumber them incidentally.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devrites-prose-craft
|
|
3
|
-
description:
|
|
3
|
+
description: Rewrite prose to remove AI tells while preserving meaning and voice. Use for artifacts, replies, commits, or PR copy; not code comments or UI craft.
|
|
4
4
|
user-invocable: false
|
|
5
|
-
required-agent-roles: none
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# devrites-prose-craft: prose that reads human
|
|
@@ -15,8 +14,8 @@ off the author's voice or weakening technical content.
|
|
|
15
14
|
`/rite-define` / `/rite-plan` (plan narrative), `/rite-temper` / `/rite-vet` (review prose),
|
|
16
15
|
`/rite-review` / `/rite-seal` (findings + verdict prose), `/rite-ship` (commit/PR body),
|
|
17
16
|
`devrites-doubt` / `rite-handoff` (notes).
|
|
18
|
-
- Any phase composes
|
|
19
|
-
|
|
17
|
+
- Any phase composes substantive **user-facing prose** beyond the shared reply
|
|
18
|
+
labels.
|
|
20
19
|
- `/rite-polish` Phase 1 as the **catch** pass on prose that slipped through at write time.
|
|
21
20
|
|
|
22
21
|
## Two modes
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devrites-source-driven
|
|
3
|
-
description: Verify uncertain framework
|
|
3
|
+
description: Verify uncertain framework or library behavior in installed source or official docs. Use for unfamiliar APIs; not internal code.
|
|
4
4
|
user-invocable: false
|
|
5
|
-
required-agent-roles: none
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# devrites-source-driven: verify, don't guess
|
|
@@ -31,8 +30,8 @@ authoritative documentation before relying on it.
|
|
|
31
30
|
## Delegate broad research
|
|
32
31
|
When the question is an *area* (a library surface, unfamiliar subsystem, or migration
|
|
33
32
|
guide), the **root orchestrator** uses the fresh-context dispatch contract in
|
|
34
|
-
[`agents.md`](../devrites-lib/reference/standards/agents.md) to
|
|
35
|
-
|
|
33
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md) to give one bounded
|
|
34
|
+
question to `devrites-evidence-scout`. Wait for and validate its cited
|
|
36
35
|
`evidence-dossier`; the orchestrator, not the scout, persists accepted facts under
|
|
37
36
|
`references/` and links them from `references.md`.
|
|
38
37
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devrites-ux-shape
|
|
3
|
-
description:
|
|
3
|
+
description: Shape UX/UI direction, states, and interactions before code. Use for screens, forms, dashboards, or settings; not for implementation or polish.
|
|
4
4
|
user-invocable: false
|
|
5
|
-
required-agent-roles: none
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# devrites-ux-shape: plan the UX/UI before code
|
|
@@ -29,7 +28,8 @@ gathered:
|
|
|
29
28
|
→ `../devrites-frontend-craft/reference/design-references.md`.
|
|
30
29
|
- `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` if present: anchors that reduce questions.
|
|
31
30
|
`DESIGN.md` is the project's **rolled-up design memory** (tokens, calibration baseline,
|
|
32
|
-
proven component behaviors) earlier features
|
|
31
|
+
proven component behaviors) earlier features closed during Polish via
|
|
32
|
+
`../rite-polish/reference/design-memory.md`;
|
|
33
33
|
treat it as the inherited system: read it before re-discovering, depart only on signal.
|
|
34
34
|
- `references.md` + `references/`: the screenshots / Figma / video / links the human
|
|
35
35
|
supplied. Honor each recorded role: **target** = fidelity contract, **constraint** =
|
|
@@ -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.
|