devrites 3.0.4 → 3.0.6
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 +40 -1
- package/README.md +280 -521
- package/SECURITY.md +91 -77
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +5 -5
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +101 -85
- package/docs/capability-surface-selection.md +3 -1
- package/docs/cli.md +20 -13
- package/docs/command-map.md +39 -35
- package/docs/engine/agent-contract.md +11 -9
- package/docs/engine/commands.md +92 -78
- package/docs/engine/state-schema.md +23 -19
- package/docs/engine/workspace-schema.md +12 -11
- package/docs/extensions.md +17 -17
- package/docs/flow.md +34 -23
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/porting-to-a-new-harness.md +6 -2
- package/docs/release.md +30 -12
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/templates/CRITIC_REVIEW_PACKET_TEMPLATE.md +35 -0
- package/docs/usage.md +56 -45
- 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 +2 -0
- package/engine/internal/install/install_test.go +3 -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 +732 -55
- package/engine/internal/lib/packageexistence_test.go +343 -0
- 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/lib/util.go +1 -1
- 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 +25 -27
- 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/reply-contract.md +11 -3
- 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 +12 -13
- 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 +13 -14
- package/pack/.claude/skills/rite/reference/menu.md +10 -10
- package/pack/.claude/skills/rite-adopt/SKILL.md +17 -18
- 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 +25 -27
- 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/reply-contract.md +11 -3
- 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 +12 -13
- 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 +13 -14
- package/pack/generated/claude/skills/rite/reference/menu.md +10 -10
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +17 -18
- 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 +28 -30
- 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/reply-contract.md +11 -3
- 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 +12 -13
- 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 +16 -17
- package/pack/generated/codex/skills/rite/reference/menu.md +10 -10
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +20 -21
- 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 +21 -4
- 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,8 +1,8 @@
|
|
|
1
|
-
# Investigation
|
|
1
|
+
# Investigation: understand deeply before specifying
|
|
2
2
|
|
|
3
3
|
The spec is only as good as the investigation behind it. Goal: understand the
|
|
4
4
|
requirement **completely**, decide **where it correctly belongs**, name what it
|
|
5
|
-
**resolves**, and surface every **issue and gap
|
|
5
|
+
**resolves**, and surface every **issue and gap**, then drive the gaps to closure with
|
|
6
6
|
the user so the spec ships fully-covered and correctly-placed. A gap found here is cheap;
|
|
7
7
|
a gap found in `/rite-build` is a drift event.
|
|
8
8
|
|
|
@@ -10,47 +10,47 @@ Use a code-intelligence index if available (see
|
|
|
10
10
|
`../../devrites-lib/reference/standards/tooling.md`) for the structural parts below; it answers "where does this
|
|
11
11
|
live / what calls it / what would it break" far more cheaply and accurately than reading files.
|
|
12
12
|
With none present, fall back to Read/Grep/Glob. When a gap turns on a fact the codebase can't
|
|
13
|
-
answer
|
|
13
|
+
answer: a standard, a prevailing UX pattern, how comparable products solve it: **search the
|
|
14
14
|
web if available** (brave MCP preferred; `../../devrites-lib/reference/standards/tooling.md`) and cite the finding in
|
|
15
15
|
the option you present, so the human's pick is informed rather than guessed.
|
|
16
16
|
|
|
17
|
-
## Prior art
|
|
17
|
+
## Prior art: check our own archive first (cheap, silent when empty)
|
|
18
18
|
Before investigating outward, check whether we already shipped this. Grep the shipped
|
|
19
|
-
archive for the feature's key nouns
|
|
19
|
+
archive for the feature's key nouns: a hit means an extension, a conflict, or a re-spec of
|
|
20
20
|
solved work, and you inherit its decisions instead of re-deriving them:
|
|
21
21
|
```bash
|
|
22
22
|
devrites-engine archive-search "<key nouns>" 2>/dev/null \
|
|
23
23
|
|| grep -rliE '<noun1>|<noun2>' .devrites/archive/*/spec.md 2>/dev/null
|
|
24
24
|
```
|
|
25
25
|
- **Overlap found** → read the overlapping `spec.md` + its `decisions.md`, then put it to
|
|
26
|
-
the human as a ranked option
|
|
27
|
-
*genuinely distinct*
|
|
26
|
+
the human as a ranked option (*extend the shipped feature* · *this supersedes it* ·
|
|
27
|
+
*genuinely distinct*) same option-set contract as a gap.
|
|
28
28
|
- **No archive / no hit** → skip silently; never block a spec on absent history (the
|
|
29
29
|
brownfield / principles no-op discipline).
|
|
30
30
|
|
|
31
31
|
## Produce these findings (write into spec.md)
|
|
32
|
-
1. **The real ask
|
|
32
|
+
1. **The real ask:** restate the goal and the *problem behind the request* (people ask
|
|
33
33
|
for "a dashboard" when they want an answer to a question). Who hits it, how often,
|
|
34
34
|
what they do today instead.
|
|
35
|
-
2. **Current behavior
|
|
35
|
+
2. **Current behavior:** how it works today, or what's absent. Read the actual code and
|
|
36
36
|
flows; don't assume.
|
|
37
|
-
3. **Placement
|
|
37
|
+
3. **Placement, where it should live** *(so it's correctly placed to be used)*
|
|
38
38
|
- Which module / layer / file / component should own this; the right seam.
|
|
39
39
|
- Existing patterns/components/utilities to **extend or reuse** instead of duplicating.
|
|
40
40
|
- **Integration points**: callers and dependents, the data it reads/writes, the
|
|
41
|
-
APIs/events/contracts it touches (interface analysis
|
|
41
|
+
APIs/events/contracts it touches (interface analysis: how it interacts with the
|
|
42
42
|
rest of the system).
|
|
43
|
-
4. **What it resolves
|
|
43
|
+
4. **What it resolves:** the outcome/value and how we'll *observe* it's resolved (feeds
|
|
44
44
|
success + acceptance criteria).
|
|
45
|
-
5. **Issues
|
|
45
|
+
5. **Issues:** conflicts with existing code/UX/data/permissions, constraints, and
|
|
46
46
|
anything that makes the obvious approach wrong. Each issue gets a disposition.
|
|
47
|
-
6. **Gaps
|
|
47
|
+
6. **Gaps:** unknowns, ambiguities, undecided behavior, missing inputs. **Every gap
|
|
48
48
|
becomes a question** (next section).
|
|
49
|
-
7. **Blast radius
|
|
49
|
+
7. **Blast radius:** what this change could break (use the code graph's impact/callers).
|
|
50
50
|
Informs risks, test strategy, and rollback.
|
|
51
51
|
|
|
52
52
|
Also gather any **design/reference materials** the human supplies (screenshots, Figma,
|
|
53
|
-
links, video)
|
|
53
|
+
links, video): see [references-intake](references-intake.md). They're part of
|
|
54
54
|
understanding the requirement and become the target later phases verify against.
|
|
55
55
|
|
|
56
56
|
## Gap analysis (present → desired)
|
|
@@ -58,9 +58,9 @@ State the **present state** and the **desired state**; the delta is the work, an
|
|
|
58
58
|
**unknowns in the delta are the gaps**. Drive the count of open gaps toward zero before
|
|
59
59
|
handing off to `/rite-define`. Mark each gap inline with `[NEEDS CLARIFICATION: question]`.
|
|
60
60
|
|
|
61
|
-
## Turn gaps & issues into questions WITH options
|
|
61
|
+
## Turn gaps & issues into questions WITH options: you recommend, the human decides
|
|
62
62
|
For each material gap/issue (one that changes scope, placement, data model, UX, security,
|
|
63
|
-
migration risk, or acceptance), **put it to the human
|
|
63
|
+
migration risk, or acceptance), **put it to the human**: one gap at a time, as a ranked
|
|
64
64
|
option set with the recommended option **first and marked `(Recommended)`** plus an escape
|
|
65
65
|
hatch (via `AskUserQuestion` in HITL):
|
|
66
66
|
```
|
|
@@ -71,7 +71,7 @@ hatch (via `AskUserQuestion` in HITL):
|
|
|
71
71
|
4. Something else — I'll describe it
|
|
72
72
|
```
|
|
73
73
|
Investigate and recommend; don't settle a material decision yourself. Confidence in the answer
|
|
74
|
-
lowers the *cost* of the question (a one-pick confirm), not its owner
|
|
74
|
+
lowers the *cost* of the question (a one-pick confirm), not its owner: present the set anyway.
|
|
75
75
|
Only a **genuinely reversible, low-impact** gap is decided and recorded in `assumptions.md`
|
|
76
76
|
without asking. Full render contract + AFK behaviour: [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md).
|
|
77
77
|
|
|
@@ -79,6 +79,6 @@ without asking. Full render contract + AFK behaviour: [`afk-hitl.md`](../../devr
|
|
|
79
79
|
- The shipped archive was checked for prior art; any overlap was surfaced to the human.
|
|
80
80
|
- The real problem, current behavior, placement, and what-it-resolves are written down.
|
|
81
81
|
- Every issue has a disposition; every material gap is resolved **by a human pick** from its
|
|
82
|
-
option set (or explicitly deferred as non-blocking)
|
|
83
|
-
- No blocking `[NEEDS CLARIFICATION]` remains
|
|
82
|
+
option set (or explicitly deferred as non-blocking), not settled silently on your confidence.
|
|
83
|
+
- No blocking `[NEEDS CLARIFICATION]` remains: the spec is **fully covered and correctly
|
|
84
84
|
placed**. This is the `/rite-spec` readiness gate before `/rite-define` plans it.
|
|
@@ -7,16 +7,16 @@ and completion. The shared HITL/AFK rendering contract lives in
|
|
|
7
7
|
|
|
8
8
|
This reference owns only the spec-specific coverage and recording rules below.
|
|
9
9
|
|
|
10
|
-
## Coverage gate
|
|
10
|
+
## Coverage gate: am I done asking?
|
|
11
11
|
Before declaring the interview complete, each dimension is **resolved** or **explicitly
|
|
12
|
-
deferred** (logged
|
|
13
|
-
- [ ] **Objective
|
|
14
|
-
- [ ] **Scope
|
|
15
|
-
- [ ] **Data model
|
|
16
|
-
- [ ] **UX / flow
|
|
17
|
-
- [ ] **Integration
|
|
18
|
-
- [ ] **Non-functional
|
|
19
|
-
- [ ] **Acceptance
|
|
12
|
+
deferred** (logged and non-blocking), never silently skipped:
|
|
13
|
+
- [ ] **Objective:** one-sentence success + the real problem behind it.
|
|
14
|
+
- [ ] **Scope**: what's in vs explicitly out for v1.
|
|
15
|
+
- [ ] **Data model**: core entities + relationships (or "none").
|
|
16
|
+
- [ ] **UX / flow**: happy path + empty / loading / error / permission states (or "no UI").
|
|
17
|
+
- [ ] **Integration**: external systems / APIs / contracts (or "none").
|
|
18
|
+
- [ ] **Non-functional**: auth, sensitive data, latency / scale (or "n/a").
|
|
19
|
+
- [ ] **Acceptance**: how each requirement is *proven* (test / observation).
|
|
20
20
|
|
|
21
21
|
A blocking gap in any dimension keeps the interview open; a deferred one goes to
|
|
22
22
|
`questions.md` and doesn't block. This feeds the `/rite-spec` readiness gate.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Reference intake
|
|
1
|
+
# Reference intake: design/style materials from the human
|
|
2
2
|
|
|
3
3
|
During spec, the human may supply screenshots, Figma, video, sites, or docs showing how the
|
|
4
4
|
feature should look or behave. When present, inspect them, save local copies, and classify
|
|
@@ -6,14 +6,14 @@ each as a fidelity **target**, hard **constraint**, or **inspiration** so a mood
|
|
|
6
6
|
cannot become a pixel-match contract. No references is valid; skip this intake.
|
|
7
7
|
|
|
8
8
|
## Gather + understand each reference
|
|
9
|
-
- **Images / screenshots / mockups
|
|
9
|
+
- **Images / screenshots / mockups:** open and **view** them (the Read tool renders
|
|
10
10
|
images). Describe what they show: layout, components, spacing, states, the target look.
|
|
11
|
-
- **Figma link
|
|
11
|
+
- **Figma link:** if a Figma integration is available, pull its design context (frames,
|
|
12
12
|
tokens, components); otherwise record the link and ask the human for an export/screenshot
|
|
13
13
|
so there's something concrete to match offline.
|
|
14
|
-
- **Links / reference sites / docs
|
|
14
|
+
- **Links / reference sites / docs:** fetch and read for the relevant intent (tone,
|
|
15
15
|
layout, interaction, quality bar). Capture *why* it's a reference, not just the URL.
|
|
16
|
-
- **Video
|
|
16
|
+
- **Video:** note what it demonstrates (the expected interaction/flow). Save it; later
|
|
17
17
|
phases can step through it as tooling allows.
|
|
18
18
|
|
|
19
19
|
## Save local assets into the workspace
|
|
@@ -45,14 +45,14 @@ composition, copy, or distinctive assets. Usage is normative too: only **may shi
|
|
|
45
45
|
enter product code.
|
|
46
46
|
|
|
47
47
|
## Feed them into the spec + the design brief
|
|
48
|
-
- Use references to sharpen `spec.md` (UI impact, success/acceptance
|
|
48
|
+
- Use references to sharpen `spec.md` (UI impact, success/acceptance: e.g. "matches R1").
|
|
49
49
|
- When the feature touches UI, these references are the primary input to **`devrites-ux-shape`**
|
|
50
50
|
(spec step 3a): they anchor the design direction and can seed the visual-direction probe
|
|
51
51
|
(a Figma link → pulled design context; reference sites → screenshots). The resulting
|
|
52
52
|
`design-brief.md` cites them by R-id **and role**.
|
|
53
|
-
- A reference can *resolve a gap* ("which layout?")
|
|
53
|
+
- A reference can *resolve a gap* ("which layout?"): record that in the gaps table.
|
|
54
54
|
- If a reference **conflicts** with the existing design system, that's an issue to raise
|
|
55
|
-
with the human (match the system, or adopt the reference
|
|
55
|
+
with the human (match the system, or adopt the reference: their call).
|
|
56
56
|
|
|
57
57
|
## Later phases use them (wire-through)
|
|
58
58
|
`devrites-frontend-craft` builds to the approved brief and its **target** references,
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# Spec-quality checklists
|
|
1
|
+
# Spec-quality checklists: "unit tests for the English"
|
|
2
2
|
|
|
3
3
|
Before the spec hands off to `/rite-define`, test the **requirement prose itself** the way you'd
|
|
4
4
|
unit-test code: is each requirement complete, unambiguous, and measurable? These checklists
|
|
5
|
-
interrogate the *writing*, not the implementation
|
|
5
|
+
interrogate the *writing*, not the implementation. There is no code to run yet. A criterion like
|
|
6
6
|
"the banner is prominent" passes a human skim and fails here ("prominent" is unquantified).
|
|
7
7
|
Catching it now is a one-line spec edit; catching it at `/rite-prove` is a reslice.
|
|
8
8
|
|
|
9
|
-
**Not implementation tests.** A checklist item asks "is *export* defined for an empty dataset?"
|
|
9
|
+
**Not implementation tests.** A checklist item asks "is *export* defined for an empty dataset?":
|
|
10
10
|
it does **not** ask "does `exportCsv()` handle `[]`?". The first tests the spec; the second is
|
|
11
11
|
`/rite-vet`'s test-plan and `/rite-prove`'s job. These files never name a function, file, or library.
|
|
12
12
|
|
|
13
|
-
## Output
|
|
13
|
+
## Output: one file per requirement domain
|
|
14
14
|
|
|
15
|
-
Emit `.devrites/work/<slug>/checklists/<domain>.md`, one per domain the spec
|
|
15
|
+
Emit `.devrites/work/<slug>/checklists/<domain>.md`, one per domain the spec covers (skip
|
|
16
16
|
a domain the spec marks "none"). The domains mirror the interview taxonomy, so a gap here maps to a
|
|
17
17
|
`devrites-interview` dimension:
|
|
18
18
|
|
|
19
19
|
| Domain file | Tests the prose of |
|
|
20
20
|
|---|---|
|
|
21
|
-
| `functional.md` | Functional requirements + scenarios
|
|
22
|
-
| `data-model.md` | Key entities / data model
|
|
23
|
-
| `interaction.md` | API / UI impact + UX states
|
|
21
|
+
| `functional.md` | Functional requirements + scenarios: is each capability stated, bounded, testable? |
|
|
22
|
+
| `data-model.md` | Key entities / data model: shapes, fields, lifecycle, relationships (skip if "none"). |
|
|
23
|
+
| `interaction.md` | API / UI impact + UX states: every screen state and contract named (skip if no UI/API). |
|
|
24
24
|
| `non-functional.md` | Constraints, auth / data sensitivity, latency / scale / compatibility budgets. |
|
|
25
25
|
| `edge-cases.md` | Empty / boundary / invalid / concurrent / failure paths the requirements imply. |
|
|
26
26
|
|
|
27
|
-
## Each item
|
|
27
|
+
## Each item: a question, a verdict, the line it interrogates
|
|
28
28
|
|
|
29
29
|
```markdown
|
|
30
30
|
# Spec checklist: <domain> — <slug>
|
|
@@ -38,24 +38,24 @@ Scored: <iso> Verdict: pass | gaps (<n CRITICAL / n minor>)
|
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Verdict is `pass` / `fail` / `n/a`. A `fail` carries a severity:
|
|
41
|
-
- **CRITICAL
|
|
41
|
+
- **CRITICAL:** the ambiguity would change the build or its acceptance: an unquantified
|
|
42
42
|
acceptance/success criterion, an incomplete enumeration in a requirement, an ambiguous data
|
|
43
43
|
shape, an undefined edge case on a stated flow, a contradictory pair of requirements.
|
|
44
|
-
- **minor
|
|
44
|
+
- **minor:** vague but non-load-bearing prose. Record it; it does not block.
|
|
45
45
|
|
|
46
|
-
## The question bank (seed
|
|
46
|
+
## The question bank (seed: extend per domain)
|
|
47
47
|
|
|
48
48
|
Each question tests one of the failure modes of requirement prose:
|
|
49
|
-
- **Measurability
|
|
49
|
+
- **Measurability:** every "good / fast / prominent / simple / secure" carries a number, a budget,
|
|
50
50
|
or a named reference. No adjective stands in for a threshold.
|
|
51
|
-
- **Completeness
|
|
51
|
+
- **Completeness:** every enumeration is closed (no "etc."); every requirement with a precondition
|
|
52
52
|
states the failure branch; every entity names its required fields + lifecycle; every stated flow
|
|
53
53
|
names its empty / error / boundary behaviour.
|
|
54
|
-
- **Clarity
|
|
54
|
+
- **Clarity:** one entity, one name (no `user`/`customer`/`account` drift); no requirement two
|
|
55
55
|
readers would implement differently; no "should" where "MUST" is meant.
|
|
56
|
-
- **Testability
|
|
56
|
+
- **Testability:** each acceptance criterion is binary and names (or clearly implies) its evidence.
|
|
57
57
|
A criterion only provable by reading code is a fail.
|
|
58
|
-
- **Consistency
|
|
58
|
+
- **Consistency:** no requirement contradicts another, the data model, or a non-goal.
|
|
59
59
|
|
|
60
60
|
## How it feeds the readiness gate
|
|
61
61
|
|
|
@@ -63,11 +63,11 @@ The spec **Readiness gate** (bottom of [`spec-template.md`](spec-template.md)) f
|
|
|
63
63
|
emitted `checklists/<domain>.md` must reach `Verdict: pass` (zero CRITICAL fails) before the gate
|
|
64
64
|
passes. Minor fails are logged, not blocking. A single open CRITICAL keeps the spec `Status: Draft`.
|
|
65
65
|
`/rite-define` reads the checklists at its step 0 and **hard-blocks while any CRITICAL is unchecked**;
|
|
66
|
-
a spec that skips the checklists is treated as not-yet-scored
|
|
66
|
+
a spec that skips the checklists is treated as not-yet-scored: define stops and routes back here.
|
|
67
67
|
|
|
68
68
|
## Discipline
|
|
69
69
|
- Score honestly. A checklist you pass by softening the *question* instead of the *spec* is the
|
|
70
|
-
spec-quality version of weakening a test to go green
|
|
70
|
+
spec-quality version of weakening a test to go green. It defeats the gate.
|
|
71
71
|
- Don't pad. Five real questions that find one CRITICAL beat thirty rubber-stamped rows.
|
|
72
72
|
- These are *English* tests. The moment a question needs a function name to answer, it belongs in
|
|
73
73
|
`/rite-vet`'s `test-plan.md`, not here.
|
|
@@ -6,7 +6,7 @@ user-invocable: true
|
|
|
6
6
|
disable-model-invocation: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /rite-status
|
|
9
|
+
# /rite-status: active feature status
|
|
10
10
|
|
|
11
11
|
Read-only. Report where the active feature stands. **Do not run any phase.**
|
|
12
12
|
|
|
@@ -37,22 +37,22 @@ Otherwise summarize from the loaded state, concisely:
|
|
|
37
37
|
1. **Feature** + one-line objective (from `brief.md`).
|
|
38
38
|
2. **Phase**, **active slice** + its slice mode (from `state.md`). **Run mode**
|
|
39
39
|
(`afk` / `hitl`) is derived from `.devrites/AFK` presence (the preamble
|
|
40
|
-
already does this), not from a `state.md` field
|
|
41
|
-
3. **Status
|
|
40
|
+
already does this), not from a `state.md` field: present = `afk`, absent = `hitl`.
|
|
41
|
+
3. **Status:** `running` / `awaiting_human` / `blocked` / `done`. If
|
|
42
42
|
`awaiting_human`, render the `Awaiting human` block from `state.md` (qid, gate,
|
|
43
43
|
question, proposed, raised_at, blocking_slices) and instruct
|
|
44
44
|
`/rite-resolve <qid> "<answer>"`.
|
|
45
|
-
4. **Next action
|
|
45
|
+
4. **Next action:** the single recommended next command from `snapshot.nextCommands`
|
|
46
46
|
for the current host.
|
|
47
|
-
5. **Evidence
|
|
47
|
+
5. **Evidence:** what's proven vs unproven (from `evidence.md` /
|
|
48
48
|
`browser-evidence.md`).
|
|
49
|
-
6. **Open questions
|
|
49
|
+
6. **Open questions:** count by gate (from `questions.md`:
|
|
50
50
|
`n open: x blocking · y validating · z advisory`) + the blocking qids by id and one-line question.
|
|
51
51
|
7. **Unresolved drift** (`drift.md`).
|
|
52
52
|
8. **Risks** (from `state.md` / `spec.md`); if `.devrites/principles.md` exists, note the count
|
|
53
53
|
of declared invariants and flag any exception in its register that is past its review/removal
|
|
54
54
|
trigger (a stale exception is a standing risk). Omit if there's no principles file.
|
|
55
|
-
9. **Ready for handoff
|
|
55
|
+
9. **Ready for handoff?:** see section below.
|
|
56
56
|
|
|
57
57
|
Flag anything blocking: unresolved drift, failing evidence, `Status: awaiting_human`,
|
|
58
58
|
or open questions that change product behavior. End with the recommended next command
|
|
@@ -60,8 +60,8 @@ and nothing else.
|
|
|
60
60
|
|
|
61
61
|
## Ready for handoff?
|
|
62
62
|
|
|
63
|
-
After the summary items (1
|
|
64
|
-
the canonical output order is: progress footer → summary items 1
|
|
63
|
+
After the summary items (1-8), render the handoff readiness section (item 9 above) last:
|
|
64
|
+
the canonical output order is: progress footer → summary items 1-8 → handoff readiness.
|
|
65
65
|
A fresh agent
|
|
66
66
|
or a future session should be able to pick the work up from the workspace
|
|
67
67
|
**alone**, with zero chat context. Check:
|
|
@@ -82,13 +82,13 @@ If any item above fails, suggest `/rite-handoff` to compact chat-only
|
|
|
82
82
|
context into the workspace before the session ends.
|
|
83
83
|
|
|
84
84
|
## Gotchas
|
|
85
|
-
- Read-only
|
|
85
|
+
- Read-only: never advance a phase or write to the workspace; that's the phase skills' job.
|
|
86
86
|
- Report from the `.devrites/` files, not chat memory (it's gone after `/clear`).
|
|
87
|
-
- Give the single next command, not a menu of options
|
|
87
|
+
- Give the single next command, not a menu of options: an ambiguous next-action fails the handoff check.
|
|
88
88
|
|
|
89
89
|
## Output format
|
|
90
90
|
|
|
91
|
-
**Progress first
|
|
91
|
+
**Progress first**: `/rite-status` *is* the status meter: render it by running
|
|
92
92
|
`devrites-engine progress`. Then use the shared completion reply contract
|
|
93
93
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md))
|
|
94
94
|
as a read-only status variant:
|
|
@@ -103,5 +103,5 @@ Record: .devrites/work/<slug>/state.md
|
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
If gaps exist, the recommended next command is to **persist them first** (see
|
|
106
|
-
`.claude/skills/devrites-lib/reference/standards/core.md
|
|
106
|
+
`.claude/skills/devrites-lib/reference/standards/core.md`. "Persistence before stopping"). Only then
|
|
107
107
|
move to the phase's next action.
|
|
@@ -5,37 +5,37 @@ argument-hint: "[feature-slug] [--mode expand|selective|hold|reduce]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-temper
|
|
8
|
+
# /rite-temper: temper the spec before you plan
|
|
9
9
|
|
|
10
10
|
Take a readied spec and **temper** it: heat it (raise ambition on the *outcome*), then
|
|
11
|
-
quench it (pre-mortem + prune the *solution surface*)
|
|
11
|
+
quench it (pre-mortem + prune the *solution surface*): stronger and less brittle. The one
|
|
12
12
|
DevRites step that decides scope/ambition on a written spec and folds the result into the
|
|
13
13
|
canonical contract, so `/rite-define` plans the **hardened** spec. Optional for small work
|
|
14
|
-
(significance-gated
|
|
14
|
+
(significance-gated: auto-skips low-stakes specs), but always invoked inside
|
|
15
15
|
`/rite-autocomplete`. **Read the active workspace first**; if there's no readied
|
|
16
16
|
`spec.md`, tell the user to run `/rite-spec`.
|
|
17
17
|
|
|
18
18
|
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
19
19
|
Pull on demand: `patterns.md` +
|
|
20
|
-
`coding-style.md` (the over-engineering / YAGNI rubric
|
|
20
|
+
`coding-style.md` (the over-engineering / YAGNI rubric (reuse the pack's standard, don't
|
|
21
21
|
invent one), `documentation.md` (ADR-style `decisions.md` entries), `afk-hitl.md`
|
|
22
22
|
(irreversible-risk list + gate ceiling), `elicitation.md` (the move-set to deepen a section
|
|
23
|
-
that needs more than the default pre-mortem
|
|
23
|
+
that needs more than the default pre-mortem) selected by the section's risk).
|
|
24
24
|
|
|
25
25
|
## Operating rules
|
|
26
26
|
- **Ambition on outcomes, minimalism on the surface.** Raise the success bar and solve the
|
|
27
|
-
*real* problem; never add speculative capability/abstraction. The reconciliation hinge
|
|
27
|
+
*real* problem; never add speculative capability/abstraction. The reconciliation hinge:
|
|
28
28
|
bigger ambition, smaller surface.
|
|
29
|
-
- **Every scope change routes through the Spec Drift Guard
|
|
29
|
+
- **Every scope change routes through the Spec Drift Guard:** it only becomes real by being
|
|
30
30
|
written into `spec.md` as a recorded, confirmable decision. Expansion is **opt-in** (HITL
|
|
31
|
-
confirm; AFK pauses
|
|
31
|
+
confirm; AFK pauses: see autocomplete policy). Nothing auto-grows into the build.
|
|
32
32
|
- **Bound ambition by reversibility.** Auth / migration / public-API / data-model touches get
|
|
33
|
-
the *opposite* of ambition
|
|
33
|
+
the *opposite* of ambition: maximum conservatism; they always pause (irreversible-risk list).
|
|
34
34
|
- **Honest verdict.** Never round "needs work" up to "ready"; record every scope call's *why*.
|
|
35
35
|
- **You write; the reviewer judges.** You are the single canonical writer (`strategy.md` +
|
|
36
36
|
the spec edits); the reviewer agent is read-only.
|
|
37
37
|
- **Demand the spec-quality checklists for big features.** `/rite-temper` only fires on
|
|
38
|
-
significant specs
|
|
38
|
+
significant specs: exactly where vague requirement prose is most expensive. Before hardening,
|
|
39
39
|
confirm `checklists/<domain>.md` exist and pass (`rite-spec/reference/spec-checklists.md`); a
|
|
40
40
|
scope expansion you fold in **adds its own** rows (new Success/Acceptance criteria get
|
|
41
41
|
"unit-tested for English" too). A folded expansion with an unquantified criterion is a CRITICAL
|
|
@@ -45,57 +45,57 @@ that needs more than the default pre-mortem — selected by the section's risk).
|
|
|
45
45
|
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`**, then run
|
|
46
46
|
`devrites-engine preamble` for deterministic workspace orientation.
|
|
47
47
|
Then read the workspace: `spec.md` (+ `decisions.md`,
|
|
48
|
-
`assumptions.md`, `design-brief.md` if UI), `state.md`. Require `Spec gate: passed
|
|
48
|
+
`assumptions.md`, `design-brief.md` if UI), `state.md`. Require `Spec gate: passed`: else
|
|
49
49
|
STOP → `/rite-spec`. If a plan already exists, scope changes route through `/rite-plan
|
|
50
50
|
repair` (record in `drift.md`), not a blind spec edit.
|
|
51
|
-
1. **Significance test
|
|
51
|
+
1. **Significance test:** [`reference/significance.md`](reference/significance.md). Low-stakes
|
|
52
52
|
/ shape-not-meaning work → write the one-line `skipped — low stakes (<trigger>)` verdict to `strategy.md`,
|
|
53
53
|
set `state.md` `Next step: /rite-define`, and recommend it. Otherwise fire the full pass below.
|
|
54
|
-
2. **FORWARD pass + mode selection
|
|
54
|
+
2. **FORWARD pass + mode selection:** [`reference/scope-modes.md`](reference/scope-modes.md).
|
|
55
55
|
First, the **one-sentence-intent test**: state the whole change's intent in a single sentence.
|
|
56
|
-
If you can't without an "and" that joins two unrelated outcomes, it is **two features
|
|
56
|
+
If you can't without an "and" that joins two unrelated outcomes, it is **two features**: the
|
|
57
57
|
sharpest scope-creep signal there is; recommend splitting the spec (or narrowing this one) before
|
|
58
58
|
tempering further. Then diverge on the *outcome* (the 10-star version of the real problem), and
|
|
59
59
|
commit **exactly one** scope mode (`expand` opt-in · `selective` · `hold-rigor` · `reduce-to-MVP`)
|
|
60
60
|
with its rationale and the **hinge** (what would change the call). `$ARGUMENTS` `--mode` is a
|
|
61
61
|
hint, not a command.
|
|
62
|
-
3. **INVERSION pass
|
|
62
|
+
3. **INVERSION pass:** pre-mortem in past tense ("it shipped and failed: what went wrong"),
|
|
63
63
|
each top risk carrying likelihood + mitigation + the slice it will bind to; then the **YAGNI
|
|
64
64
|
ledger** (each candidate scope item gets the "imagine the later refactor" test; defer unless
|
|
65
65
|
now-cost is trivial AND deferred-cost is large).
|
|
66
66
|
- **Deepen on demand.** When a specific scope call, requirement, or risk needs sharper thinking
|
|
67
|
-
than the default pre-mortem gives, pull the 3
|
|
67
|
+
than the default pre-mortem gives, pull the 3-5 techniques from
|
|
68
68
|
[`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) whose *when-to-reach-for-it* matches that
|
|
69
69
|
section's risk (irreversible decision → Red-Team/Blue-Team + Assumption Audit; sizing → Delphi;
|
|
70
70
|
vague requirement → Steelman-then-Attack), offer them, and run the chosen one **on that one
|
|
71
|
-
section**. Record what it changed, not that you ran it. Optional
|
|
71
|
+
section**. Record what it changed, not that you ran it. Optional: the default passes stand on
|
|
72
72
|
their own.
|
|
73
|
-
4. **Score the 9 dimensions
|
|
73
|
+
4. **Score the 9 dimensions:** [`reference/review-dimensions.md`](reference/review-dimensions.md).
|
|
74
74
|
Cite evidence *before* the band; **gate on the floor** (the weakest dimension, not an average).
|
|
75
75
|
**Completion:** all nine dimensions have cited evidence, a band, and one explicit floor verdict.
|
|
76
|
-
5. **Walk the findings WITH the human
|
|
76
|
+
5. **Walk the findings WITH the human: do not batch-dump.** The artifact is the *output* of an
|
|
77
77
|
interactive review, not a substitute for it: surface each material scope call / finding via
|
|
78
78
|
`AskUserQuestion`, one at a time, best-guess + **why**. Each material scope call ends as a
|
|
79
|
-
**recorded decision
|
|
79
|
+
**recorded decision**: a resolved `questions.md` qid (HITL) or a `decisions.md` ADR (AFK):
|
|
80
80
|
so the walk leaves an auditable trail, not just chat. (AFK gate policy is single-sourced in
|
|
81
81
|
[`reference/significance.md`](reference/significance.md): `hold-rigor` + `reduce-to-MVP`
|
|
82
82
|
auto-apply, **any `expand` is a blocking pause**, irreversible-risk always pauses.)
|
|
83
|
-
6. **Write `strategy.md` + fold back
|
|
83
|
+
6. **Write `strategy.md` + fold back:** [`reference/strategy-template.md`](reference/strategy-template.md).
|
|
84
84
|
**One drift rule (decide by whether a plan exists):** *no `plan.md` yet* (the normal pre-define
|
|
85
|
-
case) → update `spec.md` **through the Spec Drift Guard
|
|
85
|
+
case) → update `spec.md` **through the Spec Drift Guard**. *Success criteria* **and**
|
|
86
86
|
*Acceptance criteria* for each opt-in expansion / cut, **Non-goals** for every deferred item,
|
|
87
87
|
*Constraints* **and** *Risks* the pre-mortem demands, and the gaps/decisions table; *`plan.md`
|
|
88
|
-
already exists* → do **not** edit `spec.md` here
|
|
88
|
+
already exists* → do **not** edit `spec.md` here: write the deltas to `drift.md` and hand off
|
|
89
89
|
to `/rite-plan repair`. Either way, append `decisions.md` (one ADR per scope call: context ·
|
|
90
90
|
decision · why-not · what-would-change-it) and `assumptions.md` (every "we'll probably need X" →
|
|
91
|
-
assumption-to-verify). **Every scope delta must carry a recorded human decision
|
|
91
|
+
assumption-to-verify). **Every scope delta must carry a recorded human decision**: a resolved
|
|
92
92
|
`questions.md` qid (HITL) or a `decisions.md` ADR (AFK within the ceiling); a folded change with
|
|
93
93
|
no recorded decision is the batch-dump failure. **Re-check the spec Readiness gate** (it fails if
|
|
94
94
|
any folded scope delta lacks its decision). Update `state.md`: `Phase: temper`,
|
|
95
95
|
`Next step: /rite-define`; on a blocking pause (expand / irreversible / a dimension still below
|
|
96
96
|
bar) write the `Awaiting human` block + `Status: awaiting_human` before stopping.
|
|
97
|
-
7. **Adversarial verification loop
|
|
98
|
-
(fresh context, **only** the hardened spec + the rubric
|
|
97
|
+
7. **Adversarial verification loop:** dispatch [`devrites-strategy-reviewer`](../../agents/devrites-strategy-reviewer.md)
|
|
98
|
+
(fresh context, **only** the hardened spec + the rubric: no authoring reasoning). Resolve
|
|
99
99
|
actionable findings by editing `spec.md`/`strategy.md`, re-dispatch; **cap ≤3 iterations**. A
|
|
100
100
|
dimension still below bar after 3 → blocking question (HITL) or AFK gate-ceiling entry;
|
|
101
101
|
irreversible-risk findings always pause. If sub-agents are unavailable, do the independent
|
|
@@ -105,11 +105,11 @@ that needs more than the default pre-mortem — selected by the section's risk).
|
|
|
105
105
|
|
|
106
106
|
> **Mid-flight discipline.** When tempted to dump findings into `strategy.md` and skip the
|
|
107
107
|
> walk-through, expand the surface (not the outcome), grow scope without the Drift Guard, or
|
|
108
|
-
> score before citing evidence
|
|
108
|
+
> score before citing evidence: see [`reference/anti-patterns.md`](reference/anti-patterns.md).
|
|
109
109
|
|
|
110
110
|
## Output
|
|
111
111
|
|
|
112
|
-
**Progress first
|
|
112
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
113
113
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
114
114
|
Default success shape:
|
|
115
115
|
```
|
|
@@ -123,4 +123,4 @@ Record: .devrites/work/<slug>/strategy.md
|
|
|
123
123
|
```
|
|
124
124
|
If readiness is blocked, use the shared `Stopped / blocked` form and route `Fix:`
|
|
125
125
|
to `/rite-spec`; do not recommend `/rite-define`.
|
|
126
|
-
**DO NOT plan, slice, or write code here
|
|
126
|
+
**DO NOT plan, slice, or write code here**. That's `/rite-define` and `/rite-build`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# /rite-temper
|
|
1
|
+
# /rite-temper: anti-patterns
|
|
2
2
|
|
|
3
3
|
Universal rationalizations + red flags live in
|
|
4
|
-
[`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md)
|
|
4
|
+
[`../../devrites-lib/reference/standards/anti-patterns.md`](../../devrites-lib/reference/standards/anti-patterns.md): read it when the
|
|
5
5
|
reluctance is broader than this phase. Below are the temper-specific ones.
|
|
6
6
|
|
|
7
7
|
## Phase rationalizations
|
|
@@ -9,21 +9,21 @@ reluctance is broader than this phase. Below are the temper-specific ones.
|
|
|
9
9
|
| Excuse | Rebuttal |
|
|
10
10
|
|---|---|
|
|
11
11
|
| "I'll write all the findings into `strategy.md` and let the user read it." | The artifact is the *output* of an interactive review, not a substitute for it. A finding's path to "done" goes **through `AskUserQuestion`**, one at a time, with a recommendation + why. Dumping findings into one write and moving on is the exact failure mode this skill exists to prevent. |
|
|
12
|
-
| "Bigger is better
|
|
13
|
-
| "The user obviously wants the ambitious version
|
|
14
|
-
| "It's over-scoped, I'll just trim those criteria." | Reducing scope is **still a spec change**. Cut acceptance only as a recorded Spec-Drift-Guard decision, and park the rest in Non-goals with a revisit note
|
|
15
|
-
| "This dimension is weak but the others are strong
|
|
16
|
-
| "I can see it's adequate
|
|
17
|
-
| "It's a strategy doc, the implementation concerns don't apply yet." | Cross-cutting concerns (security/data/observability/modifiability) are where strategy breaks down. Address each or mark it explicitly N/A
|
|
12
|
+
| "Bigger is better: let's add the extra capability while we're thinking big." | Ambition belongs on the **outcome**, not the **solution surface**. A speculative capability/abstraction is gold plating. Expand the problem + acceptance; never the machinery. |
|
|
13
|
+
| "The user obviously wants the ambitious version. I'll add it to the spec." | Expansion is **opt-in**, recorded, and confirmed (HITL) or paused (AFK). Adding acceptance the human didn't approve is silent scope growth: route it through the Spec Drift Guard or don't add it. |
|
|
14
|
+
| "It's over-scoped, I'll just trim those criteria." | Reducing scope is **still a spec change**. Cut acceptance only as a recorded Spec-Drift-Guard decision, and park the rest in Non-goals with a revisit note: never a silent trim. |
|
|
15
|
+
| "This dimension is weak but the others are strong: net it's fine." | The gate is the **floor**, not the average. A spec `broken` on risk does not pass because it's `strong` on clarity. |
|
|
16
|
+
| "I can see it's adequate. I'll note the band, evidence is obvious." | Cite the evidence (the spec line or its absence) **before** the band. Score-first-justify-later is how a reviewer rationalizes a spec it already likes. |
|
|
17
|
+
| "It's a strategy doc, the implementation concerns don't apply yet." | Cross-cutting concerns (security/data/observability/modifiability) are where strategy breaks down. Address each or mark it explicitly N/A: silent omission is a gap. |
|
|
18
18
|
| "This greenfield design is elegant." | Elegant for a codebase that doesn't exist. Ground ambition in the real seams + blast radius; flag a new dependency / second design system for an explicit decision. |
|
|
19
19
|
|
|
20
20
|
## Red flags
|
|
21
|
-
- `strategy.md` written but `spec.md` acceptance/Non-goals **not** updated
|
|
21
|
+
- `strategy.md` written but `spec.md` acceptance/Non-goals **not** updated: the build follows
|
|
22
22
|
the spec, so the review changed nothing.
|
|
23
23
|
- An `expand` decision auto-applied in AFK (it must pause), or any irreversible-risk touch that
|
|
24
24
|
didn't pause.
|
|
25
|
-
- A pre-mortem with risks listed but no mitigation + owning slice
|
|
25
|
+
- A pre-mortem with risks listed but no mitigation + owning slice: a risk without an owner is a
|
|
26
26
|
wish.
|
|
27
27
|
- The reviewer loop running past 3 iterations, or the reviewer being handed the author's
|
|
28
28
|
reasoning (defeats the fresh-context point).
|
|
29
|
-
- The skill writing a `plan.md`, slicing, or touching code
|
|
29
|
+
- The skill writing a `plan.md`, slicing, or touching code. That's `/rite-define` / `/rite-build`.
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
# Review dimensions + the floor-gate rubric
|
|
2
2
|
|
|
3
|
-
The spec is scored on nine dimensions. Each catches a *different* failure mode
|
|
3
|
+
The spec is scored on nine dimensions. Each catches a *different* failure mode: strength in
|
|
4
4
|
one never compensates for collapse in another, so the gate is the **floor**, not an average.
|
|
5
5
|
|
|
6
6
|
## The nine dimensions
|
|
7
|
-
1. **Problem altitude & ambition
|
|
7
|
+
1. **Problem altitude & ambition:** is this solving the *right* problem at the right altitude,
|
|
8
8
|
or timidly improving the obvious path / over-reaching past the real need? Here, *under-
|
|
9
9
|
reaching* on the outcome is a failure, not just over-building.
|
|
10
|
-
2. **Scope honesty & boundary
|
|
10
|
+
2. **Scope honesty & boundary:** are Non-goals explicit? Is there a Minimum Usable Subset and a
|
|
11
11
|
clear IN/OUT line? Flags grab-bags and a missing "Won't-have-this-time".
|
|
12
|
-
3. **Premise & alternatives
|
|
12
|
+
3. **Premise & alternatives:** are the load-bearing premises stated and challenged, and is at
|
|
13
13
|
least one genuinely different approach (different data model / flow / boundary) considered
|
|
14
|
-
with its trade-off? ("Alternatives considered" is one of the most
|
|
15
|
-
4. **Pre-mortem risk coverage
|
|
14
|
+
with its trade-off? ("Alternatives considered" is one of the most useful parts of a spec.)
|
|
15
|
+
4. **Pre-mortem risk coverage:** run in prospective hindsight; each top risk carries likelihood
|
|
16
16
|
+ mitigation + the slice that owns it. **Unmitigated top risks are gating.**
|
|
17
|
-
5. **Over-engineering / YAGNI
|
|
17
|
+
5. **Over-engineering / YAGNI:** speculative capability, unused extension points, premature
|
|
18
18
|
abstraction, second-system bloat. Apply the pack's standard (`patterns.md`) + the "imagine
|
|
19
19
|
the later refactor" test. Defer unless now-cost is trivial AND deferred-cost is large.
|
|
20
|
-
6. **Acceptance testability & done-ness
|
|
20
|
+
6. **Acceptance testability & done-ness:** every acceptance criterion measurable, technology-
|
|
21
21
|
agnostic, and comparable **down to a baseline** ("better than the current workaround"), not
|
|
22
22
|
up to an unbounded ideal. Vague adjectives ("fast/robust/intuitive") and "handles X
|
|
23
23
|
gracefully" are flagged.
|
|
24
|
-
7. **Irreversibility & blast radius
|
|
24
|
+
7. **Irreversibility & blast radius:** are auth / migration / public-API / data-model touches
|
|
25
25
|
treated with conservatism + rollback, and is the blast radius understood (from a
|
|
26
26
|
code-intelligence index if available)?
|
|
27
|
-
8. **Cross-cutting coverage
|
|
28
|
-
modifiability each explicitly addressed **or explicitly N/A
|
|
29
|
-
9. **Convention fit & placement realism
|
|
27
|
+
8. **Cross-cutting coverage:** security/trust-boundary, data & migration, observability, and
|
|
28
|
+
modifiability each explicitly addressed **or explicitly N/A**: no silent omission.
|
|
29
|
+
9. **Convention fit & placement realism:** does the ambition fit the codebase's existing seams
|
|
30
30
|
and patterns, or assume greenfield freedom a constrained space doesn't have? Prefer existing
|
|
31
31
|
conventions; flag a new dependency / second design system for explicit decision.
|
|
32
32
|
|
|
33
|
-
UI specs
|
|
34
|
-
dimension (design-system fit, anti-AI-slop)
|
|
33
|
+
UI specs also inherit `rite-polish/reference/anti-ai-slop.md` at the cross-cutting
|
|
34
|
+
dimension (design-system fit, anti-AI-slop), but `/rite-temper` reviews the *spec/design-brief*,
|
|
35
35
|
not pixels; the built UI is judged later by `devrites-frontend-reviewer`.
|
|
36
36
|
|
|
37
|
-
## The rubric
|
|
37
|
+
## The rubric: coarse bands, evidence first
|
|
38
38
|
Score each dimension on a **labeled band**, never a 1-10 float or a composite number (labels do
|
|
39
|
-
the work
|
|
39
|
+
the work: matches the pack's severity-vocabulary stance):
|
|
40
40
|
|
|
41
41
|
| Band | Meaning |
|
|
42
42
|
|---|---|
|
|
@@ -45,21 +45,21 @@ the work — matches the pack's severity-vocabulary stance):
|
|
|
45
45
|
| **thin** | Under-addressed; a real gap to close before planning (Important). |
|
|
46
46
|
| **broken** | Missing or wrong in a way that will cost a redo (Critical). |
|
|
47
47
|
|
|
48
|
-
**Cite evidence before the band
|
|
48
|
+
**Cite evidence before the band**: name the spec line / absence that justifies it; never score
|
|
49
49
|
first and rationalize after. Borderline dimensions may be sampled twice; take the **lower** band
|
|
50
50
|
(don't average up).
|
|
51
51
|
|
|
52
52
|
## The floor-gate
|
|
53
53
|
- **Pass** only when every dimension is `adequate` or `strong` **and** no unmitigated top
|
|
54
|
-
pre-mortem risk remains. The verdict is the **weakest** dimension
|
|
54
|
+
pre-mortem risk remains. The verdict is the **weakest** dimension: a spec strong on clarity
|
|
55
55
|
but `broken` on risk does **not** pass.
|
|
56
56
|
- Individual findings carry the pack's standard severity labels (**Critical / Important /
|
|
57
57
|
Suggestion / Nit / FYI**) so they compose with `/rite-review` and `/rite-seal`. `broken` →
|
|
58
|
-
Critical, `thin` → Important; **FYI is band-independent
|
|
58
|
+
Critical, `thin` → Important; **FYI is band-independent**: an observation on a `strong` /
|
|
59
59
|
`adequate` dimension, not a failing band.
|
|
60
60
|
- **Don't double-count overlap.** Some dimensions key on the same evidence (e.g. #7
|
|
61
61
|
irreversibility & #9 convention-fit both touch codebase realism; #1 ambition & #2 scope both
|
|
62
|
-
touch over/under-reach). Don't fail two dimensions for the *same* root cause
|
|
62
|
+
touch over/under-reach). Don't fail two dimensions for the *same* root cause: cite the
|
|
63
63
|
evidence once, band it once, so one problem isn't laundered into two floor failures.
|
|
64
64
|
- Below-bar dimension after the ≤3-iteration reviewer loop → blocking question (HITL) or AFK
|
|
65
65
|
gate-ceiling entry. Irreversible-risk findings always pause regardless of band.
|