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,119 +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
|
-
## Codex compatibility
|
|
10
|
-
|
|
11
|
-
This is the Codex mirror of a DevRites skill. In Codex:
|
|
12
|
-
|
|
13
|
-
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
14
|
-
- Installed `.agents/` mirrors may be Git-ignored. If a repository-aware file tool refuses an ignored path, read it with a native filesystem command instead; a tool refusal is not a completed task.
|
|
15
|
-
- For automatic Engram calls, omit optional `project` and `session_id` unless an exact value came from Engram or repository configuration. Never derive either from `task_name`, a run ID, directory name, or normalized slug. Call `mem_session_summary` without them by default; on `unknown_session` or `unknown_project`, retry once with both optional fields omitted. If auto-detection is ambiguous, ask the user instead of guessing.
|
|
16
|
-
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
17
|
-
- **Invocation and dispatch are different:** invoke means run a skill in this context; dispatch means start a fresh agent with `spawn_agent`, await it, and reconcile its result. Never describe inline skill work as a dispatch.
|
|
18
|
-
- On MultiAgent V2, call `spawn_agent` with the exact named `agent_type=devrites-<role>`, a unique `task_name`, and `fork_turns="none"`. A missing visible `agent_type` field is still V2—not capability loss, V1, or HITL—so send it anyway. If the named call rejects it, stop before any generic/default spawn. Codex loads the role TOML's `developer_instructions` natively; DevRites verifies the durable rollout, wait, completion, and delivered result.
|
|
19
|
-
- Only after the runtime explicitly identifies MultiAgent V1, use generic `explorer` for a read-only role with `fork_turns="none"` and name exactly one `.codex/agents/devrites-<role>.toml` contract in the message. Trusted `.codex/hooks.json` injects that contract's exact `developer_instructions` and binds the child to the fail-closed reviewer read-only guard.
|
|
20
|
-
- On explicitly identified MultiAgent V1, `devrites-slice-wright` uses generic `worker` with `fork_turns="none"` and the exact role TOML named in the message. Trusted `.codex/hooks.json` binds it to the active reconcile window and `.wright-allowlist`.
|
|
21
|
-
- The invoked skill's `required-agent-roles` frontmatter arms the fail-closed Stop receipt. Every listed role must have a confirmed start, wait, and non-empty result in this turn.
|
|
22
|
-
- If the required dispatch for the explicitly identified runtime is unavailable or rejected, stop for HITL. Never switch runtime lanes. Never execute a DevRites specialist role in the root context.
|
|
23
|
-
- Wait for every required fresh-context dispatch before reconciling or advancing. A backgrounded or lost result is incomplete.
|
|
24
|
-
- Codex project hooks are installed in `.codex/hooks.json`; declared-leaf hooks are scoped inside `.codex/agents/devrites-*.toml`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
25
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
26
|
-
|
|
27
|
-
|
|
28
8
|
# $rite-adopt: onboard existing code
|
|
29
9
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Use it once when onboarding a repository or one of its sub-areas. Continue with
|
|
35
|
-
`$rite-clarify`, `$rite-temper`, `$rite-define`, and `$rite-build`.
|
|
36
|
-
|
|
37
|
-
> **Need only a code map?** `$rite-zoom-out` maps unfamiliar code without creating a
|
|
38
|
-
> workspace or ledger. Use `$rite-adopt` when the project should enter the lifecycle.
|
|
39
|
-
|
|
40
|
-
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
41
|
-
Pull `documentation.md` when recording the adoption decisions (why-not-what) in
|
|
42
|
-
`decisions.md`; pull `principles.md` when the code
|
|
43
|
-
upholds invariants worth proposing as project principles (step 4a).
|
|
44
|
-
|
|
45
|
-
## Operating rules (DevRites core)
|
|
46
|
-
- No silent assumptions · prefer the project's existing conventions (you are *documenting*
|
|
47
|
-
them, not imposing new ones) · ask the human when the adoption scope or the next-build
|
|
48
|
-
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.
|
|
49
13
|
|
|
50
14
|
## Workflow
|
|
51
|
-
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
52
|
-
`devrites-engine preamble` for deterministic workspace orientation.
|
|
53
|
-
1. **Scope the adoption** (`$ARGUMENTS`). Which repo or sub-area is being onboarded, and:
|
|
54
|
-
if stated: what the user wants to build *next* on top of it. If the next-build objective
|
|
55
|
-
is missing, ask once (it shapes the spec's acceptance); if the area is ambiguous, confirm
|
|
56
|
-
before investigating the whole tree.
|
|
57
|
-
2. **Inspect the existing code** to establish the project's current structure. Use a
|
|
58
|
-
code-intelligence index if available (codebase-memory-mcp first (its `get_architecture`
|
|
59
|
-
gives a fast overview), cross-checked with codegraph + graphify, else standard methods
|
|
60
|
-
(LSP / Read/Grep/Glob); see `.agents/skills/devrites-lib/reference/standards/tooling.md`) for
|
|
61
|
-
structure, callers, and impact. Capture, per [adoption](reference/adoption.md): **current
|
|
62
|
-
behavior**, **architecture + placement** (layers, seams, where each kind of thing lives),
|
|
63
|
-
the **commands** (test / build / typecheck / lint), and the **idioms** (naming, layering,
|
|
64
|
-
error model, test style) + recurring **gotchas**. Read `PRODUCT.md` / `DESIGN.md` /
|
|
65
|
-
`CLAUDE.md` / `AGENTS.md` if present.
|
|
66
|
-
3. **Write `spec.md`** via [rite-spec's spec template](../rite-spec/reference/spec-template.md)
|
|
67
|
-
and create the workspace + set `.devrites/ACTIVE`
|
|
68
|
-
([state-workspace](../rite-spec/reference/state-workspace.md)). The spec records the
|
|
69
|
-
**current behavior as the baseline** and the **next objective** (what adoption is for) with
|
|
70
|
-
measurable acceptance. Also write `decisions.md`, `assumptions.md`, `questions.md`, and
|
|
71
|
-
`state.md` (phase: spec).
|
|
72
|
-
3a. **Seed the capability ledger** from the baseline. If the derived `spec.md` carries
|
|
73
|
-
structured `### Requirement:` blocks, fold them into the living
|
|
74
|
-
`.devrites/specs/<capability>/spec.md` ledger so the project's current proven behavior is
|
|
75
|
-
recorded before the first new feature. The next `$rite-spec` writes deltas against this ledger
|
|
76
|
-
([ledger.md](../rite-ship/reference/ledger.md)). A flat baseline folds as all-ADDED into the
|
|
77
|
-
feature slug's capability; tag capabilities in the spec first if you want finer granularity.
|
|
78
|
-
```bash
|
|
79
|
-
devrites-engine ledger diff .devrites/work/<slug> # preview
|
|
80
|
-
devrites-engine ledger sync .devrites/work/<slug> # seed
|
|
81
|
-
```
|
|
82
|
-
Skip when the baseline records no structured requirements (nothing to seed).
|
|
83
|
-
4. **Seed the conventions ledger** from observed behavior:
|
|
84
|
-
[adoption § seeding](reference/adoption.md). This is the bootstrap exception to
|
|
85
|
-
evidence-gated promotion. Seeds start at the base band with onboarding provenance;
|
|
86
|
-
later sealed slices may confirm or contradict them, and fresh evidence wins.
|
|
87
|
-
**Completion:** every seed names observed evidence, provenance, and the base band.
|
|
88
|
-
4a. **Propose candidate principles** (optional and human-ratified). When the code
|
|
89
|
-
consistently enforces an invariant, such as integer cents for money, redacted PII in
|
|
90
|
-
logs, or preserved v1 endpoints, propose it as a **candidate principle** rather than a
|
|
91
|
-
convention. Principles are prescriptive gates, so **never seed them automatically**.
|
|
92
|
-
Present each candidate through `AskUserQuestion` with evidence, and write human-ratified
|
|
93
|
-
candidates to `.devrites/principles.md` with a dated Governance entry
|
|
94
|
-
([`principles.md`](../devrites-lib/reference/standards/principles.md)). An unratified
|
|
95
|
-
candidate remains a convention, not a gate. If no invariant qualifies, declare no
|
|
96
|
-
principles.
|
|
97
|
-
5. **Hand off.** Continue with `$rite-clarify`. Its topology scan asks no questions when
|
|
98
|
-
the derived contract is already clear. Every plan then runs `$rite-vet` before build.
|
|
99
|
-
Do not plan or build here.
|
|
100
|
-
**Completion:** one next rite is reported and no plan or application code was written.
|
|
101
15
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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.
|
|
105
36
|
|
|
106
37
|
## Output
|
|
107
38
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
Changed: spec.md, decisions.md, conventions ledger, principles proposals <updated|none>
|
|
114
|
-
Evidence: not applicable; reverse-derived behavior is recorded for review
|
|
115
|
-
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>
|
|
116
44
|
Next: $rite-clarify
|
|
117
|
-
Record: .devrites/work/<slug>/spec.md
|
|
118
|
-
↻ Hygiene: /clear before the next phase
|
|
119
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
|
-
([`.agents/skills/devrites-lib/reference/standards/security.md`](../../devrites-lib/reference/standards/security.md) § Prompt-injection resistance),
|
|
54
|
-
an over-eager seed is self-correcting, but seed conservatively anyway; a wrong seed costs a
|
|
55
|
-
needless contradiction later.
|
|
17
|
+
Write the adopted baseline and next objective to `spec.md`; put uncertain facts
|
|
18
|
+
in `assumptions.md` and durable decisions in `decisions.md`. If an observed rule
|
|
19
|
+
should govern future work, propose one reviewed update to `AGENTS.md`,
|
|
20
|
+
`CLAUDE.md`, or the nearest scoped project document. Do not create a convention
|
|
21
|
+
ledger, confidence band, score, or duplicated command cache.
|
|
@@ -1,61 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-autocomplete
|
|
3
|
-
description: Run the DevRites lifecycle
|
|
4
|
-
argument-hint: "[idea] [--ship|--yolo] [--max-slices N]"
|
|
3
|
+
description: Run the full DevRites lifecycle unattended; --ship continues to the final Git approval boundary. Use for one-shot autonomous work; not for a single phase.
|
|
4
|
+
argument-hint: "[idea] [--ship|--yolo] [--max-slices N] [--full] [--cross-model]"
|
|
5
5
|
user-invocable: true
|
|
6
|
-
required-agent-roles: none
|
|
7
6
|
---
|
|
8
7
|
|
|
9
|
-
## Codex compatibility
|
|
10
|
-
|
|
11
|
-
This is the Codex mirror of a DevRites skill. In Codex:
|
|
12
|
-
|
|
13
|
-
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
14
|
-
- Installed `.agents/` mirrors may be Git-ignored. If a repository-aware file tool refuses an ignored path, read it with a native filesystem command instead; a tool refusal is not a completed task.
|
|
15
|
-
- For automatic Engram calls, omit optional `project` and `session_id` unless an exact value came from Engram or repository configuration. Never derive either from `task_name`, a run ID, directory name, or normalized slug. Call `mem_session_summary` without them by default; on `unknown_session` or `unknown_project`, retry once with both optional fields omitted. If auto-detection is ambiguous, ask the user instead of guessing.
|
|
16
|
-
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
17
|
-
- **Invocation and dispatch are different:** invoke means run a skill in this context; dispatch means start a fresh agent with `spawn_agent`, await it, and reconcile its result. Never describe inline skill work as a dispatch.
|
|
18
|
-
- On MultiAgent V2, call `spawn_agent` with the exact named `agent_type=devrites-<role>`, a unique `task_name`, and `fork_turns="none"`. A missing visible `agent_type` field is still V2—not capability loss, V1, or HITL—so send it anyway. If the named call rejects it, stop before any generic/default spawn. Codex loads the role TOML's `developer_instructions` natively; DevRites verifies the durable rollout, wait, completion, and delivered result.
|
|
19
|
-
- Only after the runtime explicitly identifies MultiAgent V1, use generic `explorer` for a read-only role with `fork_turns="none"` and name exactly one `.codex/agents/devrites-<role>.toml` contract in the message. Trusted `.codex/hooks.json` injects that contract's exact `developer_instructions` and binds the child to the fail-closed reviewer read-only guard.
|
|
20
|
-
- On explicitly identified MultiAgent V1, `devrites-slice-wright` uses generic `worker` with `fork_turns="none"` and the exact role TOML named in the message. Trusted `.codex/hooks.json` binds it to the active reconcile window and `.wright-allowlist`.
|
|
21
|
-
- The invoked skill's `required-agent-roles` frontmatter arms the fail-closed Stop receipt. Every listed role must have a confirmed start, wait, and non-empty result in this turn.
|
|
22
|
-
- If the required dispatch for the explicitly identified runtime is unavailable or rejected, stop for HITL. Never switch runtime lanes. Never execute a DevRites specialist role in the root context.
|
|
23
|
-
- Wait for every required fresh-context dispatch before reconciling or advancing. A backgrounded or lost result is incomplete.
|
|
24
|
-
- Codex project hooks are installed in `.codex/hooks.json`; declared-leaf hooks are scoped inside `.codex/agents/devrites-*.toml`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
25
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
26
|
-
|
|
27
|
-
|
|
28
8
|
# $rite-autocomplete: full lifecycle, unattended
|
|
29
9
|
|
|
30
|
-
Runs every
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
10
|
+
Runs every phase unattended after initial clarification. Irreversible-risk,
|
|
11
|
+
blocking/escalating,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
12
|
+
and NO-GO gates still pause. Use the **Standard** native execution profile by
|
|
13
|
+
default and **Full** for high-risk scope or explicit `--full`; profiles are defined in
|
|
14
|
+
[`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
34
15
|
|
|
35
16
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
36
17
|
**Step 0:** Read `.agents/skills/devrites-lib/reference/standards/core.md` and `.agents/skills/devrites-lib/reference/standards/afk-hitl.md` first.
|
|
37
18
|
|
|
38
19
|
## Operating rules
|
|
39
|
-
- **Use one initial human window.** Run spec and topology-first clarify; arm AFK
|
|
40
|
-
`Decision coverage: CLEAR`.
|
|
20
|
+
- **Use one initial human window.** Run spec and topology-first clarify; arm AFK
|
|
21
|
+
only after `Decision coverage: CLEAR`. Record later discretionary calls
|
|
41
22
|
([decision policy](reference/decision-policy.md)).
|
|
42
|
-
- **Safety gates are not bypassable.**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- **Record each discretionary choice.** Pick the option recommended by the relevant
|
|
58
|
-
specialist or reviewer and record the rationale. Do not choose arbitrarily.
|
|
23
|
+
- **Safety gates are not bypassable.** Irreversible risk, blocking/escalating,
|
|
24
|
+
open validating gates, and unexcepted principle violations pause. `--ship` /
|
|
25
|
+
`--yolo` never authorizes Git; it reaches only the exact-plan literal-GO and
|
|
26
|
+
native-approval boundary. Red checks run bounded recovery, then block unless
|
|
27
|
+
the remaining decision is human-owned.
|
|
28
|
+
- **Budget from the post-vet slice count.** Vet may split/add slices.
|
|
29
|
+
`--max-slices N` may lower the cap for a partial run; otherwise build all.
|
|
30
|
+
- **Parse flags only from this invocation.** `--ship`, `--yolo`, `--max-slices`,
|
|
31
|
+
`--full`, and `--cross-model` are active only when their exact standalone tokens
|
|
32
|
+
occur in `$ARGUMENTS`; their presence in this skill, examples, or earlier messages
|
|
33
|
+
can never arm them. `--max-slices` must occur once and be followed by a positive
|
|
34
|
+
base-10 integer; missing, repeated, malformed, or conflicting values stop before
|
|
35
|
+
any sentinel or workspace write.
|
|
36
|
+
- **Record discretionary choices.** Use the specialist/reviewer recommendation
|
|
37
|
+
and rationale; never choose arbitrarily.
|
|
59
38
|
- **Strategic review runs, but never auto-grows scope.** After `$rite-clarify`, run `$rite-temper`
|
|
60
39
|
(significance-gated; it skips low-stakes specs in one line). Unattended it auto-applies only
|
|
61
40
|
`hold-rigor` + `reduce-to-MVP` (these never grow acceptance); **any `expand` is a blocking
|
|
@@ -65,47 +44,58 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
65
44
|
run `$rite-vet` on **every** feature (depth scales: a light pass on simple plans, full rigor on
|
|
66
45
|
big/risky; never skipped). Unattended it auto-applies only *hardening* findings: added test
|
|
67
46
|
requirements, error-handling / failure-mode coverage, tightened scope, reuse-over-rebuild,
|
|
68
|
-
|
|
47
|
+
dependency-order fixes (these never grow acceptance); **any finding that grows scope,
|
|
69
48
|
adds a slice, or changes acceptance is a blocking pause**, and irreversible-risk findings always
|
|
70
49
|
pause. Cross-model is off unless `--cross-model` was armed.
|
|
71
50
|
|
|
72
51
|
## Workflow
|
|
73
|
-
1. **Orient + parse args.**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
52
|
+
1. **Orient + parse args.** Resolve the explicit or active slug, require its
|
|
53
|
+
`state.md`, and read the cursor directly.
|
|
54
|
+
The idea + flags: `--ship` / `--yolo` (continue through ship preflight, then stop
|
|
55
|
+
for literal-GO and native approval), `--max-slices N` (optional lower safety cap for a partial run; default =
|
|
56
|
+
the plan's slice count, i.e. run all planned slices). Parse only the current
|
|
57
|
+
`$ARGUMENTS`; normalize the result to the idea, `ship_preflight: yes|no`,
|
|
58
|
+
`max_slices: N|plan`, `profile: standard|full`, and `cross_model: yes|no`.
|
|
59
|
+
**Completion:** that normalized state is unambiguous and no sentinel or workspace
|
|
60
|
+
file has been written.
|
|
77
61
|
2. **Specify and clarify up front.** Use `devrites-interview`, `$rite-spec`, and
|
|
78
62
|
`$rite-clarify` as one interactive window. Clear specs ask zero questions; Partial/Missing
|
|
79
63
|
coverage never arms AFK. **Completion:** `decision-coverage.md` records `CLEAR`.
|
|
80
|
-
3. **Arm AFK after clarity.** Require `Decision coverage: CLEAR`, then
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
64
|
+
3. **Arm AFK after clarity.** Require `Decision coverage: CLEAR`, then apply the
|
|
65
|
+
loop's [one-write AFK contract](reference/loop.md#arm-afk-once): preserve a valid
|
|
66
|
+
existing sentinel byte-for-byte or create an advisory-only sentinel once; never
|
|
67
|
+
rewrite it after Vet. Also `touch .devrites/CHECKPOINT`: unattended runs use
|
|
68
|
+
checkpoint mode so each proven slice is committed locally as a crash-survivable
|
|
69
|
+
`WIP` ([rite-build/reference/checkpoint.md](../rite-build/reference/checkpoint.md));
|
|
70
|
+
`$rite-ship` collapses them into the one feature commit. **Completion:** AFK config is
|
|
71
|
+
valid and advisory-only, any pre-existing bytes are unchanged, and the checkpoint
|
|
72
|
+
sentinel exists.
|
|
88
73
|
4. **Drive the phases** ([reference/loop.md](reference/loop.md)). The canonical arc is
|
|
89
74
|
`$rite-spec` → **`$rite-clarify`** → **`$rite-temper`** → `$rite-define` →
|
|
90
75
|
**`$rite-vet`** → `$rite-build` (repeat until all slices
|
|
91
|
-
built;
|
|
92
|
-
|
|
93
|
-
workspace files, not chat.
|
|
76
|
+
built; root charges the AFK budget once per green built slice) → `$rite-prove`
|
|
77
|
+
→ `$rite-polish` → `$rite-review` → `$rite-seal`.
|
|
78
|
+
Read each `SKILL.md` and execute it; workspace files carry state, not chat.
|
|
79
|
+
Immediately after `$rite-vet` and before the first Build dispatch, apply the loop's
|
|
80
|
+
[mutable post-vet budget](reference/loop.md#derive-the-mutable-post-vet-budget)
|
|
81
|
+
contract. **Completion:** the loop reaches Seal GO, or a stop condition is persisted
|
|
82
|
+
before any later phase runs; the cursor names the last completed phase and the
|
|
83
|
+
effective remaining budget.
|
|
94
84
|
5. **Apply stop conditions at every gate** ([reference/stop-conditions.md](reference/stop-conditions.md)):
|
|
95
85
|
on hard-risk / blocking / escalating / NO-GO / budget-exhausted / still-low-confidence
|
|
96
86
|
→ write `state.md` (`Status`, `Next step`), surface *why*, and **STOP**.
|
|
97
|
-
|
|
98
|
-
|
|
87
|
+
**Completion:** either no stop condition is active, or the stopped cursor and reason
|
|
88
|
+
are durable and no later phase has been invoked.
|
|
89
|
+
6. **Seal GO → ship boundary.** With `--ship` / `--yolo`, proceed through
|
|
90
|
+
`$rite-ship` preflight, disclose the exact Git plan, then stop for the human's
|
|
91
|
+
literal `GO` and any native host approval. Without the flag, stop at seal GO with
|
|
92
|
+
`$rite-ship` as the resume command. **Completion:** the no-flag path has performed no
|
|
93
|
+
Ship work; the flagged path has disclosed the exact plan and performed no Git action
|
|
94
|
+
before fresh literal `GO` plus native approval.
|
|
99
95
|
|
|
100
96
|
> **Mid-flight discipline.** Stop rather than auto-passing a blocking gate, answering a
|
|
101
97
|
> human-owned material question, or continuing past red tests.
|
|
102
98
|
|
|
103
|
-
## Output
|
|
104
|
-
A compact phase log followed by the final status. **Progress first for the final
|
|
105
|
-
status**: run `devrites-engine progress`, then use the shared typed states from
|
|
106
|
-
[`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md):
|
|
107
|
-
`Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`.
|
|
108
|
-
|
|
109
99
|
Keep the log terse:
|
|
110
100
|
```
|
|
111
101
|
Autocomplete: <slug>
|
|
@@ -117,7 +107,9 @@ Final state examples: `Shipped: <feature>`, `Stopped: <reason>`, `Awaiting human
|
|
|
117
107
|
Do not write a narrative recap.
|
|
118
108
|
|
|
119
109
|
## Clean baseline and checkpoint mode
|
|
120
|
-
- Before
|
|
121
|
-
- Arm `.devrites/CHECKPOINT`
|
|
122
|
-
- Stop on risky steps, red gates, NO-GO, stale evidence, or budget
|
|
123
|
-
-
|
|
110
|
+
- Before autonomy, require a clean or accepted baseline; refuse unrelated dirty work and record plan artifacts.
|
|
111
|
+
- Arm `.devrites/CHECKPOINT`; `$rite-ship` collapses its local-only proven-slice checkpoints.
|
|
112
|
+
- Stop on risky steps, red gates, NO-GO, stale evidence, or exhausted budget.
|
|
113
|
+
- One autocomplete pass spans the lifecycle. Each wright returns after one slice;
|
|
114
|
+
explicit `.devrites/AFK` lets the Build root chain green slices under cap/pause rules;
|
|
115
|
+
otherwise HITL stops.
|
|
@@ -1,30 +1,37 @@
|
|
|
1
1
|
# The autocomplete loop: arm AFK, drive every phase
|
|
2
2
|
|
|
3
|
-
Autocomplete
|
|
4
|
-
|
|
5
|
-
and enforces stop conditions.
|
|
3
|
+
Autocomplete sequences existing `/rite-*` workflows and enforces stop
|
|
4
|
+
conditions without pausing between routine phases.
|
|
6
5
|
|
|
7
|
-
## Arm AFK
|
|
6
|
+
## Arm AFK once
|
|
8
7
|
|
|
9
|
-
Arm the gate policy up front
|
|
8
|
+
Arm the gate policy up front without mutating it later:
|
|
10
9
|
|
|
11
10
|
```yaml
|
|
12
11
|
allow_gates: [advisory] # only advisory auto-handles; validating+ pause
|
|
13
12
|
# notify: "<cmd>" # optional — fired on any awaiting_human pause
|
|
14
|
-
# max_slices: <N> #
|
|
15
|
-
# $rite-define (or an explicit --max-slices). NOT a target decomposition; it only
|
|
16
|
-
# caps how many run unattended (default = all the plan's slices).
|
|
13
|
+
# max_slices: <N> # include only for an explicit/configured cap
|
|
17
14
|
```
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
Read an existing sentinel first. Preserve it byte-for-byte when valid; stop if its gate
|
|
17
|
+
ceiling exceeds `advisory` or its `max_slices` conflicts with the invocation. If absent,
|
|
18
|
+
write it once after clarity with `allow_gates: [advisory]` and an explicit
|
|
19
|
+
`--max-slices N` only when supplied. The sentinel is read-only: never rewrite it after
|
|
20
|
+
`$rite-vet` to inject a discovered plan count.
|
|
21
|
+
|
|
22
|
+
### Derive the mutable post-vet budget
|
|
23
|
+
|
|
24
|
+
After `$rite-vet`, count remaining pending slices and derive the run budget as the
|
|
25
|
+
minimum of that count, an explicit `--max-slices`, and a configured sentinel cap. Before
|
|
26
|
+
the first build dispatch, pre-seed `state.md` `afk_slices_remaining` when absent. If a
|
|
27
|
+
valid remaining counter already exists, retain the lower of it and the derived budget;
|
|
28
|
+
never increase or reinitialize it. This keeps the crash-survivable budget in its mutable owner
|
|
29
|
+
without changing AFK configuration mid-run.
|
|
24
30
|
|
|
25
31
|
`allow_gates: [advisory]` prevents an open `gate: validating` from being queued until
|
|
26
32
|
seal, where it would force NO-GO under `afk-hitl.md`. Autocomplete pauses on it instead. Widen
|
|
27
|
-
`allow_gates` only
|
|
33
|
+
`allow_gates` only outside autocomplete through an explicit human configuration change;
|
|
34
|
+
autocomplete itself never widens the ceiling.
|
|
28
35
|
|
|
29
36
|
## Drive the phases
|
|
30
37
|
|
|
@@ -37,13 +44,13 @@ Read each phase's `SKILL.md` and execute that workflow. Workspace files such as
|
|
|
37
44
|
| 2 | `$rite-clarify` | same interactive window: topology-first scan; write `decision-coverage.md`; proceed only on `CLEAR`, then arm AFK |
|
|
38
45
|
| 3 | `$rite-temper` | significance-gated strategic review; harden spec + write `strategy.md`. Skip low-stakes specs in one line. AFK: `hold-rigor` / `reduce-to-MVP` auto-apply; **any `expand` pauses (blocking)**; irreversible-risk pauses |
|
|
39
46
|
| 4 | `$rite-define` | reads `decision-coverage.md` + `strategy.md`; writes `plan.md` + `tasks.md`; records `Plan approved` |
|
|
40
|
-
| 5 | `$rite-vet` | engineering/readiness review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` (`Implementation readiness: READY`) + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses.
|
|
41
|
-
| 6 | `$rite-build` ×N | **loop** while any slice is `pending`; build one
|
|
47
|
+
| 5 | `$rite-vet` | engineering/readiness review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` (`Implementation readiness: READY`) + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses. Derive and pre-seed the state-owned slice budget after this (vet may split a slice); never rewrite the AFK sentinel |
|
|
48
|
+
| 6 | `$rite-build` ×N | **loop** while any slice is `pending`; build one, then let the root charge exactly one budget unit with the built-state record. Zero ⇒ STOP before another dispatch. |
|
|
42
49
|
| 7 | `$rite-prove` | once all slices `built`; walks `test-plan.md`; on failure → `devrites-debug-recovery` within scope |
|
|
43
50
|
| 8 | `$rite-polish` | re-verify after code edits (evidence must stay fresh) |
|
|
44
51
|
| 9 | `$rite-review` | apply in-scope fixes; re-prove if code changed |
|
|
45
52
|
| 10 | `$rite-seal` | GO/NO-GO decision (no git here) |
|
|
46
|
-
| 11 | `$rite-ship` | only if seal GO; `--ship`
|
|
53
|
+
| 11 | `$rite-ship` | only if seal GO; `--ship` / `--yolo` never authorizes Git and only continues to the exact-plan literal-GO/native-approval boundary |
|
|
47
54
|
|
|
48
55
|
## Between phases
|
|
49
56
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Stop conditions: when autocomplete must pause for a human
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
On these conditions, write `state.md` (`awaiting_human` or `blocked`), report
|
|
4
|
+
the reason and one resume command, notify if configured, and stop. `--ship`
|
|
5
|
+
cannot bypass them.
|
|
6
6
|
|
|
7
7
|
## Always stop (irreversible-risk list: from `afk-hitl.md`)
|
|
8
8
|
|
|
@@ -13,9 +13,8 @@ Regardless of `allow_gates` or `--ship`:
|
|
|
13
13
|
- External-service contract change.
|
|
14
14
|
- Filesystem destruction outside the workspace.
|
|
15
15
|
|
|
16
|
-
Red
|
|
17
|
-
|
|
18
|
-
the remaining issue is human-owned.
|
|
16
|
+
Red checks are hard non-advance gates. Run bounded `devrites-debug-recovery`;
|
|
17
|
+
on exhaustion, stop as a technical blocker unless human-owned.
|
|
19
18
|
|
|
20
19
|
## Stop on gate severity
|
|
21
20
|
|
|
@@ -26,11 +25,9 @@ the remaining issue is human-owned.
|
|
|
26
25
|
|
|
27
26
|
## Stop on strategic-review scope expansion (`$rite-temper`)
|
|
28
27
|
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
never grow the build's scope); **growing scope unattended is never automatic**. A low-stakes
|
|
33
|
-
spec that temper skips, or a `hold-rigor` / `reduce-to-MVP` run, does **not** pause.
|
|
28
|
+
- Any `expand` or added acceptance criterion pauses regardless of
|
|
29
|
+
`allow_gates`/`--ship`. Only `hold-rigor` and `reduce-to-MVP` auto-apply;
|
|
30
|
+
skipped low-stakes specs and those two modes do not pause.
|
|
34
31
|
|
|
35
32
|
## Stop on incomplete decision coverage (`$rite-clarify`)
|
|
36
33
|
|
|
@@ -44,21 +41,21 @@ the remaining issue is human-owned.
|
|
|
44
41
|
direction. Do not round NO-GO up to GO.
|
|
45
42
|
- **Spec Drift Guard fires** (`$rite-build` finds the plan is wrong and the change
|
|
46
43
|
alters product behaviour) → stop; route through `$rite-plan repair`.
|
|
47
|
-
- **Budget exhausted with slices still pending:**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
- **Budget exhausted with slices still pending:** any validated root-owned remaining
|
|
45
|
+
value of zero stops before the next dispatch. Report which bound won (pre-existing
|
|
46
|
+
remaining value, explicit flag, sentinel cap, or post-vet pending count) and the
|
|
47
|
+
unbuilt slices. A malformed value also fails closed. Zero with no pending slices is
|
|
48
|
+
normal completion → continue to `$rite-prove` without pausing.
|
|
51
49
|
- **Still low-confidence after the interview:** the idea can't be pinned to testable
|
|
52
50
|
acceptance criteria → stop and ask, rather than guessing the product.
|
|
53
|
-
- **Repeated failure:**
|
|
54
|
-
scope after a bounded number of attempts → stop with the reproduction.
|
|
51
|
+
- **Repeated failure:** bounded recovery exhausts → stop with reproduction.
|
|
55
52
|
|
|
56
53
|
## The final type-GO
|
|
57
54
|
|
|
58
|
-
-
|
|
59
|
-
literal `GO
|
|
60
|
-
-
|
|
61
|
-
|
|
55
|
+
- `--ship` / `--yolo` never authorizes Git. Continue through ship preflight,
|
|
56
|
+
disclose the exact plan, then stop for literal `GO` and native approval.
|
|
57
|
+
- Without either flag, stop at seal GO with `$rite-ship` as the resume command.
|
|
58
|
+
Seal GO, AFK, prior approval, and flags never satisfy ship approval.
|
|
62
59
|
|
|
63
60
|
## How to stop well
|
|
64
61
|
|