devrites 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -11,19 +11,19 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
11
11
|
|
|
12
12
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
13
13
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
14
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
15
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
14
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
15
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
16
16
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
17
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
17
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
# $rite-vet
|
|
20
|
+
# $rite-vet: vet the plan before you build
|
|
21
21
|
|
|
22
22
|
Take a defined plan and **vet** it the way a senior staff engineer would in a plan review:
|
|
23
23
|
challenge the scope, walk architecture / plan code-quality / test-coverage / performance,
|
|
24
24
|
calibrate every finding by confidence (and refuse to emit one you can't trace to a quoted
|
|
25
25
|
line), design the test coverage the build will target, and map the failure modes and
|
|
26
|
-
parallel lanes
|
|
26
|
+
parallel lanes: *before* `$rite-build` writes a line. The one DevRites step that hardens
|
|
27
27
|
the **implementation plan** at the engineering level and folds the result into the canonical
|
|
28
28
|
contract, so the build follows a reviewed plan. Runs on **every** plan (depth scales to
|
|
29
29
|
stakes; never skipped) and is always part of `$rite-autocomplete`; `--cross-model` adds a
|
|
@@ -35,36 +35,36 @@ Temper decides *the right thing*; vet decides *the right way to build it*.
|
|
|
35
35
|
|
|
36
36
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
37
37
|
Pull on demand: `principles.md` (the project
|
|
38
|
-
invariants gate
|
|
39
|
-
`coding-style.md` (the over-engineering / reuse-first / YAGNI rubric
|
|
38
|
+
invariants gate (how `.devrites/principles.md` is scored pass/fail), `patterns.md` +
|
|
39
|
+
`coding-style.md` (the over-engineering / reuse-first / YAGNI rubric) reuse the pack's
|
|
40
40
|
standard), `testing.md` (the test-coverage axis) + `spec-grammar.md` (when the spec uses
|
|
41
41
|
structured Requirement/Scenario blocks, each scenario is a coverage unit `test-plan.md` must
|
|
42
42
|
map), `performance.md` (the perf axis),
|
|
43
43
|
`error-handling.md` (failure-mode coverage), `development-workflow.md` (parallel lanes,
|
|
44
44
|
definition of done), `afk-hitl.md` (irreversible-risk list + gate ceiling),
|
|
45
|
-
`developer-experience.md` (when the plan ships a developer-facing surface
|
|
46
|
-
webhook / config / error messages / getting-started
|
|
47
|
-
`elicitation.md` (the move-set to deepen an axis finding or a risky design choice
|
|
45
|
+
`developer-experience.md` (when the plan ships a developer-facing surface (API / CLI / SDK /
|
|
46
|
+
webhook / config / error messages / getting-started) predict the DX scorecard here),
|
|
47
|
+
`elicitation.md` (the move-set to deepen an axis finding or a risky design choice: selected by
|
|
48
48
|
the section's risk: Tournament for two viable designs, Delphi for a shaky estimate, Assumption
|
|
49
49
|
Audit for a plan resting on unstated beliefs).
|
|
50
|
-
- `definition-of-done.md
|
|
50
|
+
- `definition-of-done.md`: standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
## Operating rules
|
|
54
54
|
- **Review the plan, not the spec's ambition.** The spec's scope/ambition is `$rite-temper`'s
|
|
55
55
|
job and is treated as settled here. Vet asks *given this scope, is this the right, simplest,
|
|
56
|
-
best-tested, lowest-risk way to build it
|
|
56
|
+
best-tested, lowest-risk way to build it*, and challenges only implementation scope creep.
|
|
57
57
|
- **You harden the plan directly; the reviewer judges.** Vet *is* the plan-hardening phase, so
|
|
58
58
|
behavior-preserving plan refinements (test requirements, tightened scope boundaries, ordering,
|
|
59
59
|
parallel lanes, error-handling + failure-mode coverage) are written straight into
|
|
60
|
-
`plan.md` / `tasks.md` / `test-plan.md
|
|
60
|
+
`plan.md` / `tasks.md` / `test-plan.md`. You are the single canonical writer. A finding that
|
|
61
61
|
changes **acceptance criteria or product behavior** is *not* a plan refinement: it routes
|
|
62
62
|
through the **Spec Drift Guard** (record in `drift.md`, recorded decision, then `$rite-plan
|
|
63
63
|
repair` for any structural reslice). Nothing that grows the build's scope lands without a
|
|
64
64
|
recorded human decision.
|
|
65
65
|
- **Confidence over assertion.** Every finding carries a confidence band; a finding you cannot
|
|
66
66
|
back by quoting the plan/spec line (or the code it references) is forced to low confidence and
|
|
67
|
-
suppressed from the main report
|
|
67
|
+
suppressed from the main report: see the verification gate in [`reference/review-axes.md`](reference/review-axes.md).
|
|
68
68
|
- **Bound rigor by reversibility.** Auth / migration / public-API / data-model touches get
|
|
69
69
|
maximum conservatism and always pause (irreversible-risk list), regardless of run mode.
|
|
70
70
|
- **Honest verdict, gated on the floor.** Never round "thin" up to "ready"; the axis verdict is
|
|
@@ -72,7 +72,7 @@ Audit for a plan resting on unstated beliefs).
|
|
|
72
72
|
|
|
73
73
|
## Workflow
|
|
74
74
|
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md`** first.
|
|
75
|
-
Then **run the shared orientation preamble
|
|
75
|
+
Then **run the shared orientation preamble**. It prints `state.md`, the artifacts present,
|
|
76
76
|
the run mode (HITL/AFK), and the open-question tally by gate, so you orient deterministically
|
|
77
77
|
instead of re-deriving state from raw Markdown:
|
|
78
78
|
```bash
|
|
@@ -82,53 +82,53 @@ Audit for a plan resting on unstated beliefs).
|
|
|
82
82
|
Then the workspace: `plan.md`, `tasks.md`, `spec.md`
|
|
83
83
|
(for intent + acceptance), `strategy.md` (if `$rite-temper` ran), `decisions.md`,
|
|
84
84
|
`assumptions.md`, `design-brief.md` (if UI), `state.md`. Require a `plan.md` whose
|
|
85
|
-
Readiness gate passes (or `Plan approved`)
|
|
85
|
+
Readiness gate passes (or `Plan approved`): else STOP → `$rite-define`. Prefer a
|
|
86
86
|
code-intelligence index if available (see
|
|
87
87
|
`.agents/skills/devrites-lib/reference/standards/tooling.md`) for placement / blast-radius / reuse checks.
|
|
88
|
-
1. **Calibrate depth
|
|
88
|
+
1. **Calibrate depth. Never skip this step.** See [`reference/depth.md`](reference/depth.md). Every plan is
|
|
89
89
|
vetted; what scales is the *depth*. A simple, single-module, reversible plan with no
|
|
90
90
|
irreversible-risk / data-model / new-pattern trigger → **light pass** (brief scope check + a
|
|
91
91
|
one-line scan per axis + the acceptance→test map). Any full-pass trigger (or `--full`) → the
|
|
92
92
|
**full pass** below. There is no skip: every feature leaves a recorded engineering verdict and
|
|
93
93
|
a `test-plan.md` coverage map.
|
|
94
|
-
2. **Scope Challenge (blocking gate)
|
|
94
|
+
2. **Scope Challenge (blocking gate):** [`reference/review-axes.md`](reference/review-axes.md)
|
|
95
95
|
§0. Search prior archived decisions for the plan's main nouns before asking the human to re-decide:
|
|
96
96
|
`devrites-engine decisions search "<2-4 plan nouns>"` (run `decisions index` first if needed).
|
|
97
97
|
What already exists that solves a sub-problem (reuse vs rebuild)? The minimum diff for the
|
|
98
98
|
stated acceptance? Complexity smell (the plan touches **>8 files** or adds **>2 new
|
|
99
99
|
services/modules**) → **STOP and ask** before any axis. Verify each new pattern / infra choice
|
|
100
100
|
against a built-in (dispatch `devrites-source-driven`); completeness check (with AI, full
|
|
101
|
-
coverage is ~100× cheaper than the human-hours saved by a shortcut
|
|
101
|
+
coverage is ~100× cheaper than the human-hours saved by a shortcut: prefer complete); and a
|
|
102
102
|
distribution check for any new artifact.
|
|
103
103
|
2a. **Cross-artifact analyze gate + principles / charter / conventions gate.** Before the axes, run
|
|
104
104
|
one read-only consistency+coverage pass over `spec.md` + `plan.md` + `tasks.md` (+ `traceability.md`
|
|
105
|
-
if present); any **CRITICAL
|
|
106
|
-
criterion, a contradiction across artifacts, a requirement stated twice with conflicting terms
|
|
105
|
+
if present); any **CRITICAL**: an acceptance criterion with no slice, a slice satisfying no
|
|
106
|
+
criterion, a contradiction across artifacts, a requirement stated twice with conflicting terms:
|
|
107
107
|
**blocks `$rite-build`** until resolved. The engine covers the deterministic floor (AC coverage,
|
|
108
108
|
orphan slices, vague adjectives); you add the semantic passes it can't: **terminology drift**
|
|
109
|
-
(the same concept named differently across artifacts
|
|
109
|
+
(the same concept named differently across artifacts: normalize to the spec's term) and
|
|
110
110
|
**duplicated or conflicting requirements**. Then score
|
|
111
111
|
the three project gates as explicit **pass/fail** on the planned approach:
|
|
112
|
-
- **Principles** (`.devrites/principles.md`, rubric in [`principles.md`](../devrites-lib/reference/standards/principles.md))
|
|
113
|
-
|
|
112
|
+
- **Principles** (`.devrites/principles.md`, rubric in [`principles.md`](../devrites-lib/reference/standards/principles.md)).
|
|
113
|
+
The authored invariants the project will not break. A plan that bakes in a violation of a
|
|
114
114
|
declared principle with **no recorded, human-approved exception** is a **top-severity** finding,
|
|
115
115
|
walked **first**, and **blocks `$rite-build`**. Absent or empty file → none declared → passes;
|
|
116
116
|
**never block for the absence of principles**. A genuine need to break one routes to a scoped,
|
|
117
|
-
dated exception in the principles register
|
|
117
|
+
dated exception in the principles register: never a silent work-around (adding the exception is
|
|
118
118
|
an irreversible-risk decision: it always pauses for a human, even in AFK).
|
|
119
119
|
- **The anti-slop charter** (`coding-style.md` + `prose-style.md`) and **the conventions ledger**
|
|
120
|
-
(`.devrites/conventions.md`)
|
|
120
|
+
(`.devrites/conventions.md`): a plan that bakes in a god-module, a speculative abstraction with
|
|
121
121
|
no second caller, or a dependency where an in-repo option exists is a **top-severity** violation.
|
|
122
122
|
**Re-check all three after the axes harden the plan** (post-design). Write the result to `analysis.md`.
|
|
123
123
|
```bash
|
|
124
124
|
devrites-engine analyze; echo "analyze rc=$?"
|
|
125
125
|
```
|
|
126
|
-
3. **Four-axis review
|
|
126
|
+
3. **Four-axis review:** [`reference/review-axes.md`](reference/review-axes.md), through the
|
|
127
127
|
senior-engineer lenses in [`reference/eng-lenses.md`](reference/eng-lenses.md): **Architecture
|
|
128
128
|
→ Plan code-quality → Test-coverage design → Performance**, ≤8 findings per axis, each
|
|
129
129
|
`[severity] (confidence: N/10) <ref> — finding`. **Walk findings WITH the human, one at a
|
|
130
130
|
time** via `AskUserQuestion` (best-guess + why + options with effort/risk/maintenance, mapped
|
|
131
|
-
to a rule)
|
|
131
|
+
to a rule): the artifact is the *output* of the review, not a substitute for it.
|
|
132
132
|
When an axis finding hinges on a genuinely open design choice or a shaky estimate, deepen that
|
|
133
133
|
one finding with a fitting technique from
|
|
134
134
|
[`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) (Tournament for two viable
|
|
@@ -136,7 +136,7 @@ Audit for a plan resting on unstated beliefs).
|
|
|
136
136
|
single-sourced in [`reference/depth.md`](reference/depth.md): hardening /
|
|
137
137
|
coverage-increasing findings auto-apply; **anything that grows scope or changes acceptance is a
|
|
138
138
|
blocking pause**; irreversible-risk always pauses.)
|
|
139
|
-
4. **Required outputs
|
|
139
|
+
4. **Required outputs:** write every shape and fold-back required by
|
|
140
140
|
[`reference/artifacts.md`](reference/artifacts.md), using the review rules in
|
|
141
141
|
[`reference/review-axes.md`](reference/review-axes.md). Ground parallelization in:
|
|
142
142
|
```bash
|
|
@@ -147,7 +147,7 @@ Audit for a plan resting on unstated beliefs).
|
|
|
147
147
|
4a. **Forge gate (only when `Forge: yes`).** Apply the eligibility and scorecard contract in
|
|
148
148
|
[`rite-build/reference/forge.md`](../rite-build/reference/forge.md). Confirm and record
|
|
149
149
|
genuinely distinct strategies, or clear the flag; an ineligible Forge never reaches build.
|
|
150
|
-
5. **Write `eng-review.md` + `test-plan.md`, fold back
|
|
150
|
+
5. **Write `eng-review.md` + `test-plan.md`, fold back:** [`reference/artifacts.md`](reference/artifacts.md).
|
|
151
151
|
`eng-review.md` is the durable record; `test-plan.md` is the build-readable coverage target
|
|
152
152
|
(`$rite-build` and `$rite-prove` read it). Harden `plan.md` / `tasks.md` directly for
|
|
153
153
|
behavior-preserving refinements; route every acceptance/behavior-changing delta through the
|
|
@@ -169,13 +169,13 @@ Audit for a plan resting on unstated beliefs).
|
|
|
169
169
|
failure-mode criticals; recommend `$rite-build`.
|
|
170
170
|
|
|
171
171
|
> **Mid-flight discipline.** When tempted to batch-dump findings into `eng-review.md` and skip
|
|
172
|
-
> the walk-through, harden the plan past a finding that
|
|
173
|
-
> quoting the source, or wave through a complexity smell "to keep moving"
|
|
172
|
+
> the walk-through, harden the plan past a finding that changes acceptance, score before
|
|
173
|
+
> quoting the source, or wave through a complexity smell "to keep moving": see
|
|
174
174
|
> [`reference/anti-patterns.md`](reference/anti-patterns.md).
|
|
175
175
|
|
|
176
176
|
## Output
|
|
177
177
|
|
|
178
|
-
**Progress first
|
|
178
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
179
179
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
180
180
|
Default success shape:
|
|
181
181
|
```
|
|
@@ -189,4 +189,4 @@ Record: .devrites/work/<slug>/eng-review.md
|
|
|
189
189
|
```
|
|
190
190
|
If a blocker or Spec Drift Guard delta remains, use the shared `Stopped / blocked`
|
|
191
191
|
form and route `Fix:` to `$rite-plan`; do not recommend `$rite-build`.
|
|
192
|
-
**DO NOT write code, slice, or run the build here
|
|
192
|
+
**DO NOT write code, slice, or run the build here**. That's `$rite-build`. Vet reviews and hardens the plan; it never implements.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# $rite-vet
|
|
1
|
+
# $rite-vet: 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 vet-specific ones.
|
|
6
6
|
|
|
7
7
|
## Phase rationalizations
|
|
@@ -9,21 +9,21 @@ reluctance is broader than this phase. Below are the vet-specific ones.
|
|
|
9
9
|
| Excuse | Rebuttal |
|
|
10
10
|
|---|---|
|
|
11
11
|
| "I'll write all the findings into `eng-review.md` and let the user read it." | The artifact is the *output* of an interactive review, not a substitute for it. A material 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 this skill exists to prevent. |
|
|
12
|
-
| "The plan doesn't handle X
|
|
13
|
-
| "It's an obvious fix
|
|
14
|
-
| "This dimension is thin but the others are strong
|
|
15
|
-
| "I can see it's adequate
|
|
16
|
-
| "8+ files but it all needs to change
|
|
17
|
-
| "There's no test for this, but the user can add one later." | Coverage is designed **now**, before the code, so the build writes tests alongside it. A deferred test is a test that misses the boundary cases writing-it-now would expose. Regressions are non-negotiable
|
|
18
|
-
| "Performance looks fine." | "Looks fine" is not a measurement. A perf finding is "measure X against budget Y" or it's nothing
|
|
12
|
+
| "The plan doesn't handle X: flag it." (without checking) | Quote the line first. If you can't quote where the plan handles X, you also can't be sure it doesn't: force confidence ≤4 and suppress. The "field/case doesn't exist" finding is the most common false positive; the verification gate exists to kill it. |
|
|
13
|
+
| "It's an obvious fix. I'll just edit the plan." | An obvious *plan refinement* (a test requirement, an error path, tighter scope) you write directly. That's vet's job. A fix that **changes an acceptance criterion or product behavior** is not obvious enough to skip the human: route it through the Spec Drift Guard with a recorded decision. |
|
|
14
|
+
| "This dimension is thin but the others are strong: net it's fine." | The gate is the **floor**, not the average. A plan `broken` on test-coverage does not pass because it's `strong` on architecture. |
|
|
15
|
+
| "I can see it's adequate. I'll note the band, the evidence is obvious." | Cite the quoted evidence **before** the band. Score-first-justify-later is how a reviewer waves through a plan it already likes. |
|
|
16
|
+
| "8+ files but it all needs to change: proceed." | The complexity smell is a **STOP-and-ask**, not a note. Name the overbuilt part, propose the smaller version that still meets acceptance, and let the human decide before any axis runs. Maybe it's justified (record *why*) but the gate fires first. |
|
|
17
|
+
| "There's no test for this, but the user can add one later." | Coverage is designed **now**, before the code, so the build writes tests alongside it. A deferred test is a test that misses the boundary cases writing-it-now would expose. Regressions are non-negotiable. Critical, no question. |
|
|
18
|
+
| "Performance looks fine." | "Looks fine" is not a measurement. A perf finding is "measure X against budget Y" or it's nothing: don't recommend speculative tuning, and don't wave past an N+1 you can quote. |
|
|
19
19
|
| "Cross-model agrees, so apply it." | Cross-model consensus is a strong *signal*, not an approval. Every cross-model finding is informational until the human approves it (or, in AFK, until the gate ceiling clears a hardening-only change). |
|
|
20
20
|
|
|
21
21
|
## Red flags
|
|
22
|
-
- `eng-review.md` / `test-plan.md` written but `plan.md` / `tasks.md` **not** hardened
|
|
22
|
+
- `eng-review.md` / `test-plan.md` written but `plan.md` / `tasks.md` **not** hardened: the build
|
|
23
23
|
follows the plan, so the review changed nothing.
|
|
24
|
-
- A finding raised with confidence ≥7 but **no quoted source line
|
|
24
|
+
- A finding raised with confidence ≥7 but **no quoted source line**, that defeats the verification gate.
|
|
25
25
|
- A scope-growing finding auto-applied in AFK (it must pause), or any irreversible-risk touch that didn't pause.
|
|
26
|
-
- A failure-mode table with rows but no verdict column filled
|
|
26
|
+
- A failure-mode table with rows but no verdict column filled: a "no test + no handling + silent" row not marked Critical.
|
|
27
27
|
- The reviewer loop running past 3 iterations, or the reviewer / cross-model being handed the author's reasoning (defeats the fresh-context point).
|
|
28
|
-
- The skill writing code, implementing a slice, or running the build
|
|
29
|
-
- Re-litigating the **spec's** scope/ambition
|
|
28
|
+
- The skill writing code, implementing a slice, or running the build. That's `$rite-build`. Vet reviews and hardens the plan; it never implements.
|
|
29
|
+
- Re-litigating the **spec's** scope/ambition, that was `$rite-temper`. Vet challenges *implementation* scope only.
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
`$rite-vet` produces two artifacts and a set of fold-back edits. `eng-review.md` is the durable
|
|
4
4
|
**record** of the review; `test-plan.md` is the build-readable **coverage target**; the
|
|
5
|
-
fold-back edits to `plan.md` / `tasks.md` are what the build
|
|
6
|
-
without the fold-back is dead prose
|
|
5
|
+
fold-back edits to `plan.md` / `tasks.md` are what the build follows. The record
|
|
6
|
+
without the fold-back is dead prose: the build reads `plan.md` + `test-plan.md`, not `eng-review.md`.
|
|
7
7
|
|
|
8
|
-
## `eng-review.md
|
|
8
|
+
## `eng-review.md`: the record
|
|
9
9
|
Write to `.devrites/work/<slug>/eng-review.md`. If one exists for the slug, **update** it, don't
|
|
10
10
|
clobber.
|
|
11
11
|
|
|
@@ -52,7 +52,7 @@ Sequential — no opportunity # OR the dependency table + lanes + order + conf
|
|
|
52
52
|
- Plan: hardened in place | <n> deltas via Spec Drift Guard
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
## `test-plan.md
|
|
55
|
+
## `test-plan.md`: the build-readable coverage target
|
|
56
56
|
Write to `.devrites/work/<slug>/test-plan.md`. `$rite-build` (the slice-wright) reads it to write
|
|
57
57
|
tests alongside the code; `$rite-prove` walks it against `evidence.md`. Keep it about *what to
|
|
58
58
|
test and where*, not implementation detail.
|
|
@@ -101,11 +101,11 @@ Order: launch A + B in parallel worktrees → merge → C
|
|
|
101
101
|
Conflicts: Lanes A and B both touch models/ — sequential or coordinate.
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
## Fold-back
|
|
104
|
+
## Fold-back: the part the build follows
|
|
105
105
|
Vet *is* the plan-hardening phase, so behavior-preserving refinements are written **directly**;
|
|
106
106
|
acceptance/behavior changes route through the **Spec Drift Guard**.
|
|
107
107
|
|
|
108
|
-
- **Write directly into `plan.md` / `tasks.md`** (single canonical writer
|
|
108
|
+
- **Write directly into `plan.md` / `tasks.md`** (single canonical writer: you, not the reviewer):
|
|
109
109
|
- `plan.md` §Scope boundaries ← "NOT in scope" items.
|
|
110
110
|
- `plan.md` §Architecture decisions ← reuse-over-rebuild calls + named failure scenarios.
|
|
111
111
|
- `plan.md` §Dependency graph / §Implementation order ← the parallel lanes + any ordering fix
|
|
@@ -117,18 +117,18 @@ acceptance/behavior changes route through the **Spec Drift Guard**.
|
|
|
117
117
|
- Re-run the `plan.md` Readiness gate after edits; it must still pass.
|
|
118
118
|
- **Route through the Spec Drift Guard** (record `drift.md` + a recorded decision, then `$rite-plan
|
|
119
119
|
repair` for any structural reslice) for anything that **changes an acceptance criterion, product
|
|
120
|
-
behavior, or the spec
|
|
120
|
+
behavior, or the spec**, including a scope reduction that drops a criterion. A folded change with
|
|
121
121
|
no recorded decision is the batch-dump failure.
|
|
122
|
-
- **`decisions.md
|
|
122
|
+
- **`decisions.md`:** one ADR per material call: `context · decision · why-not-the-alternative ·
|
|
123
123
|
what-would-change-it`.
|
|
124
|
-
- **`assumptions.md
|
|
124
|
+
- **`assumptions.md`:** every "we'll probably need X" demoted to an explicit assumption-to-verify,
|
|
125
125
|
never smuggled into scope as a fact.
|
|
126
126
|
|
|
127
127
|
## Write discipline
|
|
128
128
|
- **Single canonical writer.** The skill writes `eng-review.md` / `test-plan.md` and edits
|
|
129
129
|
`plan.md` / `tasks.md`; `devrites-plan-reviewer` is **read-only** and only returns findings + bands.
|
|
130
130
|
- **No silent scope.** A plan refinement that grows acceptance without a recorded decision, or a
|
|
131
|
-
deferral that drops a criterion without the Guard, is a defect
|
|
131
|
+
deferral that drops a criterion without the Guard, is a defect, not a convenience.
|
|
132
132
|
- Add `eng-review.md` + `test-plan.md` to the workspace between `tasks.md` and `state.md`.
|
|
133
133
|
`$rite-build` (the slice-wright) and `$rite-prove` **read `test-plan.md`** as the coverage
|
|
134
134
|
target; `$rite-review` and `$rite-seal` may consult `eng-review.md` for the failure-mode +
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# `--cross-model
|
|
1
|
+
# `--cross-model`: the outside voice (a genuinely different model)
|
|
2
2
|
|
|
3
|
-
`devrites-plan-reviewer` gives an *independent* read (fresh context, no authoring reasoning)
|
|
3
|
+
`devrites-plan-reviewer` gives an *independent* read (fresh context, no authoring reasoning):
|
|
4
4
|
but it's still the same model family. `--cross-model` adds a second opinion from a **different**
|
|
5
5
|
AI system, because two models agreeing on a plan is stronger signal than one model reviewing it
|
|
6
6
|
thoroughly. It is **opt-in** for `$rite-vet` (the flag) and **off by default in
|
|
7
|
-
`$rite-autocomplete`** unless the flag was armed
|
|
7
|
+
`$rite-autocomplete`** unless the flag was armed. It costs latency and a second runtime.
|
|
8
8
|
|
|
9
9
|
## When it runs
|
|
10
10
|
Only when `$ARGUMENTS` contains `--cross-model` **and** a different-model reviewer is available.
|
|
11
11
|
First run `devrites-engine reviewers list`; configured aliases there are preferred over ad-hoc
|
|
12
|
-
model choices. The default path (no flag) relies on `devrites-plan-reviewer` for independence
|
|
12
|
+
model choices. The default path (no flag) relies on `devrites-plan-reviewer` for independence:
|
|
13
13
|
that is a complete review on its own; cross-model is an enhancement, not a requirement.
|
|
14
14
|
|
|
15
15
|
## Dispatch
|
|
16
16
|
After the in-model reviewer loop converges (or in parallel with its final iteration), hand the
|
|
17
|
-
**same fresh inputs** to a different model
|
|
17
|
+
**same fresh inputs** to a different model: preferentially a configured `codex` reviewer alias,
|
|
18
18
|
then the `codex:codex-rescue` agent if no alias exists. Give it only the contract, never the
|
|
19
19
|
authoring reasoning:
|
|
20
20
|
|
|
@@ -23,14 +23,14 @@ authoring reasoning:
|
|
|
23
23
|
> boundaries, scope discipline & reuse, test-coverage design, performance, reversibility, and
|
|
24
24
|
> failure-mode coverage. For every finding, quote the line that motivates it and give a 1-10
|
|
25
25
|
> confidence; suppress anything you can't quote. Return labeled findings (Critical / Important /
|
|
26
|
-
> Suggestion) with a concrete fix. Do not edit anything. Do not approve
|
|
26
|
+
> Suggestion) with a concrete fix. Do not edit anything. Do not approve: find what will cost a redo.
|
|
27
27
|
|
|
28
28
|
If the agent / runtime is unavailable, **skip and say so** in `eng-review.md` ("cross-model:
|
|
29
|
-
requested but unavailable
|
|
29
|
+
requested but unavailable, in-model review only"); do not block on it and do not silently treat
|
|
30
30
|
the absence as a pass.
|
|
31
31
|
|
|
32
32
|
## Integration rule (the important one)
|
|
33
|
-
Cross-model findings are **informational until the human approves each one
|
|
33
|
+
Cross-model findings are **informational until the human approves each one**: even when you
|
|
34
34
|
agree with them, even when they overlap the in-model reviewer. Cross-model **consensus** is a
|
|
35
35
|
strong signal: surface it as such ("both reviewers flagged SLICE-003's missing timeout test"), but
|
|
36
36
|
the human still makes the call via `AskUserQuestion`. In AFK, the same gate ceiling applies:
|
|
@@ -39,5 +39,5 @@ scope* or changes acceptance is a blocking pause.
|
|
|
39
39
|
|
|
40
40
|
## Recording
|
|
41
41
|
In `eng-review.md` §6, note: which model ran, the overlap with the in-model reviewer (consensus
|
|
42
|
-
findings), and any **unique** findings the outside voice caught that the in-model pass missed
|
|
42
|
+
findings), and any **unique** findings the outside voice caught that the in-model pass missed:
|
|
43
43
|
those are the highest-value output of running it at all.
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
# Depth calibration
|
|
1
|
+
# Depth calibration: always vet, scale the rigor (never skip)
|
|
2
2
|
|
|
3
|
-
`$rite-vet` runs on **every** plan
|
|
3
|
+
`$rite-vet` runs on **every** plan: every feature deserves a correct engineering plan, not
|
|
4
4
|
just the big ones. What changes with stakes is the *depth*, never *whether* it runs: a simple,
|
|
5
5
|
reversible plan gets a fast **light pass**; a big or risky one gets the **full pass**. There is
|
|
6
6
|
no skip. This shared definition is used by both the standalone `$rite-vet` and the always-run
|
|
7
7
|
`$rite-autocomplete` step, so they agree on how deep to go.
|
|
8
8
|
|
|
9
9
|
A four-section deep-dive on a one-file reversible plan is wasteful; rubber-stamping a
|
|
10
|
-
migration-touching plan is dangerous. Match the effort to the stakes
|
|
10
|
+
migration-touching plan is dangerous. Match the effort to the stakes, but **always** leave a
|
|
11
11
|
recorded engineering verdict and a coverage plan.
|
|
12
12
|
|
|
13
13
|
## Full pass when ANY trips
|
|
14
|
-
- **Irreversible-risk contact
|
|
14
|
+
- **Irreversible-risk contact:** the plan touches anything on the `afk-hitl.md` irreversible-risk
|
|
15
15
|
list: destructive data migration, auth/authz boundary, public-API break, external-service
|
|
16
16
|
contract, filesystem destruction outside the workspace.
|
|
17
|
-
- **Data model
|
|
18
|
-
- **Cross-module blast radius
|
|
19
|
-
`../../devrites-lib/reference/standards/tooling.md`
|
|
17
|
+
- **Data model:** new/changed entities, relationships, or persistence shape.
|
|
18
|
+
- **Cross-module blast radius:** the impact (from a code-intelligence index if available (see
|
|
19
|
+
`../../devrites-lib/reference/standards/tooling.md`) or an honest estimate) crosses
|
|
20
20
|
module/service boundaries or has many dependents.
|
|
21
|
-
- **Complexity
|
|
21
|
+
- **Complexity:** `plan.md` touches **>8 files** or adds **>2 new services/modules/classes**.
|
|
22
22
|
- **Multi-slice / multi-day**, or a new dependency / pattern / second design system.
|
|
23
23
|
- **The user asked**, or `--full`.
|
|
24
24
|
|
|
25
25
|
Full pass = §0 scope challenge + all four axes (each walked finding-by-finding) + the failure-mode
|
|
26
26
|
table + parallelization + the reviewer loop. See [`review-axes.md`](review-axes.md).
|
|
27
27
|
|
|
28
|
-
## Light pass otherwise (the default for simple plans
|
|
28
|
+
## Light pass otherwise (the default for simple plans: still never a skip)
|
|
29
29
|
When none of the full-pass triggers fire, run the **light pass**: a fast but real engineering
|
|
30
30
|
check that still leaves a verdict and a coverage plan. In a handful of lines:
|
|
31
|
-
- **§0 scope challenge, in brief
|
|
31
|
+
- **§0 scope challenge, in brief:** confirm minimum diff + reuse (one line each); if a complexity
|
|
32
32
|
smell or missed reuse appears, escalate that to the full treatment.
|
|
33
|
-
- **One-line scan per axis** (architecture / plan code-quality / test-coverage / performance)
|
|
33
|
+
- **One-line scan per axis** (architecture / plan code-quality / test-coverage / performance):
|
|
34
34
|
"No issues" is a valid result, but you must look and say so per axis, not assume.
|
|
35
35
|
- **Always** produce the acceptance→test map + any regression-Criticals in `test-plan.md`. This is
|
|
36
|
-
the part that makes "a correct engineering plan for *everything*" real
|
|
36
|
+
the part that makes "a correct engineering plan for *everything*" real. It never downgrades,
|
|
37
37
|
light or full.
|
|
38
38
|
- Write the short `eng-review.md` (`Depth: light`) and harden `tasks.md` with the test requirements.
|
|
39
39
|
|
|
@@ -41,9 +41,9 @@ A light-pass finding that turns out to be real **escalates that axis to full tre
|
|
|
41
41
|
with the human, confidence-banded). Light means *less ceremony*, never *less honesty*.
|
|
42
42
|
|
|
43
43
|
## In `$rite-autocomplete`
|
|
44
|
-
Autocomplete runs `$rite-vet` after `$rite-define` on **every** feature
|
|
44
|
+
Autocomplete runs `$rite-vet` after `$rite-define` on **every** feature: light or full per the
|
|
45
45
|
triggers above, **never skipped**. Under the AFK gate ceiling:
|
|
46
|
-
- **Auto-apply (no pause):** hardening findings
|
|
46
|
+
- **Auto-apply (no pause):** hardening findings: added test requirements, error-handling /
|
|
47
47
|
failure-mode coverage, tightened scope, reuse-over-rebuild, dependency-order / parallel-lane fixes
|
|
48
48
|
(these never grow acceptance). Record the rationale in `decisions.md`.
|
|
49
49
|
- **Blocking pause:** any finding that **grows scope, adds a slice, changes an acceptance
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Senior-engineer lenses
|
|
1
|
+
# Senior-engineer lenses: how to *see* the findings
|
|
2
2
|
|
|
3
3
|
These are not extra checklist items. They are the instincts an experienced staff engineer
|
|
4
|
-
applies while reading a plan
|
|
4
|
+
applies while reading a plan: the pattern recognition that separates "read the plan" from
|
|
5
5
|
"caught the landmine". Apply them across all four axes in [`review-axes.md`](review-axes.md):
|
|
6
6
|
each lens turns a vague unease into a concrete, quotable finding.
|
|
7
7
|
|
|
@@ -14,11 +14,11 @@ each lens turns a vague unease into a concrete, quotable finding.
|
|
|
14
14
|
2. **Blast radius.** For every decision: what's the worst case, and how many systems / callers /
|
|
15
15
|
users does it touch? A change with wide blast radius and no rollback is a different risk class
|
|
16
16
|
than a leaf change. → Architecture / Reversibility.
|
|
17
|
-
3. **Reversibility preference.** Prefer the choice that's cheap to undo
|
|
18
|
-
migration, incremental rollout
|
|
17
|
+
3. **Reversibility preference.** Prefer the choice that's cheap to undo (feature flag, additive
|
|
18
|
+
migration, incremental rollout) over the one that's right only if you're right the first time.
|
|
19
19
|
Make the cost of being wrong low. → Architecture / Reversibility.
|
|
20
20
|
4. **Incremental over revolutionary.** Strangler-fig, not big-bang rewrite; refactor first, then
|
|
21
|
-
change behavior
|
|
21
|
+
change behavior: never both in one slice. If the plan does a structural rewrite and a behavior
|
|
22
22
|
change together, split them. → Plan code-quality / slice shape.
|
|
23
23
|
5. **Systems over heroes.** Design for a tired engineer at 3am, not your sharpest engineer on
|
|
24
24
|
their best day. A plan that only works if every step is done perfectly is fragile. Favor
|
|
@@ -27,9 +27,9 @@ each lens turns a vague unease into a concrete, quotable finding.
|
|
|
27
27
|
is this solving a real problem, or one we created? Accidental complexity is the cheapest thing
|
|
28
28
|
to cut. → Scope / Code-quality.
|
|
29
29
|
7. **Make the change easy, then make the easy change.** If a slice is hard because the surrounding
|
|
30
|
-
structure fights it, the first move is a (separate, behavior-preserving) refactor
|
|
30
|
+
structure fights it, the first move is a (separate, behavior-preserving) refactor: call it out
|
|
31
31
|
so the plan sequences it before the feature work, not tangled into it. → Plan code-quality.
|
|
32
|
-
8. **Failure is information.** Every new codepath fails *somehow* in production
|
|
32
|
+
8. **Failure is information.** Every new codepath fails *somehow* in production: timeout, nil,
|
|
33
33
|
race, stale data, partial write. The plan should name the failure and decide: test it, handle
|
|
34
34
|
it, or accept it loudly (never silently). → Failure-mode coverage.
|
|
35
35
|
9. **DX is product quality.** Slow CI, painful local dev, untestable seams → worse software over
|
|
@@ -43,6 +43,6 @@ each lens turns a vague unease into a concrete, quotable finding.
|
|
|
43
43
|
- A lens is a *prompt*, not a verdict. It turns "something's off here" into a finding you can
|
|
44
44
|
quote and band. If a lens fires, follow it to the specific plan line, then run it through the
|
|
45
45
|
confidence + verification gate.
|
|
46
|
-
- Don't recite the lenses in the output
|
|
46
|
+
- Don't recite the lenses in the output: recite the *findings* they produced.
|
|
47
47
|
- When a plan is genuinely clean against a lens, that's worth one line of evidence ("Reversibility:
|
|
48
|
-
additive migration + flag
|
|
48
|
+
additive migration + flag: strong"), not silence; it shows the lens was applied.
|