devrites 3.0.5 → 3.0.7
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 +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -12,13 +12,13 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
12
12
|
|
|
13
13
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
14
14
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
15
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
16
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
15
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
16
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
17
17
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
18
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
18
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
# $rite-status
|
|
21
|
+
# $rite-status: active feature status
|
|
22
22
|
|
|
23
23
|
Read-only. Report where the active feature stands. **Do not run any phase.**
|
|
24
24
|
|
|
@@ -49,22 +49,22 @@ Otherwise summarize from the loaded state, concisely:
|
|
|
49
49
|
1. **Feature** + one-line objective (from `brief.md`).
|
|
50
50
|
2. **Phase**, **active slice** + its slice mode (from `state.md`). **Run mode**
|
|
51
51
|
(`afk` / `hitl`) is derived from `.devrites/AFK` presence (the preamble
|
|
52
|
-
already does this), not from a `state.md` field
|
|
53
|
-
3. **Status
|
|
52
|
+
already does this), not from a `state.md` field: present = `afk`, absent = `hitl`.
|
|
53
|
+
3. **Status:** `running` / `awaiting_human` / `blocked` / `done`. If
|
|
54
54
|
`awaiting_human`, render the `Awaiting human` block from `state.md` (qid, gate,
|
|
55
55
|
question, proposed, raised_at, blocking_slices) and instruct
|
|
56
56
|
`$rite-resolve <qid> "<answer>"`.
|
|
57
|
-
4. **Next action
|
|
57
|
+
4. **Next action:** the single recommended next command from `snapshot.nextCommands`
|
|
58
58
|
for the current host.
|
|
59
|
-
5. **Evidence
|
|
59
|
+
5. **Evidence:** what's proven vs unproven (from `evidence.md` /
|
|
60
60
|
`browser-evidence.md`).
|
|
61
|
-
6. **Open questions
|
|
61
|
+
6. **Open questions:** count by gate (from `questions.md`:
|
|
62
62
|
`n open: x blocking · y validating · z advisory`) + the blocking qids by id and one-line question.
|
|
63
63
|
7. **Unresolved drift** (`drift.md`).
|
|
64
64
|
8. **Risks** (from `state.md` / `spec.md`); if `.devrites/principles.md` exists, note the count
|
|
65
65
|
of declared invariants and flag any exception in its register that is past its review/removal
|
|
66
66
|
trigger (a stale exception is a standing risk). Omit if there's no principles file.
|
|
67
|
-
9. **Ready for handoff
|
|
67
|
+
9. **Ready for handoff?:** see section below.
|
|
68
68
|
|
|
69
69
|
Flag anything blocking: unresolved drift, failing evidence, `Status: awaiting_human`,
|
|
70
70
|
or open questions that change product behavior. End with the recommended next command
|
|
@@ -72,8 +72,8 @@ and nothing else.
|
|
|
72
72
|
|
|
73
73
|
## Ready for handoff?
|
|
74
74
|
|
|
75
|
-
After the summary items (1
|
|
76
|
-
the canonical output order is: progress footer → summary items 1
|
|
75
|
+
After the summary items (1-8), render the handoff readiness section (item 9 above) last:
|
|
76
|
+
the canonical output order is: progress footer → summary items 1-8 → handoff readiness.
|
|
77
77
|
A fresh agent
|
|
78
78
|
or a future session should be able to pick the work up from the workspace
|
|
79
79
|
**alone**, with zero chat context. Check:
|
|
@@ -94,13 +94,13 @@ If any item above fails, suggest `$rite-handoff` to compact chat-only
|
|
|
94
94
|
context into the workspace before the session ends.
|
|
95
95
|
|
|
96
96
|
## Gotchas
|
|
97
|
-
- Read-only
|
|
97
|
+
- Read-only: never advance a phase or write to the workspace; that's the phase skills' job.
|
|
98
98
|
- Report from the `.devrites/` files, not chat memory (it's gone after `/clear`).
|
|
99
|
-
- Give the single next command, not a menu of options
|
|
99
|
+
- Give the single next command, not a menu of options: an ambiguous next-action fails the handoff check.
|
|
100
100
|
|
|
101
101
|
## Output format
|
|
102
102
|
|
|
103
|
-
**Progress first
|
|
103
|
+
**Progress first**: `$rite-status` *is* the status meter: render it by running
|
|
104
104
|
`devrites-engine progress`. Then use the shared completion reply contract
|
|
105
105
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md))
|
|
106
106
|
as a read-only status variant:
|
|
@@ -115,5 +115,5 @@ Record: .devrites/work/<slug>/state.md
|
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
If gaps exist, the recommended next command is to **persist them first** (see
|
|
118
|
-
`.agents/skills/devrites-lib/reference/standards/core.md
|
|
118
|
+
`.agents/skills/devrites-lib/reference/standards/core.md`. "Persistence before stopping"). Only then
|
|
119
119
|
move to the phase's next action.
|
|
@@ -11,43 +11,43 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
11
11
|
|
|
12
12
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
13
13
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
14
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
15
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
14
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
15
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
16
16
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
17
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
17
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
# $rite-temper
|
|
20
|
+
# $rite-temper: temper the spec before you plan
|
|
21
21
|
|
|
22
22
|
Take a readied spec and **temper** it: heat it (raise ambition on the *outcome*), then
|
|
23
|
-
quench it (pre-mortem + prune the *solution surface*)
|
|
23
|
+
quench it (pre-mortem + prune the *solution surface*): stronger and less brittle. The one
|
|
24
24
|
DevRites step that decides scope/ambition on a written spec and folds the result into the
|
|
25
25
|
canonical contract, so `$rite-define` plans the **hardened** spec. Optional for small work
|
|
26
|
-
(significance-gated
|
|
26
|
+
(significance-gated: auto-skips low-stakes specs), but always invoked inside
|
|
27
27
|
`$rite-autocomplete`. **Read the active workspace first**; if there's no readied
|
|
28
28
|
`spec.md`, tell the user to run `$rite-spec`.
|
|
29
29
|
|
|
30
30
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
31
31
|
Pull on demand: `patterns.md` +
|
|
32
|
-
`coding-style.md` (the over-engineering / YAGNI rubric
|
|
32
|
+
`coding-style.md` (the over-engineering / YAGNI rubric (reuse the pack's standard, don't
|
|
33
33
|
invent one), `documentation.md` (ADR-style `decisions.md` entries), `afk-hitl.md`
|
|
34
34
|
(irreversible-risk list + gate ceiling), `elicitation.md` (the move-set to deepen a section
|
|
35
|
-
that needs more than the default pre-mortem
|
|
35
|
+
that needs more than the default pre-mortem) selected by the section's risk).
|
|
36
36
|
|
|
37
37
|
## Operating rules
|
|
38
38
|
- **Ambition on outcomes, minimalism on the surface.** Raise the success bar and solve the
|
|
39
|
-
*real* problem; never add speculative capability/abstraction. The reconciliation hinge
|
|
39
|
+
*real* problem; never add speculative capability/abstraction. The reconciliation hinge:
|
|
40
40
|
bigger ambition, smaller surface.
|
|
41
|
-
- **Every scope change routes through the Spec Drift Guard
|
|
41
|
+
- **Every scope change routes through the Spec Drift Guard:** it only becomes real by being
|
|
42
42
|
written into `spec.md` as a recorded, confirmable decision. Expansion is **opt-in** (HITL
|
|
43
|
-
confirm; AFK pauses
|
|
43
|
+
confirm; AFK pauses: see autocomplete policy). Nothing auto-grows into the build.
|
|
44
44
|
- **Bound ambition by reversibility.** Auth / migration / public-API / data-model touches get
|
|
45
|
-
the *opposite* of ambition
|
|
45
|
+
the *opposite* of ambition: maximum conservatism; they always pause (irreversible-risk list).
|
|
46
46
|
- **Honest verdict.** Never round "needs work" up to "ready"; record every scope call's *why*.
|
|
47
47
|
- **You write; the reviewer judges.** You are the single canonical writer (`strategy.md` +
|
|
48
48
|
the spec edits); the reviewer agent is read-only.
|
|
49
49
|
- **Demand the spec-quality checklists for big features.** `$rite-temper` only fires on
|
|
50
|
-
significant specs
|
|
50
|
+
significant specs: exactly where vague requirement prose is most expensive. Before hardening,
|
|
51
51
|
confirm `checklists/<domain>.md` exist and pass (`rite-spec/reference/spec-checklists.md`); a
|
|
52
52
|
scope expansion you fold in **adds its own** rows (new Success/Acceptance criteria get
|
|
53
53
|
"unit-tested for English" too). A folded expansion with an unquantified criterion is a CRITICAL
|
|
@@ -57,57 +57,57 @@ that needs more than the default pre-mortem — selected by the section's risk).
|
|
|
57
57
|
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
58
58
|
`devrites-engine preamble` for deterministic workspace orientation.
|
|
59
59
|
Then read the workspace: `spec.md` (+ `decisions.md`,
|
|
60
|
-
`assumptions.md`, `design-brief.md` if UI), `state.md`. Require `Spec gate: passed
|
|
60
|
+
`assumptions.md`, `design-brief.md` if UI), `state.md`. Require `Spec gate: passed`: else
|
|
61
61
|
STOP → `$rite-spec`. If a plan already exists, scope changes route through `$rite-plan
|
|
62
62
|
repair` (record in `drift.md`), not a blind spec edit.
|
|
63
|
-
1. **Significance test
|
|
63
|
+
1. **Significance test:** [`reference/significance.md`](reference/significance.md). Low-stakes
|
|
64
64
|
/ shape-not-meaning work → write the one-line `skipped — low stakes (<trigger>)` verdict to `strategy.md`,
|
|
65
65
|
set `state.md` `Next step: $rite-define`, and recommend it. Otherwise fire the full pass below.
|
|
66
|
-
2. **FORWARD pass + mode selection
|
|
66
|
+
2. **FORWARD pass + mode selection:** [`reference/scope-modes.md`](reference/scope-modes.md).
|
|
67
67
|
First, the **one-sentence-intent test**: state the whole change's intent in a single sentence.
|
|
68
|
-
If you can't without an "and" that joins two unrelated outcomes, it is **two features
|
|
68
|
+
If you can't without an "and" that joins two unrelated outcomes, it is **two features**: the
|
|
69
69
|
sharpest scope-creep signal there is; recommend splitting the spec (or narrowing this one) before
|
|
70
70
|
tempering further. Then diverge on the *outcome* (the 10-star version of the real problem), and
|
|
71
71
|
commit **exactly one** scope mode (`expand` opt-in · `selective` · `hold-rigor` · `reduce-to-MVP`)
|
|
72
72
|
with its rationale and the **hinge** (what would change the call). `$ARGUMENTS` `--mode` is a
|
|
73
73
|
hint, not a command.
|
|
74
|
-
3. **INVERSION pass
|
|
74
|
+
3. **INVERSION pass:** pre-mortem in past tense ("it shipped and failed: what went wrong"),
|
|
75
75
|
each top risk carrying likelihood + mitigation + the slice it will bind to; then the **YAGNI
|
|
76
76
|
ledger** (each candidate scope item gets the "imagine the later refactor" test; defer unless
|
|
77
77
|
now-cost is trivial AND deferred-cost is large).
|
|
78
78
|
- **Deepen on demand.** When a specific scope call, requirement, or risk needs sharper thinking
|
|
79
|
-
than the default pre-mortem gives, pull the 3
|
|
79
|
+
than the default pre-mortem gives, pull the 3-5 techniques from
|
|
80
80
|
[`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) whose *when-to-reach-for-it* matches that
|
|
81
81
|
section's risk (irreversible decision → Red-Team/Blue-Team + Assumption Audit; sizing → Delphi;
|
|
82
82
|
vague requirement → Steelman-then-Attack), offer them, and run the chosen one **on that one
|
|
83
|
-
section**. Record what it changed, not that you ran it. Optional
|
|
83
|
+
section**. Record what it changed, not that you ran it. Optional: the default passes stand on
|
|
84
84
|
their own.
|
|
85
|
-
4. **Score the 9 dimensions
|
|
85
|
+
4. **Score the 9 dimensions:** [`reference/review-dimensions.md`](reference/review-dimensions.md).
|
|
86
86
|
Cite evidence *before* the band; **gate on the floor** (the weakest dimension, not an average).
|
|
87
87
|
**Completion:** all nine dimensions have cited evidence, a band, and one explicit floor verdict.
|
|
88
|
-
5. **Walk the findings WITH the human
|
|
88
|
+
5. **Walk the findings WITH the human: do not batch-dump.** The artifact is the *output* of an
|
|
89
89
|
interactive review, not a substitute for it: surface each material scope call / finding via
|
|
90
90
|
`AskUserQuestion`, one at a time, best-guess + **why**. Each material scope call ends as a
|
|
91
|
-
**recorded decision
|
|
91
|
+
**recorded decision**: a resolved `questions.md` qid (HITL) or a `decisions.md` ADR (AFK):
|
|
92
92
|
so the walk leaves an auditable trail, not just chat. (AFK gate policy is single-sourced in
|
|
93
93
|
[`reference/significance.md`](reference/significance.md): `hold-rigor` + `reduce-to-MVP`
|
|
94
94
|
auto-apply, **any `expand` is a blocking pause**, irreversible-risk always pauses.)
|
|
95
|
-
6. **Write `strategy.md` + fold back
|
|
95
|
+
6. **Write `strategy.md` + fold back:** [`reference/strategy-template.md`](reference/strategy-template.md).
|
|
96
96
|
**One drift rule (decide by whether a plan exists):** *no `plan.md` yet* (the normal pre-define
|
|
97
|
-
case) → update `spec.md` **through the Spec Drift Guard
|
|
97
|
+
case) → update `spec.md` **through the Spec Drift Guard**. *Success criteria* **and**
|
|
98
98
|
*Acceptance criteria* for each opt-in expansion / cut, **Non-goals** for every deferred item,
|
|
99
99
|
*Constraints* **and** *Risks* the pre-mortem demands, and the gaps/decisions table; *`plan.md`
|
|
100
|
-
already exists* → do **not** edit `spec.md` here
|
|
100
|
+
already exists* → do **not** edit `spec.md` here: write the deltas to `drift.md` and hand off
|
|
101
101
|
to `$rite-plan repair`. Either way, append `decisions.md` (one ADR per scope call: context ·
|
|
102
102
|
decision · why-not · what-would-change-it) and `assumptions.md` (every "we'll probably need X" →
|
|
103
|
-
assumption-to-verify). **Every scope delta must carry a recorded human decision
|
|
103
|
+
assumption-to-verify). **Every scope delta must carry a recorded human decision**: a resolved
|
|
104
104
|
`questions.md` qid (HITL) or a `decisions.md` ADR (AFK within the ceiling); a folded change with
|
|
105
105
|
no recorded decision is the batch-dump failure. **Re-check the spec Readiness gate** (it fails if
|
|
106
106
|
any folded scope delta lacks its decision). Update `state.md`: `Phase: temper`,
|
|
107
107
|
`Next step: $rite-define`; on a blocking pause (expand / irreversible / a dimension still below
|
|
108
108
|
bar) write the `Awaiting human` block + `Status: awaiting_human` before stopping.
|
|
109
|
-
7. **Adversarial verification loop
|
|
110
|
-
(fresh context, **only** the hardened spec + the rubric
|
|
109
|
+
7. **Adversarial verification loop:** dispatch [`devrites-strategy-reviewer`](.codex/agents/devrites-strategy-reviewer.toml)
|
|
110
|
+
(fresh context, **only** the hardened spec + the rubric: no authoring reasoning). Resolve
|
|
111
111
|
actionable findings by editing `spec.md`/`strategy.md`, re-dispatch; **cap ≤3 iterations**. A
|
|
112
112
|
dimension still below bar after 3 → blocking question (HITL) or AFK gate-ceiling entry;
|
|
113
113
|
irreversible-risk findings always pause. If sub-agents are unavailable, do the independent
|
|
@@ -117,11 +117,11 @@ that needs more than the default pre-mortem — selected by the section's risk).
|
|
|
117
117
|
|
|
118
118
|
> **Mid-flight discipline.** When tempted to dump findings into `strategy.md` and skip the
|
|
119
119
|
> walk-through, expand the surface (not the outcome), grow scope without the Drift Guard, or
|
|
120
|
-
> score before citing evidence
|
|
120
|
+
> score before citing evidence: see [`reference/anti-patterns.md`](reference/anti-patterns.md).
|
|
121
121
|
|
|
122
122
|
## Output
|
|
123
123
|
|
|
124
|
-
**Progress first
|
|
124
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
125
125
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
126
126
|
Default success shape:
|
|
127
127
|
```
|
|
@@ -135,4 +135,4 @@ Record: .devrites/work/<slug>/strategy.md
|
|
|
135
135
|
```
|
|
136
136
|
If readiness is blocked, use the shared `Stopped / blocked` form and route `Fix:`
|
|
137
137
|
to `$rite-spec`; do not recommend `$rite-define`.
|
|
138
|
-
**DO NOT plan, slice, or write code here
|
|
138
|
+
**DO NOT plan, slice, or write code here**. That's `$rite-define` and `$rite-build`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# $rite-temper
|
|
1
|
+
# $rite-temper: anti-patterns
|
|
2
2
|
|
|
3
3
|
Universal rationalizations + red flags live in
|
|
4
|
-
[`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md)
|
|
4
|
+
[`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md): read it when the
|
|
5
5
|
reluctance is broader than this phase. Below are the temper-specific ones.
|
|
6
6
|
|
|
7
7
|
## Phase rationalizations
|
|
@@ -9,21 +9,21 @@ reluctance is broader than this phase. Below are the temper-specific ones.
|
|
|
9
9
|
| Excuse | Rebuttal |
|
|
10
10
|
|---|---|
|
|
11
11
|
| "I'll write all the findings into `strategy.md` and let the user read it." | The artifact is the *output* of an interactive review, not a substitute for it. A finding's path to "done" goes **through `AskUserQuestion`**, one at a time, with a recommendation + why. Dumping findings into one write and moving on is the exact failure mode this skill exists to prevent. |
|
|
12
|
-
| "Bigger is better
|
|
13
|
-
| "The user obviously wants the ambitious version
|
|
14
|
-
| "It's over-scoped, I'll just trim those criteria." | Reducing scope is **still a spec change**. Cut acceptance only as a recorded Spec-Drift-Guard decision, and park the rest in Non-goals with a revisit note
|
|
15
|
-
| "This dimension is weak but the others are strong
|
|
16
|
-
| "I can see it's adequate
|
|
17
|
-
| "It's a strategy doc, the implementation concerns don't apply yet." | Cross-cutting concerns (security/data/observability/modifiability) are where strategy breaks down. Address each or mark it explicitly N/A
|
|
12
|
+
| "Bigger is better: let's add the extra capability while we're thinking big." | Ambition belongs on the **outcome**, not the **solution surface**. A speculative capability/abstraction is gold plating. Expand the problem + acceptance; never the machinery. |
|
|
13
|
+
| "The user obviously wants the ambitious version. I'll add it to the spec." | Expansion is **opt-in**, recorded, and confirmed (HITL) or paused (AFK). Adding acceptance the human didn't approve is silent scope growth: route it through the Spec Drift Guard or don't add it. |
|
|
14
|
+
| "It's over-scoped, I'll just trim those criteria." | Reducing scope is **still a spec change**. Cut acceptance only as a recorded Spec-Drift-Guard decision, and park the rest in Non-goals with a revisit note: never a silent trim. |
|
|
15
|
+
| "This dimension is weak but the others are strong: net it's fine." | The gate is the **floor**, not the average. A spec `broken` on risk does not pass because it's `strong` on clarity. |
|
|
16
|
+
| "I can see it's adequate. I'll note the band, evidence is obvious." | Cite the evidence (the spec line or its absence) **before** the band. Score-first-justify-later is how a reviewer rationalizes a spec it already likes. |
|
|
17
|
+
| "It's a strategy doc, the implementation concerns don't apply yet." | Cross-cutting concerns (security/data/observability/modifiability) are where strategy breaks down. Address each or mark it explicitly N/A: silent omission is a gap. |
|
|
18
18
|
| "This greenfield design is elegant." | Elegant for a codebase that doesn't exist. Ground ambition in the real seams + blast radius; flag a new dependency / second design system for an explicit decision. |
|
|
19
19
|
|
|
20
20
|
## Red flags
|
|
21
|
-
- `strategy.md` written but `spec.md` acceptance/Non-goals **not** updated
|
|
21
|
+
- `strategy.md` written but `spec.md` acceptance/Non-goals **not** updated: the build follows
|
|
22
22
|
the spec, so the review changed nothing.
|
|
23
23
|
- An `expand` decision auto-applied in AFK (it must pause), or any irreversible-risk touch that
|
|
24
24
|
didn't pause.
|
|
25
|
-
- A pre-mortem with risks listed but no mitigation + owning slice
|
|
25
|
+
- A pre-mortem with risks listed but no mitigation + owning slice: a risk without an owner is a
|
|
26
26
|
wish.
|
|
27
27
|
- The reviewer loop running past 3 iterations, or the reviewer being handed the author's
|
|
28
28
|
reasoning (defeats the fresh-context point).
|
|
29
|
-
- The skill writing a `plan.md`, slicing, or touching code
|
|
29
|
+
- The skill writing a `plan.md`, slicing, or touching code. That's `$rite-define` / `$rite-build`.
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
# Review dimensions + the floor-gate rubric
|
|
2
2
|
|
|
3
|
-
The spec is scored on nine dimensions. Each catches a *different* failure mode
|
|
3
|
+
The spec is scored on nine dimensions. Each catches a *different* failure mode: strength in
|
|
4
4
|
one never compensates for collapse in another, so the gate is the **floor**, not an average.
|
|
5
5
|
|
|
6
6
|
## The nine dimensions
|
|
7
|
-
1. **Problem altitude & ambition
|
|
7
|
+
1. **Problem altitude & ambition:** is this solving the *right* problem at the right altitude,
|
|
8
8
|
or timidly improving the obvious path / over-reaching past the real need? Here, *under-
|
|
9
9
|
reaching* on the outcome is a failure, not just over-building.
|
|
10
|
-
2. **Scope honesty & boundary
|
|
10
|
+
2. **Scope honesty & boundary:** are Non-goals explicit? Is there a Minimum Usable Subset and a
|
|
11
11
|
clear IN/OUT line? Flags grab-bags and a missing "Won't-have-this-time".
|
|
12
|
-
3. **Premise & alternatives
|
|
12
|
+
3. **Premise & alternatives:** are the load-bearing premises stated and challenged, and is at
|
|
13
13
|
least one genuinely different approach (different data model / flow / boundary) considered
|
|
14
|
-
with its trade-off? ("Alternatives considered" is one of the most
|
|
15
|
-
4. **Pre-mortem risk coverage
|
|
14
|
+
with its trade-off? ("Alternatives considered" is one of the most useful parts of a spec.)
|
|
15
|
+
4. **Pre-mortem risk coverage:** run in prospective hindsight; each top risk carries likelihood
|
|
16
16
|
+ mitigation + the slice that owns it. **Unmitigated top risks are gating.**
|
|
17
|
-
5. **Over-engineering / YAGNI
|
|
17
|
+
5. **Over-engineering / YAGNI:** speculative capability, unused extension points, premature
|
|
18
18
|
abstraction, second-system bloat. Apply the pack's standard (`patterns.md`) + the "imagine
|
|
19
19
|
the later refactor" test. Defer unless now-cost is trivial AND deferred-cost is large.
|
|
20
|
-
6. **Acceptance testability & done-ness
|
|
20
|
+
6. **Acceptance testability & done-ness:** every acceptance criterion measurable, technology-
|
|
21
21
|
agnostic, and comparable **down to a baseline** ("better than the current workaround"), not
|
|
22
22
|
up to an unbounded ideal. Vague adjectives ("fast/robust/intuitive") and "handles X
|
|
23
23
|
gracefully" are flagged.
|
|
24
|
-
7. **Irreversibility & blast radius
|
|
24
|
+
7. **Irreversibility & blast radius:** are auth / migration / public-API / data-model touches
|
|
25
25
|
treated with conservatism + rollback, and is the blast radius understood (from a
|
|
26
26
|
code-intelligence index if available)?
|
|
27
|
-
8. **Cross-cutting coverage
|
|
28
|
-
modifiability each explicitly addressed **or explicitly N/A
|
|
29
|
-
9. **Convention fit & placement realism
|
|
27
|
+
8. **Cross-cutting coverage:** security/trust-boundary, data & migration, observability, and
|
|
28
|
+
modifiability each explicitly addressed **or explicitly N/A**: no silent omission.
|
|
29
|
+
9. **Convention fit & placement realism:** does the ambition fit the codebase's existing seams
|
|
30
30
|
and patterns, or assume greenfield freedom a constrained space doesn't have? Prefer existing
|
|
31
31
|
conventions; flag a new dependency / second design system for explicit decision.
|
|
32
32
|
|
|
33
|
-
UI specs
|
|
34
|
-
dimension (design-system fit, anti-AI-slop)
|
|
33
|
+
UI specs also inherit `rite-polish/reference/anti-ai-slop.md` at the cross-cutting
|
|
34
|
+
dimension (design-system fit, anti-AI-slop), but `$rite-temper` reviews the *spec/design-brief*,
|
|
35
35
|
not pixels; the built UI is judged later by `devrites-frontend-reviewer`.
|
|
36
36
|
|
|
37
|
-
## The rubric
|
|
37
|
+
## The rubric: coarse bands, evidence first
|
|
38
38
|
Score each dimension on a **labeled band**, never a 1-10 float or a composite number (labels do
|
|
39
|
-
the work
|
|
39
|
+
the work: matches the pack's severity-vocabulary stance):
|
|
40
40
|
|
|
41
41
|
| Band | Meaning |
|
|
42
42
|
|---|---|
|
|
@@ -45,21 +45,21 @@ the work — matches the pack's severity-vocabulary stance):
|
|
|
45
45
|
| **thin** | Under-addressed; a real gap to close before planning (Important). |
|
|
46
46
|
| **broken** | Missing or wrong in a way that will cost a redo (Critical). |
|
|
47
47
|
|
|
48
|
-
**Cite evidence before the band
|
|
48
|
+
**Cite evidence before the band**: name the spec line / absence that justifies it; never score
|
|
49
49
|
first and rationalize after. Borderline dimensions may be sampled twice; take the **lower** band
|
|
50
50
|
(don't average up).
|
|
51
51
|
|
|
52
52
|
## The floor-gate
|
|
53
53
|
- **Pass** only when every dimension is `adequate` or `strong` **and** no unmitigated top
|
|
54
|
-
pre-mortem risk remains. The verdict is the **weakest** dimension
|
|
54
|
+
pre-mortem risk remains. The verdict is the **weakest** dimension: a spec strong on clarity
|
|
55
55
|
but `broken` on risk does **not** pass.
|
|
56
56
|
- Individual findings carry the pack's standard severity labels (**Critical / Important /
|
|
57
57
|
Suggestion / Nit / FYI**) so they compose with `$rite-review` and `$rite-seal`. `broken` →
|
|
58
|
-
Critical, `thin` → Important; **FYI is band-independent
|
|
58
|
+
Critical, `thin` → Important; **FYI is band-independent**: an observation on a `strong` /
|
|
59
59
|
`adequate` dimension, not a failing band.
|
|
60
60
|
- **Don't double-count overlap.** Some dimensions key on the same evidence (e.g. #7
|
|
61
61
|
irreversibility & #9 convention-fit both touch codebase realism; #1 ambition & #2 scope both
|
|
62
|
-
touch over/under-reach). Don't fail two dimensions for the *same* root cause
|
|
62
|
+
touch over/under-reach). Don't fail two dimensions for the *same* root cause: cite the
|
|
63
63
|
evidence once, band it once, so one problem isn't laundered into two floor failures.
|
|
64
64
|
- Below-bar dimension after the ≤3-iteration reviewer loop → blocking question (HITL) or AFK
|
|
65
65
|
gate-ceiling entry. Irreversible-risk findings always pause regardless of band.
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
# Scope modes + the two passes
|
|
2
2
|
|
|
3
3
|
The heart of `$rite-temper`: two ordered passes (heat, then quench), converging on exactly
|
|
4
|
-
one scope mode. Ambition is a **generative** move followed by a **required convergence
|
|
4
|
+
one scope mode. Ambition is a **generative** move followed by a **required convergence**: the
|
|
5
5
|
divergence is never the spec; the converged sweet spot is.
|
|
6
6
|
|
|
7
|
-
## Pass 1
|
|
7
|
+
## Pass 1: FORWARD (heat: raise ambition on the outcome)
|
|
8
8
|
Diverge on the *real problem*, not the obvious path. Ask:
|
|
9
9
|
- What would an order-of-magnitude-better **outcome** look like (the 10-star version)? Design
|
|
10
|
-
the extreme, then come back to the feasible sweet spot
|
|
10
|
+
the extreme, then come back to the feasible sweet spot: don't ship the extreme.
|
|
11
11
|
- Is a **premise** load-bearing and wrong? Name the assumptions the spec rests on; challenge
|
|
12
12
|
the one that, if false, changes everything.
|
|
13
|
-
- Where is **under-reaching** the real risk
|
|
13
|
+
- Where is **under-reaching** the real risk: a timid improvement to a path we should reframe?
|
|
14
14
|
|
|
15
15
|
Ambition aims at the **outcome** (problem definition, success bar, user value) and at
|
|
16
16
|
complexity-**neutral** future-proofing. It never aims at the **solution surface** (that's Pass 2's
|
|
17
|
-
job to prune). Ground every ambitious idea in the codebase's real seams and blast radius
|
|
18
|
-
index if available
|
|
17
|
+
job to prune). Ground every ambitious idea in the codebase's real seams and blast radius. Use a
|
|
18
|
+
code-intelligence index if available (see `../../devrites-lib/reference/standards/tooling.md`). Don't invent greenfield scope a
|
|
19
19
|
constrained codebase can't absorb.
|
|
20
20
|
|
|
21
|
-
## Pass 2
|
|
21
|
+
## Pass 2: INVERSION (quench: pre-mortem + prune)
|
|
22
22
|
Invert. Two subtractive moves:
|
|
23
23
|
- **Pre-mortem (prospective hindsight).** State it in past tense: *"It's six months out. This
|
|
24
24
|
shipped and failed. What went wrong?"* List the top failure modes; for each: likelihood,
|
|
25
25
|
mitigation, and the slice that will own the mitigation. Unmitigated top risks are **gating**.
|
|
26
26
|
- **YAGNI ledger.** Each candidate scope item gets the "imagine the later refactor" test: if
|
|
27
27
|
adding it *later* isn't materially more expensive, **defer it** (with a revisit note).
|
|
28
|
-
Bias hard toward defer
|
|
29
|
-
pack's existing
|
|
30
|
-
"speculative generality"
|
|
28
|
+
Bias hard toward defer: most presumed-needed features are never used. Reuse the
|
|
29
|
+
pack's existing `patterns.md` standards, including "no abstraction before two real callers"
|
|
30
|
+
and "speculative generality." Don't invent a new YAGNI rule.
|
|
31
31
|
|
|
32
|
-
## The four modes
|
|
32
|
+
## The four modes: commit exactly one
|
|
33
33
|
Mode selection is the first convergence move. Record the chosen mode + rationale + the
|
|
34
34
|
**hinge** (what would change the call) in `strategy.md` and `decisions.md`.
|
|
35
35
|
|
|
36
36
|
| Mode | When | What it does | YAGNI / Drift Guard |
|
|
37
37
|
|---|---|---|---|
|
|
38
|
-
| **EXPAND** *(opt-in, default OFF)* | Under-reaching on the outcome is the real risk | Raise the success bar / reframe to the deeper problem; thinner-but-more-complete path to a bigger target | Expands the *problem + acceptance*, not machinery. Each added criterion is a Drift-Guard-recorded, human-confirmed (HITL) decision
|
|
38
|
+
| **EXPAND** *(opt-in, default OFF)* | Under-reaching on the outcome is the real risk | Raise the success bar / reframe to the deeper problem; thinner-but-more-complete path to a bigger target | Expands the *problem + acceptance*, not machinery. Each added criterion is a Drift-Guard-recorded, human-confirmed (HITL) decision: never auto-grown |
|
|
39
39
|
| **SELECTIVE** | One or two high-leverage dimensions deserve more; the rest is right | Expand only the high-upside dimension; hold the rest at spec scope | Each selected expansion routes through the Guard; everything not selected is parked in Non-goals so it's neither dropped nor re-injected mid-build |
|
|
40
|
-
| **HOLD-RIGOR** | The spec is right-sized (default for irreversible-risk-heavy or already-tight specs) | No scope change
|
|
41
|
-
| **REDUCE-TO-MVP** | Over-scoped: second-system bloat, ~all must-haves, gold-plating | Hammer scope to the Minimum Usable Subset; move the rest to Non-goals with one-line reasons + revisit notes | Strongest YAGNI alignment. Cutting acceptance is **still a spec change
|
|
40
|
+
| **HOLD-RIGOR** | The spec is right-sized (default for irreversible-risk-heavy or already-tight specs) | No scope change: pure hardening: pre-mortem, risk mitigations, acceptance sharpening, cross-cutting coverage | Adds zero surface; trivially Drift-Guard-clean (no acceptance change) |
|
|
41
|
+
| **REDUCE-TO-MVP** | Over-scoped: second-system bloat, ~all must-haves, gold-plating | Hammer scope to the Minimum Usable Subset; move the rest to Non-goals with one-line reasons + revisit notes | Strongest YAGNI alignment. Cutting acceptance is **still a spec change**: record it via the Guard, never a silent trim |
|
|
42
42
|
|
|
43
43
|
## Bound ambition by reversibility
|
|
44
44
|
The bigger the bet, the more it must be reversible. Irreversible-risk areas (auth, migrations,
|
|
45
|
-
public API, data model) get the **opposite** of ambition
|
|
45
|
+
public API, data model) get the **opposite** of ambition: maximum conservatism, explicit
|
|
46
46
|
rollback, and they **always pause** regardless of mode (the `afk-hitl.md` irreversible-risk
|
|
47
47
|
list is honored verbatim). Size big bets so that if the whole thing vanished tomorrow, you'd be
|
|
48
48
|
fine.
|
|
@@ -50,4 +50,4 @@ fine.
|
|
|
50
50
|
## Effort foresight (frame it now, not "later")
|
|
51
51
|
While choosing scope, surface the late-stage questions early: *"What will surprise us at
|
|
52
52
|
integration? What will we wish we'd planned for at polish/test time?"* Turn each into a
|
|
53
|
-
constraint, a risk, or a deferred Non-goal **now
|
|
53
|
+
constraint, a risk, or a deferred Non-goal **now**, not a "figure it out later".
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Significance test
|
|
1
|
+
# Significance test: fire the full review, or skip it
|
|
2
2
|
|
|
3
3
|
`$rite-temper` is **significance-gated**: full strategic rigor only when the work is big
|
|
4
4
|
enough to earn it, a one-line skip otherwise. This is the shared definition used by both the
|
|
@@ -9,24 +9,24 @@ A strategic review of a five-line, reversible change is theatre; a strategic rev
|
|
|
9
9
|
auth rewrite is the cheapest insurance you'll buy. Gate on stakes and shape, not uniformly.
|
|
10
10
|
|
|
11
11
|
## Fire the FULL review when ANY trips
|
|
12
|
-
- **Irreversible-risk contact
|
|
12
|
+
- **Irreversible-risk contact:** the slice/spec touches anything on the `afk-hitl.md`
|
|
13
13
|
irreversible-risk list: destructive data migration, auth/authz boundary, public-API break,
|
|
14
14
|
external-service contract, filesystem destruction outside the workspace.
|
|
15
|
-
- **Data model
|
|
16
|
-
- **Cross-module blast radius
|
|
17
|
-
`../../devrites-lib/reference/standards/tooling.md`
|
|
15
|
+
- **Data model:** new/changed entities, relationships, or persistence shape.
|
|
16
|
+
- **Cross-module blast radius:** the impact (from a code-intelligence index if available (see
|
|
17
|
+
`../../devrites-lib/reference/standards/tooling.md`) or an honest estimate) crosses
|
|
18
18
|
module/service boundaries or has many dependents.
|
|
19
|
-
- **Greenfield / ambiguous scope
|
|
19
|
+
- **Greenfield / ambiguous scope:** a new surface with no existing seam to follow, or a spec
|
|
20
20
|
whose "right size" is genuinely open (multiple defensible scopes).
|
|
21
|
-
- **Multi-slice / multi-day
|
|
21
|
+
- **Multi-slice / multi-day:** the work decomposes into several slices (large enough that a
|
|
22
22
|
wrong scope call is expensive to unwind).
|
|
23
|
-
- **The user asked
|
|
23
|
+
- **The user asked:** "think bigger", "is this ambitious enough", "scope check", "pre-mortem",
|
|
24
24
|
an explicit `$rite-temper` invocation, or a chosen `--mode`. An explicit ask always fires.
|
|
25
25
|
|
|
26
26
|
## Skip (low stakes) when ALL hold
|
|
27
27
|
- Single-module, reversible, behavior-shaped-not-structural change.
|
|
28
28
|
- No irreversible-risk contact; blast radius contained to the touched files.
|
|
29
|
-
- Scope is unambiguous
|
|
29
|
+
- Scope is unambiguous: there's one obvious right size and the spec already has it.
|
|
30
30
|
|
|
31
31
|
On skip, **don't run the passes**. Write only the one-line verdict to `strategy.md`:
|
|
32
32
|
|
|
@@ -36,7 +36,7 @@ Significance: skipped — low stakes (<the trigger that was NOT met, e.g. "singl
|
|
|
36
36
|
Next: $rite-define
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Then recommend `$rite-define`. A skip is a *recorded* decision, not a silent omission
|
|
39
|
+
Then recommend `$rite-define`. A skip is a *recorded* decision, not a silent omission: the
|
|
40
40
|
seal can see the call was made deliberately.
|
|
41
41
|
|
|
42
42
|
## In `$rite-autocomplete`
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# `strategy.md` template + fold-back rules
|
|
2
2
|
|
|
3
3
|
`$rite-temper` produces two kinds of output. The `strategy.md` artifact is the durable
|
|
4
|
-
**record** of the review; the **fold-back edits** are what the build
|
|
5
|
-
record without the fold-back is dead prose
|
|
4
|
+
**record** of the review; the **fold-back edits** are what the build follows. The
|
|
5
|
+
record without the fold-back is dead prose: the build reads `spec.md`, not `strategy.md`.
|
|
6
6
|
|
|
7
|
-
## `strategy.md
|
|
7
|
+
## `strategy.md`: the record
|
|
8
8
|
Write to `.devrites/work/<slug>/strategy.md`. If one exists for the slug, **update** it, don't
|
|
9
9
|
clobber.
|
|
10
10
|
|
|
@@ -58,33 +58,33 @@ Floor verdict: <weakest band> on <dimension> → pass | blocked
|
|
|
58
58
|
- Final: floor = <band>; unresolved → <none | blocking qid>
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
## Fold-back
|
|
61
|
+
## Fold-back: the part the build follows
|
|
62
62
|
Apply through the **Spec Drift Guard** (these are spec changes, not free edits). If a plan
|
|
63
63
|
already exists, record in `drift.md` and route via `$rite-plan repair` instead of editing
|
|
64
64
|
`spec.md` blind.
|
|
65
65
|
|
|
66
|
-
- **`spec.md
|
|
67
|
-
don't collapse pairs
|
|
68
|
-
- *Success criteria* **and** *Acceptance criteria* (separate sections)
|
|
66
|
+
- **`spec.md`:** these are the spec template's actual section headings. Edit each named one;
|
|
67
|
+
don't collapse pairs.
|
|
68
|
+
- Add to *Success criteria* **and** *Acceptance criteria* (separate sections) for
|
|
69
69
|
every opt-in **expansion**; remove (via the Guard) from both for every **reduction**. Each
|
|
70
70
|
must stay measurable + technology-agnostic.
|
|
71
|
-
- *Non-goals
|
|
71
|
+
- *Non-goals*: append every deferred item (from the YAGNI ledger + the Deferred register), so
|
|
72
72
|
it is neither silently dropped nor silently re-injected mid-build.
|
|
73
|
-
- *Constraints* **and** *Risks* (separate sections)
|
|
73
|
+
- *Constraints* **and** *Risks* (separate sections): tighten *Constraints* where the pre-mortem
|
|
74
74
|
demands; add the top failure modes + mitigations to *Risks*.
|
|
75
|
-
- *Gaps, issues & decisions* table
|
|
75
|
+
- *Gaps, issues & decisions* table: one row per scope call (options offered → decision → owner).
|
|
76
76
|
- **Re-run the Readiness gate** at the bottom of the spec after edits; it must still pass, and
|
|
77
77
|
**every folded scope delta must trace to a recorded decision** (a `questions.md` qid or a
|
|
78
|
-
`decisions.md` ADR)
|
|
79
|
-
- **`decisions.md
|
|
78
|
+
`decisions.md` ADR): an untraceable change is the batch-dump failure.
|
|
79
|
+
- **`decisions.md`:** one ADR-style entry per scope call and accepted trade-off:
|
|
80
80
|
`context · decision · why-not-the-alternative · what-would-change-it`.
|
|
81
|
-
- **`assumptions.md
|
|
81
|
+
- **`assumptions.md`:** every "we'll probably need X" demoted to an explicit
|
|
82
82
|
**assumption-to-verify**, never smuggled into scope as a fact.
|
|
83
83
|
|
|
84
84
|
## Write discipline
|
|
85
85
|
- **Single canonical writer.** The skill writes `strategy.md` and edits the canonical files; the
|
|
86
86
|
`devrites-strategy-reviewer` agent is **read-only** and only returns findings + bands.
|
|
87
87
|
- **No silent scope.** An expansion that the human didn't opt into, or a reduction that drops an
|
|
88
|
-
acceptance criterion without a recorded decision, is a defect
|
|
88
|
+
acceptance criterion without a recorded decision, is a defect, not a convenience.
|
|
89
89
|
- Add `strategy.md` to the workspace between `spec.md` and `plan.md`; `$rite-define`,
|
|
90
90
|
`$rite-review`, and `$rite-seal` read it.
|