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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Close-out
|
|
1
|
+
# Close-out: archive the workspace, free the active slot
|
|
2
2
|
|
|
3
3
|
Closing a feature means it stops being the *active* work, not that its record is
|
|
4
4
|
deleted. DevRites keeps the full audit trail; it just moves out of the live path.
|
|
@@ -28,7 +28,7 @@ deleted. DevRites keeps the full audit trail; it just moves out of the live path
|
|
|
28
28
|
|
|
29
29
|
To resume archived work, move it back:
|
|
30
30
|
`mv .devrites/archive/<slug> .devrites/work/<slug>` and write `<slug>` into
|
|
31
|
-
`.devrites/ACTIVE`. Nothing is lost
|
|
31
|
+
`.devrites/ACTIVE`. Nothing is lost: close-out is reversible by design.
|
|
32
32
|
|
|
33
33
|
## Cross-feature retro
|
|
34
34
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Design memory
|
|
1
|
+
# Design memory: roll proven design language into project `DESIGN.md`
|
|
2
2
|
|
|
3
3
|
Optional, UI-only step at `/rite-ship`. A feature's design decisions live in its
|
|
4
4
|
feature-scoped `design-brief.md` and are thrown away when the workspace archives. **Design
|
|
@@ -6,45 +6,45 @@ memory** is the deliberate exception: when a UI feature ships, roll the design l
|
|
|
6
6
|
*proved* up into a project-level `DESIGN.md`, so the next feature's `devrites-ux-shape`
|
|
7
7
|
inherits the system instead of re-discovering it.
|
|
8
8
|
|
|
9
|
-
The consumers already exist
|
|
9
|
+
The consumers already exist: `devrites-ux-shape` §1 and
|
|
10
10
|
`devrites-frontend-craft/reference/design-references.md` both read `DESIGN.md` when present.
|
|
11
11
|
This step is the missing **producer**. It closes the loop: feature N seals its design
|
|
12
12
|
language → feature N+1 builds to it.
|
|
13
13
|
|
|
14
14
|
## When it runs
|
|
15
15
|
- **UI features only.** No UI in the diff → skip silently.
|
|
16
|
-
- **At ship, GO sealed, after the git plan, before type-GO** (step 2a)
|
|
16
|
+
- **At ship, GO sealed, after the git plan, before type-GO** (step 2a), so the user sees
|
|
17
17
|
the full staged change set (code + `DESIGN.md`) under the single type-GO that ships it.
|
|
18
18
|
- **Opt-in and confirmed.** Persisting to a project-wide artifact is outside feature scope
|
|
19
|
-
(`standards/core.md` rule 7)
|
|
20
|
-
(`standards/afk-hitl.md
|
|
19
|
+
(`standards/core.md` rule 7), so it is *never silent*. Present a ranked option set
|
|
20
|
+
(see [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md), "Option set");
|
|
21
|
+
**default is skip**. The user opts to persist.
|
|
21
22
|
- **AFK**: first-time `DESIGN.md` *creation* is treated as a `validating` gate (a new
|
|
22
|
-
persistent project artifact)
|
|
23
|
+
persistent project artifact): propose + queue, don't auto-create. An *append* to an
|
|
23
24
|
existing `DESIGN.md` is `advisory` and may auto-proceed when `allow_gates` permits, since
|
|
24
25
|
it only adds evidence-proven entries.
|
|
25
26
|
|
|
26
27
|
## Inputs (proven only)
|
|
27
|
-
- `design-brief.md
|
|
28
|
+
- `design-brief.md`: direction, color strategy, **calibration** (density / motion), key
|
|
28
29
|
states, named anchors, and the per-slice **Build-time refinements**.
|
|
29
|
-
- The **final diff** + `touched-files.md
|
|
30
|
-
|
|
31
|
-
- Existing `DESIGN.md` if present — the merge target.
|
|
30
|
+
- The **final diff** + `touched-files.md`: what tokens / components / states *shipped* (the evidence). Roll up only what the diff proves, not what the brief intended.
|
|
31
|
+
- Existing `DESIGN.md` if present: the merge target.
|
|
32
32
|
|
|
33
|
-
## What to roll up
|
|
33
|
+
## What to roll up: the project's *converged* system, evidence-gated
|
|
34
34
|
Only entries the shipped, proven feature establishes. Each is durable, cross-feature design
|
|
35
|
-
language
|
|
36
|
-
- **Tokens introduced + used
|
|
35
|
+
language, not this feature's one-off choices.
|
|
36
|
+
- **Tokens introduced + used:** new color roles / spacing steps / type steps / elevation
|
|
37
37
|
/ radius that shipped and are reusable. Names and values, mirrored from the code.
|
|
38
|
-
- **Color strategy + calibration baseline
|
|
38
|
+
- **Color strategy + calibration baseline:** the strategy (Restrained / Committed / …) and
|
|
39
39
|
density / motion the project keeps landing on; note a deviation as a deviation, not a new
|
|
40
40
|
default.
|
|
41
41
|
- **Type & spacing scales** in actual use; **motion** classes + easing; **materiality**
|
|
42
42
|
(elevation set, hairline usage, glass / texture policy).
|
|
43
|
-
- **Component behaviors
|
|
43
|
+
- **Component behaviors:** for each shared component this feature established or extended:
|
|
44
44
|
the states it ships and its interaction model. Grows one feature at a time.
|
|
45
|
-
- **Named-anchor lineage
|
|
45
|
+
- **Named-anchor lineage:** the anchors features steered toward, so later work stays
|
|
46
46
|
coherent with what's already built.
|
|
47
|
-
- **Anti-slop exceptions
|
|
47
|
+
- **Anti-slop exceptions:** any banned default the project *intentionally* uses (with the
|
|
48
48
|
why), so build / polish don't "correct" a deliberate choice.
|
|
49
49
|
|
|
50
50
|
## Merge discipline
|
|
@@ -55,14 +55,14 @@ language — not this feature's one-off choices.
|
|
|
55
55
|
- **Never invent.** If the feature didn't prove it, it doesn't go in. `DESIGN.md` is design
|
|
56
56
|
*memory*, not design *aspiration*.
|
|
57
57
|
- **Attribute + keep lean.** Tag each new entry with the feature slug so the lineage is
|
|
58
|
-
legible; one good line beats a paragraph. The file is read every future spec
|
|
58
|
+
legible; one good line beats a paragraph. The file is read every future spec: keep it
|
|
59
59
|
scannable.
|
|
60
60
|
|
|
61
61
|
## How it commits
|
|
62
62
|
`DESIGN.md` is a tracked project artifact, so it ships **in the feature commit**:
|
|
63
63
|
1. Write / update `<project-root>/DESIGN.md` from the template below.
|
|
64
64
|
2. **Append `DESIGN.md` to `touched-files.md`** so the existing ship commit-scoping (SKILL
|
|
65
|
-
steps 2 + 4) stages it
|
|
65
|
+
steps 2 + 4) stages it: the design-memory write rides the same commit and the same
|
|
66
66
|
type-GO, no second commit.
|
|
67
67
|
3. Note the rollup in `ship.md` (what was added, or "design-memory: skipped by user").
|
|
68
68
|
|
|
@@ -111,10 +111,10 @@ Banned defaults this project *intentionally* uses, with the why (so build/polish
|
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
## NEVER (design memory)
|
|
114
|
-
- Never roll up unattended on first creation
|
|
114
|
+
- Never roll up unattended on first creation: a new persistent project artifact is a
|
|
115
115
|
confirmed step, never an AFK silent write.
|
|
116
|
-
- Never write an entry the feature didn't *prove* shipped
|
|
117
|
-
- Never overwrite or silently reconcile a conflicting existing entry
|
|
116
|
+
- Never write an entry the feature didn't *prove* shipped: no aspirational tokens.
|
|
117
|
+
- Never overwrite or silently reconcile a conflicting existing entry: surface it.
|
|
118
118
|
- Never persist a feature-only one-off as if it were the project default.
|
|
119
119
|
- Never add `DESIGN.md` to the commit without appending it to `touched-files.md` first
|
|
120
120
|
(it would fall outside the ship's commit scope).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# The irreversible ship
|
|
1
|
+
# The irreversible ship: type-GO + git ladder
|
|
2
2
|
|
|
3
3
|
`/rite-ship` is the only DevRites phase that runs actions that cannot be undone
|
|
4
4
|
silently. The seal verdict authorizes the *decision*; this prompt authorizes the
|
|
@@ -17,7 +17,7 @@ Type "GO" exactly to proceed. Anything else cancels.
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Rules for the prompt:
|
|
20
|
-
- Render it **every time**, even with auto-trigger enabled
|
|
20
|
+
- Render it **every time**, even with auto-trigger enabled. This is the last net.
|
|
21
21
|
- Only the literal string `GO` (no quotes) proceeds. `y`, `yes`, `go` (lowercase),
|
|
22
22
|
`ok`, `sure`, `do it`, or anything else → cancel, record the cancel in `ship.md`
|
|
23
23
|
as "user declined irreversible step at <ts>", and stop.
|
|
@@ -29,10 +29,10 @@ Rules for the prompt:
|
|
|
29
29
|
Follow `.claude/skills/devrites-lib/reference/standards/git-workflow.md` and the project's own convention. Do not invent
|
|
30
30
|
a release flow the project doesn't use.
|
|
31
31
|
|
|
32
|
-
0. **Collapse checkpoints** (only if checkpoint mode ran
|
|
32
|
+
0. **Collapse checkpoints** (only if checkpoint mode ran: see
|
|
33
33
|
[rite-build/reference/checkpoint.md](../../rite-build/reference/checkpoint.md)). Local
|
|
34
34
|
`WIP(<slug>)` commits are scratch; fold them into the working tree so the ship is one
|
|
35
|
-
atomic feature commit. `reset --soft` moves only the branch pointer
|
|
35
|
+
atomic feature commit. `reset --soft` moves only the branch pointer: index and worktree
|
|
36
36
|
are untouched, so no change is ever lost:
|
|
37
37
|
```bash
|
|
38
38
|
base=$(git rev-parse --abbrev-ref '@{upstream}' 2>/dev/null) || base=main
|
|
@@ -47,7 +47,7 @@ a release flow the project doesn't use.
|
|
|
47
47
|
1. **Stage** only the files in `touched-files.md`. Never `git add -A`; never stage
|
|
48
48
|
secrets, `.env`, or out-of-scope files (see the never-commit list in `git-workflow.md`).
|
|
49
49
|
2. **Commit** with a Conventional Commit message derived from the feature (`feat(scope):
|
|
50
|
-
…` / `fix(scope): …`). Atomic
|
|
50
|
+
…` / `fix(scope): …`). Atomic: one logical change. Put the *why* in the body.
|
|
51
51
|
For non-trivial features, append trailers from the workspace record:
|
|
52
52
|
`Constraint:` from binding principles/irreversible risks, `Rejected:` from material alternatives,
|
|
53
53
|
`Confidence:` from `seal.md`, `Scope-risk:` from the blast-radius scan, and `Not-tested:` for
|
|
@@ -55,7 +55,7 @@ a release flow the project doesn't use.
|
|
|
55
55
|
3. **Push** to the target branch (the feature branch, or per the project's trunk
|
|
56
56
|
convention).
|
|
57
57
|
4. **Tag / PR** only if the project does it: cut a tag when the project tags releases,
|
|
58
|
-
or open a PR when the project reviews via PRs. Otherwise skip
|
|
58
|
+
or open a PR when the project reviews via PRs. Otherwise skip: pushing the branch
|
|
59
59
|
is the ship.
|
|
60
60
|
|
|
61
61
|
Capture the resulting commit SHA(s), branch, and tag/PR URL for `ship.md`.
|
|
@@ -64,10 +64,10 @@ Capture the resulting commit SHA(s), branch, and tag/PR URL for `ship.md`.
|
|
|
64
64
|
|
|
65
65
|
When this ship opens a PR, include only applicable sections:
|
|
66
66
|
|
|
67
|
-
- **Summary
|
|
68
|
-
- **Risk & rollback
|
|
69
|
-
- **What to scrutinize
|
|
70
|
-
- **Evidence
|
|
67
|
+
- **Summary:** what shipped and acceptance proven.
|
|
68
|
+
- **Risk & rollback:** migration/auth/destructive risk and reversal from `seal.md`.
|
|
69
|
+
- **What to scrutinize:** highest-blast-radius review stops.
|
|
70
|
+
- **Evidence:** condensed proof plus the archived evidence bundle.
|
|
71
71
|
|
|
72
72
|
For an agent-owned staged rollout, apply [`rollout.md`](rollout.md). CI-owned deploys
|
|
73
73
|
skip that branch. Delete empty sections rather than writing `N/A`.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Capability ledger
|
|
1
|
+
# Capability ledger: the living "what the system does now" layer
|
|
2
2
|
|
|
3
3
|
The ledger is DevRites' cumulative spec store: `.devrites/specs/<capability>/spec.md`, a flat
|
|
4
|
-
list of proven `### Requirement:` blocks per capability. Unlike a feature workspace
|
|
5
|
-
archived away on close
|
|
4
|
+
list of proven `### Requirement:` blocks per capability. Unlike a feature workspace (which is
|
|
5
|
+
archived away on close) the ledger **persists** and accumulates, so feature N+1 starts from the
|
|
6
6
|
proven contract of every feature before it instead of re-deriving from code.
|
|
7
7
|
|
|
8
8
|
It lives outside `.devrites/work/`, so close-out's archival never touches it. It is written only
|
|
9
|
-
here, on ship, and only from behavior that just passed the seal GO + evidence-freshness gate
|
|
9
|
+
here, on ship, and only from behavior that just passed the seal GO + evidence-freshness gate, so
|
|
10
10
|
the ledger records *proven* truth, never merely proposed.
|
|
11
11
|
|
|
12
12
|
## Fold semantics
|
|
13
13
|
|
|
14
14
|
A feature's `spec.md` carries **deltas** grouped under capability-tagged H2 sections
|
|
15
|
-
(`## ADDED Requirements — capability: <c>`, `MODIFIED`, `REMOVED`)
|
|
15
|
+
(`## ADDED Requirements — capability: <c>`, `MODIFIED`, `REMOVED`): see
|
|
16
16
|
[`spec-grammar.md`](../../devrites-lib/reference/standards/spec-grammar.md) § Delta form.
|
|
17
17
|
`devrites-engine ledger sync` groups them by capability and folds each into its ledger spec:
|
|
18
18
|
|
|
@@ -27,13 +27,13 @@ as all-ADDED into the capability named by the feature slug.
|
|
|
27
27
|
|
|
28
28
|
Runs **before the commit** so the ledger change ships in the same commit as the code that proves it.
|
|
29
29
|
|
|
30
|
-
1. Preview the fold
|
|
30
|
+
1. Preview the fold: deterministic, zero-token:
|
|
31
31
|
```bash
|
|
32
32
|
devrites-engine ledger diff .devrites/work/<slug>
|
|
33
33
|
```
|
|
34
|
-
2. **Opt-in and confirmed** (mirrors the design-memory rollup): present the option set
|
|
34
|
+
2. **Opt-in and confirmed** (mirrors the design-memory rollup): present the option set (default
|
|
35
35
|
is to sync, since a shipped feature's proven behavior belongs in the ledger; the escape hatch
|
|
36
|
-
is skip (the feature ships without updating the living spec
|
|
36
|
+
is skip (the feature ships without updating the living spec) a deliberate call, e.g. an
|
|
37
37
|
internal-only change with no capability contract).
|
|
38
38
|
3. On yes:
|
|
39
39
|
```bash
|
|
@@ -43,7 +43,7 @@ Runs **before the commit** so the ledger change ships in the same commit as the
|
|
|
43
43
|
staged and committed at the git ladder (step 4). Record the synced capabilities in `ship.md`.
|
|
44
44
|
**The ledger must be git-tracked.** Most of `.devrites/` is runtime state a project gitignores;
|
|
45
45
|
`specs/` is the exception (durable shared truth). If a `git status` / `git check-ignore` shows
|
|
46
|
-
the ledger path ignored, the commit would silently drop it
|
|
46
|
+
the ledger path ignored, the commit would silently drop it: carve it out first:
|
|
47
47
|
`.devrites/*` + `!.devrites/specs/`. Surface this rather than shipping a ledger that never lands.
|
|
48
48
|
4. Skip when the feature declares no requirements (a pure refactor / chore with no spec deltas).
|
|
49
49
|
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
# Staged rollout & rollback
|
|
1
|
+
# Staged rollout & rollback: when the ship includes a live deploy
|
|
2
2
|
|
|
3
3
|
Opt-in. `/rite-ship`'s job ends at the git ladder (commit → push → tag / PR) and archiving the
|
|
4
4
|
workspace; most projects deploy from CI on merge, and their pipeline owns the rollout. Reach for
|
|
5
5
|
this reference only when the ship *itself* drives a live, staged production rollout the agent is
|
|
6
|
-
responsible for. When it doesn't apply, skip it
|
|
6
|
+
responsible for. When it doesn't apply, skip it: the same no-op discipline as the rest of the pack.
|
|
7
7
|
|
|
8
8
|
The governing idea is the one already in [`git-workflow.md`](../../devrites-lib/reference/standards/git-workflow.md) and
|
|
9
9
|
[`deprecation.md`](../../devrites-lib/reference/standards/deprecation.md): **a launch is only done when it's reversible,
|
|
10
10
|
observable, and incremental.** Write the rollback plan *before* you deploy, not after it breaks.
|
|
11
11
|
|
|
12
12
|
## The rollback plan is a pre-condition
|
|
13
|
-
Before the first byte ships, the plan exists, with a measured **time-to-rollback** per mechanism
|
|
13
|
+
Before the first byte ships, the plan exists, with a measured **time-to-rollback** per mechanism:
|
|
14
14
|
feature flag < 1 min, redeploy < 5 min, DB rollback < 15 min. If the fastest reversal is slow, that
|
|
15
15
|
is a launch risk to fix (add a flag) before shipping, not after. A destructive/migration step ships
|
|
16
16
|
only with its rollback proven (expand→contract, [`deprecation.md`](../../devrites-lib/reference/standards/deprecation.md)).
|
|
17
17
|
|
|
18
|
-
## Advance on evidence
|
|
18
|
+
## Advance on evidence: the rollout decision thresholds
|
|
19
19
|
Stage the exposure and, at each stage, read the signals ([`observability.md`](../../devrites-lib/reference/standards/observability.md))
|
|
20
|
-
against a fixed table
|
|
20
|
+
against a fixed table: advance on green, hold on yellow, roll back on red. Don't eyeball it.
|
|
21
21
|
|
|
22
22
|
| Signal | Green (advance) | Yellow (hold, investigate) | Red (roll back now) |
|
|
23
23
|
|---|---|---|---|
|
|
24
|
-
| Error rate | within ~10% of baseline | 10
|
|
25
|
-
| p95 latency | within ~20% of baseline | 20
|
|
24
|
+
| Error rate | within ~10% of baseline | 10-100% over baseline | > 2× baseline |
|
|
25
|
+
| p95 latency | within ~20% of baseline | 20-50% over | > 50% over |
|
|
26
26
|
| Client JS errors | none new | < 0.1% of sessions | > 0.1% of sessions |
|
|
27
27
|
| Business metric on the path | neutral or up | < 5% decline | > 5% decline |
|
|
28
28
|
|
|
29
29
|
## Stage the exposure, with a monitoring window at each step
|
|
30
|
-
Internal/team → canary ~5% (hold 24
|
|
30
|
+
Internal/team → canary ~5% (hold 24-48h) → 25% → 50% → 100%, advancing only when **all** thresholds
|
|
31
31
|
are green and you can still roll back to the previous percentage at any point. Data integrity or a
|
|
32
32
|
security regression is an **immediate** rollback regardless of the table.
|
|
33
33
|
|
|
34
34
|
## Feature-flag hygiene
|
|
35
35
|
Every flag has an owner and an expiry; test both states in CI; don't nest flags (state explodes);
|
|
36
|
-
remove the flag and its dead branch within ~2 weeks of full rollout
|
|
36
|
+
remove the flag and its dead branch within ~2 weeks of full rollout: a lingering flag is the
|
|
37
37
|
deprecation debt [`deprecation.md`](../../devrites-lib/reference/standards/deprecation.md) exists to prevent.
|
|
38
38
|
|
|
39
39
|
## Verify in the first hour (a runbook, not a vibe)
|
|
40
40
|
Health endpoint returns 200 · the error dashboard is flat · latency within budget · one critical
|
|
41
|
-
user flow driven by hand · logs/metrics/traces
|
|
41
|
+
user flow driven by hand · logs/metrics/traces flowing ([`observability.md`](../../devrites-lib/reference/standards/observability.md)
|
|
42
42
|
"verify the telemetry fires") · a rollback dry-run confirmed reversible. Record the observations in
|
|
43
|
-
`ship.md` / `evidence.md
|
|
43
|
+
`ship.md` / `evidence.md`: an un-watched launch is an unproven one.
|
|
@@ -28,6 +28,6 @@ workspace **before** close-out, so it travels into `.devrites/archive/<slug>/shi
|
|
|
28
28
|
- <recorded follow-up + where it's tracked> | none
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
Keep it short
|
|
31
|
+
Keep it short. It points at the existing audit files rather than restating them.
|
|
32
32
|
The acceptance count must match `seal.md`; if they disagree, the seal is the source of
|
|
33
33
|
truth and the ship should not have proceeded.
|
|
@@ -5,15 +5,15 @@ argument-hint: "<feature or idea>"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-spec
|
|
8
|
+
# /rite-spec: investigate deeply, write the spec
|
|
9
9
|
|
|
10
10
|
The spec phase. Turn a request (even a vague one) into a **fully-covered, correctly-placed
|
|
11
|
-
`spec.md`** by investigating deeply and closing every material gap with the human
|
|
12
|
-
`/rite-define` can plan it and nothing is missed. **No plan, tasks, or code here
|
|
11
|
+
`spec.md`** by investigating deeply and closing every material gap with the human, so
|
|
12
|
+
`/rite-define` can plan it and nothing is missed. **No plan, tasks, or code here**. Those
|
|
13
13
|
are `/rite-define` and `/rite-build`.
|
|
14
14
|
|
|
15
15
|
> **Too small to spec? Use `/rite-quick`.** A typo, copy tweak, config bump, or one-function
|
|
16
|
-
> fix does **not** need a full workspace + lifecycle. Stop and run `/rite-quick <change
|
|
16
|
+
> fix does **not** need a full workspace + lifecycle. Stop and run `/rite-quick <change>`: its
|
|
17
17
|
> express lane (one contract → TDD build → scoped prove → ship) escalates back here the moment
|
|
18
18
|
> the change turns out to touch auth / data / a migration / a public API / more than one slice.
|
|
19
19
|
> Spec is for real features; don't pay its ceremony for a one-off.
|
|
@@ -21,11 +21,11 @@ are `/rite-define` and `/rite-build`.
|
|
|
21
21
|
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
22
22
|
Pull `documentation.md` via `Read`
|
|
23
23
|
when capturing significant spec decisions (why-not-what, ADR-style notes in `decisions.md`);
|
|
24
|
-
pull `principles.md` when the project has declared invariants (`.devrites/principles.md`)
|
|
24
|
+
pull `principles.md` when the project has declared invariants (`.devrites/principles.md`): a
|
|
25
25
|
new spec must respect them, and a requirement that can only be met by breaking one is a blocking gap.
|
|
26
26
|
Pull `spec-grammar.md` and `devrites-lib/reference/workspace-artifact-schema.md` when writing
|
|
27
27
|
acceptance for a behavioral / high-risk requirement (auth,
|
|
28
|
-
data model, state machine, public API, money, migration)
|
|
28
|
+
data model, state machine, public API, money, migration): the structured `### Requirement:` /
|
|
29
29
|
`#### Scenario:` (SHALL · WHEN/THEN) form, lint-checked by `devrites-engine spec-validate`. Simple criteria
|
|
30
30
|
stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
31
31
|
|
|
@@ -42,19 +42,19 @@ stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
|
42
42
|
the weak section.
|
|
43
43
|
|
|
44
44
|
## Workflow
|
|
45
|
-
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md
|
|
45
|
+
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`:** the always-on operating rules and anti-rationalizations.
|
|
46
46
|
Then run `devrites-engine preamble` for deterministic workspace orientation.
|
|
47
|
-
0a. **Brownfield check
|
|
48
|
-
**existing codebase** (real source predating DevRites) that has **never been adopted**
|
|
49
|
-
`.devrites/conventions.md`, no prior `.devrites/work`, `.devrites/features`, or `.devrites/archive`
|
|
47
|
+
0a. **Brownfield check: onboard before speccing onto un-adopted existing code.** If this is an
|
|
48
|
+
**existing codebase** (real source predating DevRites) that has **never been adopted** (no
|
|
49
|
+
`.devrites/conventions.md`, no prior `.devrites/work`, `.devrites/features`, or `.devrites/archive`) the build has no
|
|
50
50
|
conventions ledger to follow and the first slice would guess the project's idioms. Route
|
|
51
51
|
through `/rite-adopt` **first**, carrying `$ARGUMENTS` as its *next objective*: adopt
|
|
52
52
|
reverse-derives the baseline `spec.md`, **seeds the conventions ledger**, and proposes
|
|
53
53
|
principles, so this feature is specced on top of an onboarded project (adopt owns the
|
|
54
|
-
onboarding; `/rite-spec` only detects and routes
|
|
54
|
+
onboarding; `/rite-spec` only detects and routes: no duplicated logic). In **HITL** present a
|
|
55
55
|
ranked option (recommended: *adopt first, then spec this on top*; escape hatch: *spec-only, skip
|
|
56
56
|
onboarding*); in **AFK** (adoption allowed) run `/rite-adopt` first automatically. **Greenfield
|
|
57
|
-
(no pre-existing source) or an already-onboarded project → skip silently
|
|
57
|
+
(no pre-existing source) or an already-onboarded project → skip silently**: never block a spec
|
|
58
58
|
for the absence of adoption (the same no-op discipline as the principles gate). Cheap probe:
|
|
59
59
|
```bash
|
|
60
60
|
if [ ! -f .devrites/conventions.md ] && [ ! -d .devrites/archive ] \
|
|
@@ -72,75 +72,75 @@ stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
|
72
72
|
```
|
|
73
73
|
If it finds a close match, ask the user: extend existing / adopt / new spec. Record the choice in
|
|
74
74
|
`decisions.md` once the workspace exists. No match → continue silently.
|
|
75
|
-
2. **Investigate deeply
|
|
75
|
+
2. **Investigate deeply:** [investigation](reference/investigation.md). Produce, and
|
|
76
76
|
later write into the spec: **current behavior**; **placement** (which module/layer/
|
|
77
|
-
file/component should own it, the seam, patterns to reuse, and integration points
|
|
77
|
+
file/component should own it, the seam, patterns to reuse, and integration points:
|
|
78
78
|
callers, dependents, data, APIs/events); **what it resolves**; **issues**
|
|
79
79
|
(conflicts/constraints); **gaps** (unknowns); **blast radius**. Use a code-intelligence
|
|
80
|
-
index **if available
|
|
80
|
+
index **if available**: `codebase-memory-mcp` first, cross-checked with `codegraph`
|
|
81
81
|
(`.codegraph/` / `codegraph_*`) + `graphify` (`graphify-out/`), else standard methods
|
|
82
|
-
(LSP / `Read`/`Grep`/`Glob`); see `.claude/skills/devrites-lib/reference/standards/tooling.md
|
|
82
|
+
(LSP / `Read`/`Grep`/`Glob`); see `.claude/skills/devrites-lib/reference/standards/tooling.md`:
|
|
83
83
|
for placement/callers/impact instead of broad file reads; fall back to reading files. For
|
|
84
84
|
uncertain external library/framework facts that bear on placement or feasibility, consult
|
|
85
|
-
context7 if available. When a material decision turns on a fact outside the codebase
|
|
86
|
-
common UX pattern, a standard, a prevailing best practice, how comparable products solve it
|
|
85
|
+
context7 if available. When a material decision turns on a fact outside the codebase: a
|
|
86
|
+
common UX pattern, a standard, a prevailing best practice, how comparable products solve it:
|
|
87
87
|
**search the web if available** (brave MCP preferred; see `.claude/skills/devrites-lib/reference/standards/tooling.md`), and
|
|
88
88
|
carry the cited finding into the option you put to the human at step 4.
|
|
89
89
|
Also discover the project's **test / build/typecheck/lint** commands and the
|
|
90
90
|
frontend/backend systems; read `PRODUCT.md` / `DESIGN.md` / `CLAUDE.md` / `AGENTS.md` if
|
|
91
|
-
present (`AGENTS.md` is the cross-tool agent-conventions standard
|
|
91
|
+
present (`AGENTS.md` is the cross-tool agent-conventions standard (treat it as project
|
|
92
92
|
conventions the build must follow, same standing as `CLAUDE.md`), and read
|
|
93
|
-
`.devrites/principles.md` if present
|
|
94
|
-
**Consult the capability ledger
|
|
93
|
+
`.devrites/principles.md` if present) the declared invariants the feature must respect.
|
|
94
|
+
**Consult the capability ledger**: the living record of what the system already does
|
|
95
95
|
([`ledger.md`](../rite-ship/reference/ledger.md)): `devrites-engine ledger list` for the
|
|
96
96
|
capabilities on record, then `devrites-engine ledger show <capability>` for any this feature
|
|
97
97
|
touches. Also search prior decisions with `devrites-engine decisions search "<2-4 feature nouns>"`
|
|
98
98
|
before asking the human to re-decide a settled architecture/API/auth choice. Starting from the proven contract (not a cold re-derive) is what makes the spec store
|
|
99
99
|
compound across features; it also tells you which requirements are new vs a change to existing
|
|
100
100
|
behavior, which decides the delta kind in step 5.
|
|
101
|
-
3. **Gather design references (optional)
|
|
102
|
-
The human **may** attach screenshots, mockups, a Figma link, a video, or links
|
|
101
|
+
3. **Gather design references (optional):** [references-intake](reference/references-intake.md).
|
|
102
|
+
The human **may** attach screenshots, mockups, a Figma link, a video, or links, or
|
|
103
103
|
**none at all** (perfectly normal; skip this step then). If any are given: **view/fetch**
|
|
104
104
|
them, **save local files** into `.devrites/work/<slug>/references/`, and index them in
|
|
105
105
|
`references.md` as target, constraint, or inspiration. Later phases honor that role
|
|
106
106
|
rather than treating every reference as a fidelity target.
|
|
107
107
|
**Completion:** every supplied reference is saved and classified, or absence is explicit.
|
|
108
|
-
3a. **Shape the UX/UI before code (if the feature touches UI)
|
|
108
|
+
3a. **Shape the UX/UI before code (if the feature touches UI)**, when this feature is
|
|
109
109
|
frontend ([frontend-trigger](../rite-build/reference/frontend-trigger.md)), apply
|
|
110
|
-
`devrites-ux-shape` **now**, woven into the spec
|
|
110
|
+
`devrites-ux-shape` **now**, woven into the spec, not as a separate phase. It turns the
|
|
111
111
|
references + the spec into a feature-level **`design-brief.md`** (design direction, key
|
|
112
112
|
states, interaction model, optional Figma/image visual-direction probe) that `/rite-build`
|
|
113
113
|
targets so the UI is built to plan, not guessed. In HITL it pauses for the human to
|
|
114
114
|
confirm the direction; in AFK it asserts the best guess and logs it. Pure
|
|
115
115
|
backend/data/CLI features skip this.
|
|
116
|
-
4. **Close the gaps with the human
|
|
116
|
+
4. **Close the gaps with the human. You recommend, the human decides.** Every material gap
|
|
117
117
|
(one that moves **objective · scope · placement · data model · UX · integration ·
|
|
118
118
|
non-functional · security · migration risk · acceptance**) is **put to the human as a ranked
|
|
119
|
-
option set**, one gap at a time, via the harness `AskUserQuestion` in HITL: **2
|
|
119
|
+
option set**, one gap at a time, via the harness `AskUserQuestion` in HITL: **2-4 concrete
|
|
120
120
|
options, your recommended one first and marked `(Recommended)`**, each with a one-line
|
|
121
121
|
rationale + trade-off tagged by the dimensions that matter, plus an escape hatch (*Something
|
|
122
|
-
else
|
|
122
|
+
else. I'll describe it*). Render contract + AFK behaviour: the **Option set** section of
|
|
123
123
|
[`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md); spec-phase question discipline:
|
|
124
124
|
[question-protocol](reference/question-protocol.md). Your job is to **investigate, rank, and
|
|
125
|
-
recommend
|
|
126
|
-
the question, not its *owner*:** when you're near-certain, you still present the set
|
|
127
|
-
human just confirms your `(Recommended)` option in one pick
|
|
125
|
+
recommend**, not to settle a material decision yourself. **Confidence changes the *cost* of
|
|
126
|
+
the question, not its *owner*:** when you're near-certain, you still present the set (the
|
|
127
|
+
human just confirms your `(Recommended)` option in one pick) you do **not** silently decide
|
|
128
128
|
it because you predicted the answer. Only a **genuinely reversible, low-impact** detail is
|
|
129
129
|
auto-decided and logged to `assumptions.md`; when unsure whether a gap is material, ask.
|
|
130
130
|
(Vague ask → `devrites-interview`; rough idea → `/rite-pressure-test`.) For a vague ask,
|
|
131
131
|
load [`reference/interview-patterns.md`](reference/interview-patterns.md), **map the decision
|
|
132
|
-
tree**, and resolve each branch depth-first; **cover every dimension
|
|
132
|
+
tree**, and resolve each branch depth-first; **cover every dimension**:
|
|
133
133
|
each resolved by a human pick or explicitly deferred (logged, non-blocking), never silently
|
|
134
134
|
skipped. Aim for **zero blocking gaps**. *If a gap is genuinely undecidable on paper (state
|
|
135
135
|
machine that may deadlock, data shape ambiguity, "which UX wins") → suggest a
|
|
136
136
|
scoped detour to `/rite-prototype` to answer that ONE question before
|
|
137
137
|
continuing.* **Invariant conflict is a blocking gap:** if a requirement or acceptance
|
|
138
138
|
criterion can only be satisfied by breaking a declared principle (`.devrites/principles.md`),
|
|
139
|
-
surface it
|
|
139
|
+
surface it: the principle wins by default; breaking it needs a recorded, scoped exception a
|
|
140
140
|
human approves, never a spec that silently contradicts an invariant.
|
|
141
141
|
5. **Create the workspace** + set `.devrites/ACTIVE`
|
|
142
142
|
([state-workspace](reference/state-workspace.md)). Write compact `README.md`,
|
|
143
|
-
`brief.md`, and `spec.md` ([spec-template](reference/spec-template.md))
|
|
143
|
+
`brief.md`, and `spec.md` ([spec-template](reference/spec-template.md)). WHAT/WHY,
|
|
144
144
|
technology-agnostic, with requirements, acceptance, edge cases, scope boundaries, links
|
|
145
145
|
to future `architecture.md` / `traceability.md`, and measurable acceptance
|
|
146
146
|
([acceptance-criteria](reference/acceptance-criteria.md)). For a
|
|
@@ -148,8 +148,8 @@ stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
|
148
148
|
`### Requirement:` (SHALL) + `#### Scenario:` (WHEN/THEN) block per
|
|
149
149
|
[`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md), nesting the `AC-###` id inside each scenario
|
|
150
150
|
so `/rite-seal` still grades it; routine criteria stay flat `AC-###` bullets. **When a
|
|
151
|
-
capability the ledger already holds is changing, write those requirements as deltas
|
|
152
|
-
`## ADDED / MODIFIED / REMOVED Requirements — capability: <c>` (spec-grammar.md § Delta form)
|
|
151
|
+
capability the ledger already holds is changing, write those requirements as deltas**:
|
|
152
|
+
`## ADDED / MODIFIED / REMOVED Requirements — capability: <c>` (spec-grammar.md § Delta form):
|
|
153
153
|
so the change, not just the end state, is explicit and `/rite-ship` folds it cleanly; a
|
|
154
154
|
capability with no ledger entry stays flat (the first sync seeds it). Also
|
|
155
155
|
write `brief.md`, `references.md`, `questions.md`, `decisions.md`, `assumptions.md`,
|
|
@@ -164,19 +164,19 @@ stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
|
164
164
|
```bash
|
|
165
165
|
devrites-engine context sync || true
|
|
166
166
|
```
|
|
167
|
-
5a. **Score the spec prose
|
|
167
|
+
5a. **Score the spec prose: "unit tests for English"** ([spec-checklists](reference/spec-checklists.md)).
|
|
168
168
|
Emit `.devrites/work/<slug>/checklists/<domain>.md` (one per requirement domain the spec covers:
|
|
169
169
|
functional · data-model · interaction · non-functional · edge-cases). Each tests the *requirement
|
|
170
|
-
prose* for completeness / clarity / measurability
|
|
171
|
-
enumeration closed?"
|
|
170
|
+
prose* for completeness / clarity / measurability: "is 'prominent' quantified?", "is every
|
|
171
|
+
enumeration closed?", **not** the implementation. Fix each CRITICAL fail by editing the spec
|
|
172
172
|
(not by softening the question); minor fails are logged. The checklists feed the readiness gate.
|
|
173
173
|
6. **Run the spec readiness gate** (bottom of spec-template): no blocking
|
|
174
174
|
`[NEEDS CLARIFICATION]`, placement decided, all material gaps resolved, any design
|
|
175
175
|
references provided are saved, **UX/UI shaped into `design-brief.md` if the feature is
|
|
176
176
|
UI**, requirements testable, success criteria measurable, **one-sentence intent** (the whole
|
|
177
|
-
change states its intent in a single sentence
|
|
177
|
+
change states its intent in a single sentence (if it can't, it is two features: split it or
|
|
178
178
|
narrow the scope), **every `checklists/<domain>.md` at
|
|
179
|
-
`Verdict: pass`**, and **any structured requirement blocks are grammar-valid**
|
|
179
|
+
`Verdict: pass`**, and **any structured requirement blocks are grammar-valid**) run
|
|
180
180
|
`devrites-engine spec-skeleton` first, then `devrites-engine spec-validate` with
|
|
181
181
|
`--against .devrites/specs` so any delta sections are also
|
|
182
182
|
reconciled against the ledger (an ADDED that already exists, or a MODIFIED/REMOVED that doesn't,
|
|
@@ -193,11 +193,11 @@ stay flat `AC-###` bullets; the grammar is opt-in by rigor, never forced.
|
|
|
193
193
|
plus the hard gates), and `Build exactly this?` (yes → next phase; no → revise now). The digest
|
|
194
194
|
is a view over `spec.md`, not a new artifact. **Stop** after the digest.
|
|
195
195
|
|
|
196
|
-
> **Mid-flight discipline.** When tempted to skip investigation depth, gap-closing, or placement decisions
|
|
196
|
+
> **Mid-flight discipline.** When tempted to skip investigation depth, gap-closing, or placement decisions: see [`anti-patterns`](reference/anti-patterns.md) (Common Rationalizations + Red Flags). Load it the moment you reach for the excuse.
|
|
197
197
|
|
|
198
198
|
## Output
|
|
199
199
|
|
|
200
|
-
**Progress first
|
|
200
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
201
201
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
202
202
|
Default success shape:
|
|
203
203
|
```
|
|
@@ -209,11 +209,11 @@ Next: /rite-temper
|
|
|
209
209
|
Record: .devrites/work/<slug>/spec.md
|
|
210
210
|
↻ Hygiene: /clear before the next phase; /rite-handoff if away > a few hours
|
|
211
211
|
```
|
|
212
|
-
If a workspace with the slug already exists, update its spec rather than overwriting blindly
|
|
212
|
+
If a workspace with the slug already exists, update its spec rather than overwriting blindly:
|
|
213
213
|
and **show the human a short diff of what changed** in `spec.md` (acceptance criteria added /
|
|
214
214
|
removed / reworded) before proceeding. A spec edit reviewed as a diff catches silent scope
|
|
215
215
|
drift that a full re-read buries; this is the spec-review view (`/rite-spec --review` renders
|
|
216
216
|
just the diff + the open-question delta, no re-investigation).
|
|
217
217
|
|
|
218
218
|
When the ask overlaps the ACTIVE feature (same intent, >50% scope), route to
|
|
219
|
-
`/rite-plan revise`
|
|
219
|
+
`/rite-plan revise` (its gate decides) rather than minting a parallel workspace.
|
|
@@ -5,7 +5,7 @@ Acceptance criteria are the contract the seal checks. Write them so each is
|
|
|
5
5
|
|
|
6
6
|
## A good criterion
|
|
7
7
|
- Is observable: a test passes, a command outputs X, a screenshot shows Y.
|
|
8
|
-
- Is binary: met or not
|
|
8
|
+
- Is binary: met or not: no "mostly".
|
|
9
9
|
- Names the evidence: "`npm test path/x.test.ts` passes" or "POST /export returns 200
|
|
10
10
|
with a CSV body" or "empty state renders 'No exports yet' at 375px".
|
|
11
11
|
- Belongs to a slice: every criterion maps to at least one slice (mapped in `/rite-define`).
|
|
@@ -21,10 +21,10 @@ Acceptance criteria are the contract the seal checks. Write them so each is
|
|
|
21
21
|
| Negative | "<invalid input> is rejected with <message>, no <side effect>." |
|
|
22
22
|
|
|
23
23
|
## Anti-patterns
|
|
24
|
-
- "Works well" / "is fast" / "looks good"
|
|
24
|
+
- "Works well" / "is fast" / "looks good": unverifiable. Attach a number or an
|
|
25
25
|
observation.
|
|
26
|
-
- Criteria with no slice
|
|
27
|
-
- Criteria only provable by reading the code
|
|
26
|
+
- Criteria with no slice: orphaned scope.
|
|
27
|
+
- Criteria only provable by reading the code: require runtime/test evidence instead.
|
|
28
28
|
|
|
29
29
|
## At seal time
|
|
30
30
|
Each criterion gets a checkbox + the evidence that proves it. Unproven critical
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# rite-spec
|
|
1
|
+
# rite-spec: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing a non-trivial decision in `/rite-spec`, or when the
|
|
4
4
|
agent feels reluctance toward investigation depth, gap-closing, or
|
|
@@ -10,19 +10,19 @@ Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../d
|
|
|
10
10
|
|
|
11
11
|
| Excuse | Rebuttal |
|
|
12
12
|
|---|---|
|
|
13
|
-
| "User said *just make it work
|
|
13
|
+
| "User said *just make it work*: no spec needed." | Vague asks are exactly where `/rite-spec` earns its keep; load `devrites-interview` and ask one question at a time. |
|
|
14
14
|
| "I already understand the request." | Then writing the placement + acceptance criteria takes minutes and saves drift later. Investigation isn't for *you*, it's for `/rite-define`. |
|
|
15
15
|
| "Too small for a spec." | If it's big enough for `/rite-build`, it's big enough for one paragraph of WHAT/WHY + measurable acceptance. |
|
|
16
|
-
| "No design refs were attached, so skip references." | Skip the *gathering*, not the *acknowledgement*. Note "no references provided" in the spec
|
|
16
|
+
| "No design refs were attached, so skip references." | Skip the *gathering*, not the *acknowledgement*. Note "no references provided" in the spec: silence is ambiguous. |
|
|
17
17
|
| "I can resolve gaps as I build." | Drift discovered at slice 3 costs more than 5 questions answered now. |
|
|
18
|
-
| "I'm confident of the answer, so I'll just decide this myself." | Confidence changes the *cost* of the question, not its *owner*. A material decision (scope · placement · data model · UX · security · migration · acceptance) is put to the human as a ranked option set
|
|
18
|
+
| "I'm confident of the answer, so I'll just decide this myself." | Confidence changes the *cost* of the question, not its *owner*. A material decision (scope · placement · data model · UX · security · migration · acceptance) is put to the human as a ranked option set: near-certainty just makes it a one-pick confirm, never a silent decision. |
|
|
19
19
|
| "Presenting options for every gap is over-asking." | Over-asking is many questions at once or asking what the codebase answers. One ranked option set per *material* gap, recommended-first, is the opposite: it hands the human the decision cheaply. Reversible low-impact details you still auto-decide and log. |
|
|
20
20
|
|
|
21
21
|
## Red Flags
|
|
22
22
|
|
|
23
23
|
- About to start writing `spec.md` without a Placement & integration section.
|
|
24
|
-
- Spec has no measurable acceptance criteria
|
|
24
|
+
- Spec has no measurable acceptance criteria: "works as expected" is not measurable.
|
|
25
25
|
- A `[NEEDS CLARIFICATION]` marker remains on a blocking item.
|
|
26
26
|
- Design references were attached but never opened, saved, or indexed in `references.md`.
|
|
27
27
|
- The investigation didn't read the module/component that currently owns this area.
|
|
28
|
-
- A material decision landed in `spec.md` / `assumptions.md` that the human never picked from an option set
|
|
28
|
+
- A material decision landed in `spec.md` / `assumptions.md` that the human never picked from an option set: decided on the agent's confidence alone.
|
|
@@ -5,7 +5,7 @@ Each question still follows the protocol: one at a time, best guess attached.
|
|
|
5
5
|
|
|
6
6
|
## Vague ask? Map the decision tree first
|
|
7
7
|
For a fuzzy one-liner (`"design a contact page"`, `"add reporting"`), sketch the branches
|
|
8
|
-
the answer splits into, then resolve each **depth-first
|
|
8
|
+
the answer splits into, then resolve each **depth-first**: one branch to a decision before
|
|
9
9
|
opening the next:
|
|
10
10
|
|
|
11
11
|
```text
|
|
@@ -17,7 +17,7 @@ contact page
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Once per interview you may **challenge the premise** instead of refining it
|
|
20
|
-
(*"is a form even the right answer, or a mailto / booking link?"*)
|
|
20
|
+
(*"is a form even the right answer, or a mailto / booking link?"*): a good reframe
|
|
21
21
|
collapses whole branches. Then use the domain ladders below for each open branch.
|
|
22
22
|
|
|
23
23
|
## Objective / problem
|
|
@@ -49,7 +49,7 @@ collapses whole branches. Then use the domain ladders below for each open branch
|
|
|
49
49
|
- "Auth/permission rules? Anything sensitive (PII, secrets, payments)?"
|
|
50
50
|
|
|
51
51
|
## Acceptance
|
|
52
|
-
- "How will we *prove* this works
|
|
52
|
+
- "How will we *prove* this works: what's the test or observation?"
|
|
53
53
|
- "What would make you reject the PR?"
|
|
54
54
|
|
|
55
55
|
## Anti-references (taste)
|