devrites 3.2.28 → 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 +16 -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 -1726
- 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 -2778
- package/engine/tests/hooks_io_test.go +0 -309
- package/engine/tests/json_contract_test.go +0 -224
- package/engine/tests/lib_parity_test.go +0 -930
- package/engine/tests/migrate_cli_test.go +0 -195
- package/engine/tests/parity_analyze_test.go +0 -55
- package/engine/tests/parity_buildreadiness_test.go +0 -199
- package/engine/tests/parity_learnings_test.go +0 -89
- package/engine/tests/parity_mutationgate_test.go +0 -36
- package/engine/tests/parity_reconcile_test.go +0 -94
- package/engine/tests/parity_testintegrity_test.go +0 -65
- package/engine/tests/parity_tickafk_test.go +0 -83
- package/engine/validatepack.go +0 -192
- package/engine/validatepack_test.go +0 -79
- package/engine/validatepackskills.go +0 -181
- package/engine/validatepackskills_test.go +0 -171
- package/pack/.claude/agents/devrites-forge-judge.md +0 -118
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/.claude/skills/rite-build/reference/forge.md +0 -210
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/.claude/skills/rite-ship/reference/ledger.md +0 -56
- package/pack/generated/claude/agents/devrites-forge-judge.md +0 -118
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +0 -52
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/generated/claude/skills/rite-build/reference/forge.md +0 -210
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +0 -56
- package/pack/generated/codex/agents/devrites-forge-judge.toml +0 -128
- package/pack/generated/codex/hooks.json +0 -185
- package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +0 -44
- package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +0 -71
- package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +0 -2
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +0 -45
- package/pack/generated/codex/skills/rite-build/reference/forge.md +0 -210
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +0 -60
- package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +0 -9
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +0 -56
- package/scripts/build-binaries.sh +0 -75
- package/scripts/build-release-tarball.sh +0 -105
- package/scripts/check-authority-drift.py +0 -125
- package/scripts/check-cross-refs.py +0 -139
- package/scripts/check-generated-skill-budget.mjs +0 -42
- package/scripts/check-instruction-size-baseline.mjs +0 -88
- package/scripts/check-invocation-integrity.py +0 -115
- package/scripts/check-no-global-writes.sh +0 -66
- package/scripts/check-no-personal-paths.py +0 -50
- package/scripts/check-npm-audit.mjs +0 -110
- package/scripts/check-reference-governance.mjs +0 -83
- package/scripts/check-reply-contract.sh +0 -64
- package/scripts/check-rule-uniqueness.sh +0 -45
- package/scripts/devrites-detect.sh +0 -176
- package/scripts/grade-feature.sh +0 -204
- package/scripts/live-hosts/agent-result.schema.json +0 -231
- package/scripts/live-hosts/claude.sh +0 -87
- package/scripts/live-hosts/codex.sh +0 -85
- package/scripts/live-hosts/common.sh +0 -113
- package/scripts/live-hosts/fake-host.py +0 -257
- package/scripts/live-hosts/host-transport.py +0 -286
- package/scripts/npm-audit-exceptions.json +0 -26
- package/scripts/pin.sh +0 -249
- package/scripts/release-check.sh +0 -75
- package/scripts/run-agent-contract-evals.py +0 -1380
- package/scripts/run-behavioral-evals.sh +0 -196
- package/scripts/run-evals.sh +0 -132
- package/scripts/run-live-behavioral-evals.py +0 -1310
- package/scripts/run-outcome-evals.sh +0 -454
- package/scripts/run-routing-evals.py +0 -342
- package/scripts/run-tests.mjs +0 -232
- package/scripts/scan-pack-security.py +0 -209
- package/scripts/scan-supply-chain-iocs.py +0 -127
- package/scripts/skill-pruning-audit.mjs +0 -121
- package/scripts/skills-inventory.mjs +0 -125
- package/scripts/supply-chain-iocs.json +0 -11
- package/scripts/sync-version.sh +0 -54
- package/scripts/validate-agent-composition.py +0 -57
- package/scripts/validate-command-parity.py +0 -70
- package/scripts/validate-frontmatter.py +0 -218
- package/scripts/validate-skill-anatomy.py +0 -139
- package/scripts/validate-workflow-security.py +0 -184
- package/scripts/validate-workspace-schema.py +0 -800
- package/scripts/validate.sh +0 -354
- package/scripts/workflow_schema.py +0 -69
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/decisions.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/plan.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/spec.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/auth-tokens/tasks.md +0 -0
- /package/engine/testdata/fixtures/basic/devrites-root/{features → work}/search-ranking/spec.md +0 -0
|
@@ -4,7 +4,6 @@ description: User-invoked handoff writer: sync chat-only context into `.devrites
|
|
|
4
4
|
user-invocable: true
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
argument-hint: "[what the next session will focus on]"
|
|
7
|
-
required-agent-roles: none
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# /rite-handoff: chat-only context, into a fresh-agent doc
|
|
@@ -17,7 +16,7 @@ the same user after `/clear`) can pick the work up without re-reading the transc
|
|
|
17
16
|
Read `.claude/skills/devrites-lib/reference/standards/core.md` first: its "Persistence before stopping" discipline is
|
|
18
17
|
exactly what this skill executes. The other rule files load on demand.
|
|
19
18
|
|
|
20
|
-
Then
|
|
19
|
+
Then read the explicit or active workspace's `state.md` directly.
|
|
21
20
|
|
|
22
21
|
## Where to write
|
|
23
22
|
|
|
@@ -9,7 +9,7 @@ Loaded on demand by `/rite-handoff`. Write the filled-in template to
|
|
|
9
9
|
## Resume
|
|
10
10
|
Current objective: <one sentence>
|
|
11
11
|
Last completed slice: <SLICE-### | none>
|
|
12
|
-
Blockers: <none | Q-### / DRIFT-###>
|
|
12
|
+
Blockers: <none | q-YYYY-MM-DD-NNN / released Q-### / DRIFT-###>
|
|
13
13
|
|
|
14
14
|
## Read next
|
|
15
15
|
1. `.devrites/work/<slug>/README.md` — workspace map.
|
|
@@ -1,118 +1,58 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-learn
|
|
3
|
-
description:
|
|
4
|
-
argument-hint: "[
|
|
3
|
+
description: Review recurring cross-feature evidence and propose durable project guidance.
|
|
4
|
+
argument-hint: "[\"<lesson or rejected direction>\"]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
disable-model-invocation: true
|
|
7
|
-
required-agent-roles: none
|
|
8
7
|
---
|
|
9
8
|
|
|
10
|
-
# /rite-learn:
|
|
9
|
+
# /rite-learn: review durable lessons
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
`.devrites/health-history.jsonl`, and per-feature review fingerprints as supporting evidence. The
|
|
16
|
-
review skills load the learning ledger **before** a fan-out, so a dismissed-finding class stops
|
|
17
|
-
being re-flagged without anyone running a command. The system learns as it ships.
|
|
18
|
-
|
|
19
|
-
`/rite-learn` is the periodic **review + promote** pass on that auto-populated ledger: cluster the
|
|
20
|
-
signal across features and decide which recurring lessons graduate into a project rule. **Propose,
|
|
21
|
-
never impose**: promotion is the human's call, which is why it stays a deliberate command rather
|
|
22
|
-
than firing on its own.
|
|
23
|
-
|
|
24
|
-
Read-mostly. It reads the auto-populated ledger + the archive; it writes only `.devrites/learnings.md`
|
|
25
|
-
(consolidation, via `devrites-engine learnings`) and drafts proposed rule/ledger edits for the user to confirm:
|
|
26
|
-
it never edits source or rule files on its own.
|
|
11
|
+
Use native session memory and reviewed project Markdown instead of an engine
|
|
12
|
+
miner, score, nudge, or convention registry. This command proposes durable
|
|
13
|
+
guidance; it never turns an inferred pattern into a rule on its own.
|
|
27
14
|
|
|
28
15
|
## Modes
|
|
29
16
|
|
|
30
|
-
- `/rite-learn`
|
|
31
|
-
- `/rite-learn "<lesson>"
|
|
32
|
-
|
|
33
|
-
## Workflow
|
|
34
|
-
|
|
35
|
-
1.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
reason that outlives one feature; recording it (tag `rejected-direction`) stops ideation
|
|
63
|
-
skills (`/rite-pressure-test`, `/rite-pov`) from re-proposing it. Exempt from the
|
|
64
|
-
≥2-occurrence rule: one deliberate rejection is the whole pattern.
|
|
65
|
-
- **drop:** not durable; let it go.
|
|
66
|
-
4. **Propose, don't impose.** Present the candidates with their evidence (which features, how many
|
|
67
|
-
times, the proposed home) via `AskUserQuestion`: the human picks which to promote. Never
|
|
68
|
-
promote a lesson to a rule silently; an unproven "lesson" hardened into a rule is its own slop.
|
|
69
|
-
**Completion:** every candidate is explicitly accepted, rejected, or deferred by the human.
|
|
70
|
-
5. **Record the accepted.** For each the user accepts, append it with `devrites-engine learnings add <slug>
|
|
71
|
-
"<lesson>" <tag>` (`tag` ∈ `rule | convention | dismiss`). If the user approves a **rule**,
|
|
72
|
-
**principle**, or **ledger** promotion, draft the exact edit and let the user confirm it through
|
|
73
|
-
the normal flow: `/rite-learn` writes the ledger, not the rule or principle files. A
|
|
74
|
-
**principle** promotion is the highest-stakes of these: draft the `.devrites/principles.md` entry
|
|
75
|
-
**plus its dated Governance line**, and let the human confirm before it lands: a principle is a
|
|
76
|
-
gate, so it is amended deliberately, never auto-written. **Amendment ripple:** a confirmed
|
|
77
|
-
add/change/retire of a principle has a blast radius: grep its `P#` (and its key nouns) across
|
|
78
|
-
`.devrites/` and every open `.devrites/work/*/` workspace, and append to the same dated
|
|
79
|
-
Governance entry one line per referencing artifact: *still-aligned* or *needs-follow-up (what)*.
|
|
80
|
-
An open plan that bakes in the now-retired or now-tightened invariant is a `needs-follow-up`
|
|
81
|
-
the next `/rite-vet` or `/rite-plan repair` on that feature must clear; a ripple with zero
|
|
82
|
-
references is itself worth recording ("no live references"). Then `touch .devrites/.learnings-reviewed`
|
|
83
|
-
so the SessionStart learnings nudge snoozes until new signal accumulates.
|
|
84
|
-
|
|
85
|
-
## How the ledger is used
|
|
86
|
-
|
|
87
|
-
The review skills (`/rite-review`, `/rite-seal`) read `.devrites/learnings.md` before they fan
|
|
88
|
-
out: a **dismissed-finding class** suppresses the recurring false positive; a **proven
|
|
89
|
-
convention** raises the bar. The ideation skills (`/rite-pressure-test`, `/rite-pov`) read the
|
|
90
|
-
**rejected-direction** entries before proposing, so a ruled-out direction returns only with new
|
|
91
|
-
evidence against its recorded why. The ledger is an **untrusted prior**: a fresh observation of the
|
|
92
|
-
live code always overrides a ledger entry (see `.claude/skills/devrites-lib/reference/standards/security.md`). Confidence in a
|
|
93
|
-
recorded lesson never raises its authority.
|
|
94
|
-
|
|
95
|
-
A **project principle** (`.devrites/principles.md`) is the opposite layer: prescriptive,
|
|
96
|
-
trusted, and **gating**. Promoting a lesson there is a deliberate amendment, not a prior the next
|
|
97
|
-
fan-out can override: a violation becomes a blocking finding, not a suppressed false positive.
|
|
98
|
-
That asymmetry is why principle promotion is human-confirmed and dated, never auto-written.
|
|
99
|
-
|
|
100
|
-
## Gotchas
|
|
101
|
-
- Evidence first: a lesson without ≥2 real occurrences is speculation. Cite the features.
|
|
102
|
-
- Don't pad the ledger. Five real lessons that change behaviour beat thirty rubber-stamped rows.
|
|
103
|
-
- The ledger records *what was learned*; it does not re-open shipped features or edit their archives.
|
|
17
|
+
- `/rite-learn` reviews recurring evidence across shipped work.
|
|
18
|
+
- `/rite-learn "<lesson>"` evaluates one proposed lesson or rejected direction.
|
|
19
|
+
|
|
20
|
+
## Workflow
|
|
21
|
+
|
|
22
|
+
1. Read the applicable `AGENTS.md` or `CLAUDE.md`, accepted ADRs, and relevant
|
|
23
|
+
`.devrites/archive/*/{decisions,drift,review,seal}.md` files. Use native host
|
|
24
|
+
memory or session history when available, but verify every durable claim
|
|
25
|
+
against repository evidence.
|
|
26
|
+
2. For a broad review, ask the exact `devrites-retrospector` agent to inspect the
|
|
27
|
+
bounded archive in a fresh read-only context. Wait for its result and
|
|
28
|
+
reconcile it against the cited files.
|
|
29
|
+
3. Keep a candidate only when it is specific and supported by either:
|
|
30
|
+
- the same correction in at least two distinct features; or
|
|
31
|
+
- one explicit, durable product/architecture decision with its rationale.
|
|
32
|
+
4. Choose the smallest authoritative home:
|
|
33
|
+
- `AGENTS.md`, `CLAUDE.md`, or a scoped standards document for an operating
|
|
34
|
+
rule;
|
|
35
|
+
- an ADR for a significant durable architecture decision;
|
|
36
|
+
- the active feature's `decisions.md` for a feature-scoped decision;
|
|
37
|
+
- no change for a one-off, stale, or generic observation.
|
|
38
|
+
5. Show the evidence and exact proposed edit. Apply it only after the user
|
|
39
|
+
approves the durable rule or decision.
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
|
|
43
|
+
- Live repository evidence outranks memory.
|
|
44
|
+
- Do not maintain a parallel learning ledger, convention score, health score,
|
|
45
|
+
timeline, fingerprint index, or promotion queue.
|
|
46
|
+
- Do not duplicate guidance already stated by a higher or nearer authority.
|
|
47
|
+
- A rejected direction returns only when new evidence changes its recorded
|
|
48
|
+
rationale.
|
|
104
49
|
|
|
105
50
|
## Output
|
|
106
|
-
Reply-contract exception: cross-feature learning utility. It may run without an active
|
|
107
|
-
feature, so it skips `devrites-engine progress`, but follows
|
|
108
|
-
[`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md).
|
|
109
51
|
|
|
110
|
-
```
|
|
111
|
-
Done:
|
|
112
|
-
|
|
113
|
-
Evidence:
|
|
114
|
-
|
|
115
|
-
Next: <single
|
|
116
|
-
Record: .devrites/learnings.md
|
|
117
|
-
↻ Hygiene: /clear; the ledger is on disk
|
|
52
|
+
```text
|
|
53
|
+
Done: reviewed <scope>.
|
|
54
|
+
Candidates: <specific proposals or none>.
|
|
55
|
+
Evidence: <feature/file references>.
|
|
56
|
+
Awaiting: <approval for exact edits | none>.
|
|
57
|
+
Next: <single action>.
|
|
118
58
|
```
|
|
@@ -3,7 +3,6 @@ name: rite-plan
|
|
|
3
3
|
description: Re-plan existing work when reality invalidates the plan: reslice a slice that is too big, repair drift, reorder dependencies, split boundaries, or unblock work. Not first-pass decomposition.
|
|
4
4
|
argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-correct|revise]"
|
|
5
5
|
user-invocable: true
|
|
6
|
-
required-agent-roles: devrites-plan-drafter
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# /rite-plan: (re)plan an active feature
|
|
@@ -39,7 +38,8 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
39
38
|
|
|
40
39
|
## Workflow
|
|
41
40
|
0. Read `.claude/skills/devrites-lib/reference/standards/core.md` (operating rules) before reshaping anything.
|
|
42
|
-
Then
|
|
41
|
+
Then resolve the explicit or active slug, require its `state.md`, and read
|
|
42
|
+
the cursor directly.
|
|
43
43
|
1. Read `spec.md`, `decision-coverage.md`, `plan.md`, `tasks.md`, `state.md`, `drift.md`,
|
|
44
44
|
`eng-review.md`, and the current `git diff` (if a repo). Read `decisions.md` and
|
|
45
45
|
`assumptions.md`. Require `Decision coverage: CLEAR`; otherwise STOP → `/rite-clarify`.
|
|
@@ -65,10 +65,10 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
65
65
|
scope, not a new negotiation.
|
|
66
66
|
- **revise:** apply a requested planning-artifact revision and reconcile existing artifacts in
|
|
67
67
|
any direction; propose the file edit set first, confirm each file before writing, and **never
|
|
68
|
-
edit source code**. The
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
edit source code**. The sole confirmation exception is explicit `/rite-upgrade` with an
|
|
69
|
+
admitted `repairable` assessment naming current rule, evidence, gate, exact paths, and
|
|
70
|
+
delta; it authorizes only that neutral workspace edit, never source or history.
|
|
71
|
+
**Gate first: revise or new?** Same intent? More than 50% of existing scope
|
|
72
72
|
survives? original *not* completable without this? Two "no"s → new work: recommend
|
|
73
73
|
sealing/shipping the current workspace (MVP cut if named) then `/rite-spec` for the new
|
|
74
74
|
intent, and stop. Revise preserves context; a new workspace separates the work.
|
|
@@ -78,6 +78,10 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
78
78
|
paths, settled contract, and observed failure/drift. Await one atomic `plan-candidate`;
|
|
79
79
|
the drafter writes nothing and returns human-owned choices separately.
|
|
80
80
|
3. Reason about dependencies: [dependency-graph](reference/dependency-graph.md).
|
|
81
|
+
Reconcile `plan.md`'s canonical `Shared contract proof`: changed provider/consumer
|
|
82
|
+
boundaries keep one reused contract artifact ahead of both asserting tests, and unaffected
|
|
83
|
+
plans retain the specific no-impact statement. Missing, one-sided, duplicated-contract, vague, or
|
|
84
|
+
non-consuming proof routes to `/rite-vet` only after repair.
|
|
81
85
|
**Completion:** the slice graph is cycle-free and every dependency names an existing slice.
|
|
82
86
|
4. Re-slice using vertical-slice rules: [slicing](reference/slicing.md) and
|
|
83
87
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
@@ -95,33 +99,17 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
95
99
|
`brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, or `questions.md`, including a
|
|
96
100
|
behavior-neutral technical rationale appended to `decisions.md`, re-scan the affected coverage
|
|
97
101
|
rows, assumption audit, residual uncertainty, and closed gates. Partial/Missing, an unowned
|
|
98
|
-
material assumption, or an open blocking/escalating question routes `/rite-clarify`/HITL
|
|
99
|
-
|
|
100
|
-
`devrites-engine readiness-digest coverage <slug>` and replace the complete
|
|
101
|
-
`Coverage inputs SHA-256` line in `decision-coverage.md`.
|
|
102
|
+
material assumption, or an open blocking/escalating question routes `/rite-clarify`/HITL.
|
|
103
|
+
Re-read every affected row and require current evidence before restoring `CLEAR`.
|
|
102
104
|
**Completion:** the change is classified, and every behavior/acceptance change has explicit
|
|
103
105
|
confirmation recorded before the artifacts are updated.
|
|
104
106
|
7. **Done when:** every slice is sized (builds + proves in one cycle; no slice scoring >3
|
|
105
107
|
left unjustified), the dependency order is acyclic, every `drift.md` entry you stopped for
|
|
106
108
|
is marked resolved, revised artifacts agree with each other, no source files changed in
|
|
107
109
|
`revise` mode, behavior-change-vs-not is confirmed (`no`, or clarified), and every changed
|
|
108
|
-
plan ends at `/rite-vet` rather than returning directly to build.
|
|
110
|
+
plan ends at `/rite-vet` rather than returning directly to build. The `Shared contract proof`
|
|
111
|
+
table or justified no-impact statement must still match the revised boundary set.
|
|
109
112
|
If any check fails, loop back: don't hand off a half-reshaped plan.
|
|
110
113
|
|
|
111
114
|
> **Mid-flight discipline.** Do not change product behavior without confirmation or
|
|
112
115
|
> absorb drift silently. See [`anti-patterns`](reference/anti-patterns.md).
|
|
113
|
-
|
|
114
|
-
## Output
|
|
115
|
-
|
|
116
|
-
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
117
|
-
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
118
|
-
Default success shape:
|
|
119
|
-
```
|
|
120
|
-
Done: plan repaired for <slug> in <mode> mode.
|
|
121
|
-
Changed: plan.md, tasks.md, traceability.md, decisions.md, state.md, eng-review.md <invalidated|n/a>
|
|
122
|
-
Evidence: not applicable; slice map now <n> slices and next slice is <name>
|
|
123
|
-
Open: <none | behavior question answered | Alternative: /rite-prove if all built slices need re-verification>
|
|
124
|
-
Next: /rite-vet
|
|
125
|
-
Record: .devrites/work/<slug>/plan.md
|
|
126
|
-
↻ Hygiene: /clear if the repair was large; keep session for small reorder-only repairs
|
|
127
|
-
```
|
|
@@ -15,7 +15,10 @@ This reference owns decomposition; the shared schema owns field names and meanin
|
|
|
15
15
|
cheap to change).
|
|
16
16
|
4. Mark which slices touch UI (→ frontend craft + browser proof), map each to the design
|
|
17
17
|
brief states, and give each a binary visual acceptance target. Mark which slices cross
|
|
18
|
-
a module/service boundary (→ `devrites-api-interface`, `devrites-doubt`).
|
|
18
|
+
a module/service boundary (→ `devrites-api-interface`, `devrites-doubt`). For a changed
|
|
19
|
+
provider/consumer boundary, map the plan's `Shared contract proof` artifact before its
|
|
20
|
+
provider- and consumer-side asserting tests; both tests consume that same artifact and
|
|
21
|
+
their slice dependencies preserve the order. Do not duplicate the contract in each slice.
|
|
19
22
|
5. Write or update `traceability.md` so every `AC-###` maps to ≥1 `SLICE-###`, a
|
|
20
23
|
planned proof, evidence status, and likely touched files.
|
|
21
24
|
6. Sanity check: every acceptance criterion in `spec.md` maps to ≥1 slice; no slice has
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-polish
|
|
3
|
-
description: Polish the active feature
|
|
3
|
+
description: Polish the active feature's code and any touched UI before review. Use for finish or normalization requests; not for repository-wide refactors.
|
|
4
4
|
argument-hint: "[target | bolder | quieter | distill | harden | normalize-only]"
|
|
5
5
|
user-invocable: true
|
|
6
|
-
required-agent-roles: none
|
|
7
6
|
---
|
|
8
7
|
|
|
9
8
|
# /rite-polish: finish before review
|
|
@@ -16,6 +15,9 @@ live in `reference/code.md` and `reference/ui.md`; read only the phase in scope.
|
|
|
16
15
|
|
|
17
16
|
- **Functionality complete first.** Polish runs after `/rite-prove` (full
|
|
18
17
|
feature proven).
|
|
18
|
+
- Follow the shared
|
|
19
|
+
[`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md).
|
|
20
|
+
Polish owns every candidate-affecting correction and durable rollup before Review.
|
|
19
21
|
- Feature scope only.
|
|
20
22
|
- For UI, **normalize before polishing**. Do not add decoration on top of drift.
|
|
21
23
|
- **Root selects; wright edits.** The controlling chat assesses and reconciles, but every
|
|
@@ -30,9 +32,9 @@ live in `reference/code.md` and `reference/ui.md`; read only the phase in scope.
|
|
|
30
32
|
per-phase rule files (`coding-style.md`, `error-handling.md`, …) load on demand
|
|
31
33
|
from `reference/code.md` / `reference/ui.md` when their phase runs; for UI scope also read
|
|
32
34
|
`.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md`.
|
|
33
|
-
Then
|
|
34
|
-
1. **Read** `state.md`, `touched-files.md`,
|
|
35
|
-
workspace (or `$ARGUMENTS` if a target was given).
|
|
35
|
+
Then read the explicit or active workspace's `state.md` directly.
|
|
36
|
+
1. **Read** `state.md`, `touched-files.md`, the current candidate digest, and the
|
|
37
|
+
`git diff` for the active workspace (or `$ARGUMENTS` if a target was given).
|
|
36
38
|
2. **Detect UI scope:** UI is touched if the diff or `touched-files.md`
|
|
37
39
|
contains any of: `.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`,
|
|
38
40
|
`.scss`, `.sass`, `.less`, `.styl`, component dirs (`components/`,
|
|
@@ -55,13 +57,18 @@ live in `reference/code.md` and `reference/ui.md`; read only the phase in scope.
|
|
|
55
57
|
- `bolder | quieter | distill | harden`: passed to Phase 4 as the
|
|
56
58
|
emphasis dial.
|
|
57
59
|
- `normalize-only`: assess Phase 3 and stop (no Phase 4).
|
|
58
|
-
5. **
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
5. **Finish durable rollups before Review.** Apply the capability
|
|
61
|
+
[`ledger`](reference/ledger.md) when requirements changed, the optional UI
|
|
62
|
+
[`design memory`](reference/design-memory.md), and durable
|
|
63
|
+
[`ADR promotion`](reference/adr-promotion.md). Add every changed project path
|
|
64
|
+
to the candidate manifest; none of these writes waits for Ship.
|
|
65
|
+
6. **Re-prove and close.** After all accepted code/UI corrections and rollups,
|
|
66
|
+
run `devrites-engine check candidate <slug>`. Any digest change requires
|
|
67
|
+
affected real re-proof using the approved commands, fresh proof-runner
|
|
68
|
+
validation, refreshed evidence/browser bindings, and an updated candidate
|
|
69
|
+
manifest. Record a **`Re-verification:`** line in `polish-report.md`. Close
|
|
70
|
+
the candidate for Review only after these checks are green.
|
|
71
|
+
7. **Aggregate output:** both phases append to the single `polish-report.md`.
|
|
65
72
|
|
|
66
73
|
## Refinement modes
|
|
67
74
|
|
|
@@ -74,19 +81,4 @@ quality bar; they apply after the system is aligned. See `reference/ui.md`.
|
|
|
74
81
|
|
|
75
82
|
## Output → `polish-report.md`
|
|
76
83
|
|
|
77
|
-
Write the detailed report to `polish-report.md`.
|
|
78
|
-
then use the shared completion reply contract
|
|
79
|
-
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
80
|
-
Default success shape:
|
|
81
|
-
```
|
|
82
|
-
Done: polished <slug | target>; code/backend/UI phases <ran|n/a>.
|
|
83
|
-
Changed: polish-report.md, <files touched | workspace only>, browser-evidence.md <updated|n/a>
|
|
84
|
-
Evidence: re-verification <cmd -> pass | n/a>; browser <summary | n/a>
|
|
85
|
-
Open: <none | non-blocking design follow-ups>
|
|
86
|
-
Next: /rite-review
|
|
87
|
-
Record: .devrites/work/<slug>/polish-report.md
|
|
88
|
-
↻ Hygiene: /clear before /rite-review
|
|
89
|
-
```
|
|
90
|
-
If a design decision remains unresolved or polish invalidated proof, use `Awaiting human`
|
|
91
|
-
or `Stopped / blocked` and route to the decision or `/rite-prove`; do not recommend
|
|
92
|
-
`/rite-review`.
|
|
84
|
+
Write the detailed report to `polish-report.md`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# ADR promotion
|
|
2
|
+
|
|
3
|
+
Promote only durable architecture or interface decisions from `decisions.md`; slice-local
|
|
4
|
+
calls remain in the archived workspace. Do this during Polish before Review. If the
|
|
5
|
+
project has no `docs/adr/`, ask before creating that convention.
|
|
6
|
+
|
|
7
|
+
Write the next append-only `docs/adr/ADR-NNN.md` with Context, Decision, Status
|
|
8
|
+
`accepted`, and Consequences. Never rewrite an accepted ADR; supersede it with a new ADR
|
|
9
|
+
that links the old one. Add every promoted ADR to the authoritative candidate
|
|
10
|
+
manifest, run affected real re-proof, and refresh evidence/browser bindings before
|
|
11
|
+
Review. Ship performs no ADR promotion.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# Design memory: record proven design rules in `DESIGN.md`
|
|
2
2
|
|
|
3
|
-
This optional `/rite-
|
|
3
|
+
This optional `/rite-polish` step applies only to UI features. Feature design decisions
|
|
4
4
|
live in `design-brief.md` and archive with the workspace. With the user's approval,
|
|
5
5
|
copy proven, reusable design rules into the project-level `DESIGN.md` for later
|
|
6
6
|
features.
|
|
7
7
|
|
|
8
8
|
`devrites-ux-shape` §1 and
|
|
9
9
|
`devrites-frontend-craft/reference/design-references.md` read `DESIGN.md` when present.
|
|
10
|
-
This step writes that file from
|
|
10
|
+
This step writes that file from real feature evidence before Review.
|
|
11
11
|
|
|
12
12
|
## When it runs
|
|
13
13
|
- **UI features only.** No UI in the diff → skip silently.
|
|
14
|
-
- **
|
|
15
|
-
the
|
|
14
|
+
- **During Polish, after initial proof and before candidate closure.** Any update
|
|
15
|
+
enters the candidate manifest and is proved and reviewed with the feature.
|
|
16
16
|
- **Opt in and confirm.** A project-wide artifact is outside feature scope
|
|
17
17
|
(`standards/core.md` rule 7), so never write it silently. Present a ranked option set
|
|
18
18
|
(see [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md), "Option set");
|
|
@@ -23,25 +23,28 @@ This step writes that file from sealed feature evidence.
|
|
|
23
23
|
it only adds evidence-proven entries.
|
|
24
24
|
|
|
25
25
|
## Inputs (proven only)
|
|
26
|
+
|
|
27
|
+
Entries are **proven, not aspirational**.
|
|
26
28
|
- `design-brief.md`: direction, color strategy, **calibration** (density / motion), key
|
|
27
29
|
states, named anchors, and the per-slice **Build-time refinements**.
|
|
28
|
-
- The **
|
|
29
|
-
|
|
30
|
+
- The **closed candidate diff** and `touched-files.md`: the tokens, components,
|
|
31
|
+
and states the candidate proves. Record only what the diff proves, not
|
|
32
|
+
everything the brief intended.
|
|
30
33
|
- Existing `DESIGN.md` if present: the merge target.
|
|
31
34
|
|
|
32
35
|
## What to record
|
|
33
|
-
Record only reusable rules established by the
|
|
36
|
+
Record only reusable rules established by the proved candidate. Exclude choices
|
|
34
37
|
that apply only to this feature.
|
|
35
38
|
- **Tokens introduced + used:** new color roles / spacing steps / type steps / elevation
|
|
36
|
-
/ radius
|
|
39
|
+
/ radius proved in the candidate and reusable. Names and values, mirrored from the code.
|
|
37
40
|
- **Color strategy and calibration baseline:** the strategy (Restrained / Committed / …) and
|
|
38
41
|
established density / motion; record a deviation as a deviation, not a new
|
|
39
42
|
default.
|
|
40
43
|
- **Type & spacing scales** in actual use; **motion** classes + easing; **materiality**
|
|
41
44
|
(elevation set, hairline usage, glass / texture policy).
|
|
42
45
|
- **Component behaviors:** for each shared component established or extended by the
|
|
43
|
-
feature, record its
|
|
44
|
-
- **Named-anchor lineage:** the anchors used by
|
|
46
|
+
feature, record its proved states and interaction model.
|
|
47
|
+
- **Named-anchor lineage:** the anchors used by proved features.
|
|
45
48
|
- **Anti-slop exceptions:** any banned default the project *intentionally* uses (with the
|
|
46
49
|
why), so build / polish don't "correct" a deliberate choice.
|
|
47
50
|
|
|
@@ -54,20 +57,20 @@ that apply only to this feature.
|
|
|
54
57
|
- **Attribute and keep it short.** Tag each new entry with the feature slug. Future
|
|
55
58
|
specs read this file, so use concise entries.
|
|
56
59
|
|
|
57
|
-
## How it
|
|
58
|
-
`DESIGN.md` is a tracked project artifact
|
|
60
|
+
## How it enters the candidate
|
|
61
|
+
`DESIGN.md` is a tracked project artifact:
|
|
59
62
|
1. Write / update `<project-root>/DESIGN.md` from the template below.
|
|
60
|
-
2.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
2. Add `DESIGN.md` to the authoritative candidate manifest.
|
|
64
|
+
3. Run affected real re-proof, refresh evidence/browser digest bindings, and
|
|
65
|
+
include the result in Review. Ship performs no design-memory write.
|
|
63
66
|
|
|
64
67
|
## `DESIGN.md` template (project-level, stack-agnostic)
|
|
65
68
|
```markdown
|
|
66
69
|
# DESIGN.md — <project> design memory
|
|
67
70
|
|
|
68
|
-
> Rolled up from
|
|
71
|
+
> Rolled up from proven features by `/rite-polish` (design memory). Read by
|
|
69
72
|
> `devrites-ux-shape` and `devrites-frontend-craft` as the inherited system. Evidence-only:
|
|
70
|
-
> every entry
|
|
73
|
+
> every entry was proven. Edit through a feature's polish, not by hand.
|
|
71
74
|
|
|
72
75
|
## Register & direction
|
|
73
76
|
Default register per surface (brand / product) and the scene-derived direction the product
|
|
@@ -94,7 +97,7 @@ Classes in use, easing, `prefers-reduced-motion` handling.
|
|
|
94
97
|
Elevation token set, hairline usage, glass policy, texture / asset approach.
|
|
95
98
|
|
|
96
99
|
## Components (proven behaviors)
|
|
97
|
-
| Component | States
|
|
100
|
+
| Component | States proven | Interaction model | First proven by |
|
|
98
101
|
|---|---|---|---|
|
|
99
102
|
| <name> | default/hover/focus/loading/empty/error/… | inline / navigated / modal · feedback | <slug> |
|
|
100
103
|
|
|
@@ -108,8 +111,7 @@ Banned defaults this project *intentionally* uses, with the why (so build/polish
|
|
|
108
111
|
## NEVER (design memory)
|
|
109
112
|
- Never roll up unattended on first creation: a new persistent project artifact is a
|
|
110
113
|
confirmed step, never an AFK silent write.
|
|
111
|
-
- Never write an entry the feature
|
|
114
|
+
- Never write an entry the feature did not prove: no aspirational tokens.
|
|
112
115
|
- Never overwrite or silently reconcile a conflicting existing entry: surface it.
|
|
113
116
|
- Never persist a feature-only one-off as if it were the project default.
|
|
114
|
-
- Never
|
|
115
|
-
(it would fall outside the ship's commit scope).
|
|
117
|
+
- Never leave `DESIGN.md` outside the candidate manifest or defer it until Ship.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Capability ledger
|
|
2
|
+
|
|
3
|
+
`.devrites/specs/<capability>/spec.md` is the canonical ledger of proven capability
|
|
4
|
+
`### Requirement:` blocks across feature archival.
|
|
5
|
+
Host filesystem I/O; no engine command.
|
|
6
|
+
|
|
7
|
+
## Fold semantics
|
|
8
|
+
|
|
9
|
+
A feature spec may group deltas under capability-tagged H2s (`## ADDED
|
|
10
|
+
Requirements — capability: <c>`, `MODIFIED`, or `REMOVED`); see
|
|
11
|
+
[`spec-grammar.md`](../../devrites-lib/reference/standards/spec-grammar.md).
|
|
12
|
+
|
|
13
|
+
| Delta | Rule |
|
|
14
|
+
|---|---|
|
|
15
|
+
| ADDED | Append an absent block. Identical existing content is a no-op; the same header with different content conflicts. |
|
|
16
|
+
| MODIFIED | Replace the named block in full. Equal content is a no-op; an absent target conflicts. |
|
|
17
|
+
| REMOVED | Delete the named block. An absent target is a no-op; preview deletion if the capability becomes empty. |
|
|
18
|
+
|
|
19
|
+
Match exact `### Requirement:` headers. Rename = REMOVED + ADDED. Flat specs
|
|
20
|
+
seed the slug capability as all-ADDED.
|
|
21
|
+
|
|
22
|
+
For MODIFIED, compare the complete current requirement block to its full replacement.
|
|
23
|
+
It MUST preserve
|
|
24
|
+
every existing scenario and normative or source-grounded claim unless an exact accepted `DEC-###`
|
|
25
|
+
explicitly names its replacement or removal and rationale. For MODIFIED or REMOVED,
|
|
26
|
+
reconciliation MUST account for load-bearing adjacent notes,
|
|
27
|
+
examples, and comments whose meaning depends on changed text. Ambiguous ownership blocks
|
|
28
|
+
reconciliation: preserve and show the content for an explicit decision; MUST NOT silently
|
|
29
|
+
relocate or drop it. An unexplained omission is a blocking conflict,
|
|
30
|
+
not cleanup or simplification.
|
|
31
|
+
|
|
32
|
+
## Native preview/write workflow
|
|
33
|
+
|
|
34
|
+
Run during Polish before Review so ledger edits enter the proved candidate.
|
|
35
|
+
|
|
36
|
+
1. **Read.** Read the feature spec and only affected ledger specs. Reject a
|
|
37
|
+
capability escaping `.devrites/specs`, symlink/special file, duplicate header,
|
|
38
|
+
or malformed delta.
|
|
39
|
+
2. **Preview, do not write.** Show exact target paths; every delta with before/after
|
|
40
|
+
header; full requirement order; and changed files. Apply the table to current
|
|
41
|
+
bytes and the preservation rule to MODIFIED and REMOVED. Conflicts stop.
|
|
42
|
+
3. **Check feature grammar.** Apply `spec-grammar.md`'s Native grammar re-read
|
|
43
|
+
checklist to the saved feature spec. Any miss stops. Step 2's native comparison owns delta reconciliation; an
|
|
44
|
+
already-applied empty preview remains a no-op.
|
|
45
|
+
4. **Confirm.** Name exact paths and deltas. A later Seal or Ship approval does
|
|
46
|
+
not confirm this write. Skip only when no capability contract exists.
|
|
47
|
+
5. **Write safely.** Use `git check-ignore` and `git status` to prove targets will
|
|
48
|
+
be tracked; surface a needed ignore carve-out. Immediately re-read and refuse
|
|
49
|
+
bytes changed since preview. Touch only `.devrites/specs/`, preserve unrelated
|
|
50
|
+
bytes/order, and apply only previewed replacements or empty-file deletion.
|
|
51
|
+
6. **Verify.** Re-read targets; require unrelated blocks byte-identical and the
|
|
52
|
+
same preview empty. Apply the same Native grammar re-read checklist to each
|
|
53
|
+
resulting capability spec.
|
|
54
|
+
Add changed paths to the authoritative candidate manifest, run affected real
|
|
55
|
+
re-proof, and refresh evidence/browser digest bindings before Review.
|
|
56
|
+
|
|
57
|
+
Skip all six steps for a refactor/chore with no requirements.
|
|
58
|
+
|
|
59
|
+
## Reading in Spec and Adopt
|
|
60
|
+
|
|
61
|
+
List ledger specs with the host filesystem and read only touched capabilities.
|
|
62
|
+
Classify against current file content, never memory.
|