devrites 3.0.4 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -1
- package/README.md +280 -521
- package/SECURITY.md +91 -77
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +5 -5
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +101 -85
- package/docs/capability-surface-selection.md +3 -1
- package/docs/cli.md +20 -13
- package/docs/command-map.md +39 -35
- package/docs/engine/agent-contract.md +11 -9
- package/docs/engine/commands.md +92 -78
- package/docs/engine/state-schema.md +23 -19
- package/docs/engine/workspace-schema.md +12 -11
- package/docs/extensions.md +17 -17
- package/docs/flow.md +34 -23
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/porting-to-a-new-harness.md +6 -2
- package/docs/release.md +30 -12
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/templates/CRITIC_REVIEW_PACKET_TEMPLATE.md +35 -0
- package/docs/usage.md +56 -45
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +2 -0
- package/engine/internal/install/install_test.go +3 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +732 -55
- package/engine/internal/lib/packageexistence_test.go +343 -0
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/lib/util.go +1 -1
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +25 -27
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +13 -14
- package/pack/.claude/skills/rite/reference/menu.md +10 -10
- package/pack/.claude/skills/rite-adopt/SKILL.md +17 -18
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +25 -27
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +13 -14
- package/pack/generated/claude/skills/rite/reference/menu.md +10 -10
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +17 -18
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +28 -30
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +12 -13
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +16 -17
- package/pack/generated/codex/skills/rite/reference/menu.md +10 -10
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +20 -21
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +21 -4
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -5,19 +5,19 @@ argument-hint: "[task to frame | diff to audit]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-frame
|
|
8
|
+
# /rite-frame: frame the goal, audit the diff
|
|
9
9
|
|
|
10
10
|
LLMs reliably get four things wrong: they **assume** silently, **overcomplicate**, edit
|
|
11
11
|
**out of scope**, and run on an **unverifiable** "make it work". The full DevRites
|
|
12
12
|
lifecycle catches all four at its gates (spec readiness, the Spec Drift Guard,
|
|
13
13
|
`touched-files.md` + `devrites-engine reconcile`, `/rite-seal`). But the express lane and plain
|
|
14
|
-
"just do X" requests **skip those gates
|
|
14
|
+
"just do X" requests **skip those gates**, and a raw diff has no gate at all.
|
|
15
15
|
|
|
16
16
|
`rite-frame` is the gate's reflex made portable. Two moves, no workspace required:
|
|
17
17
|
|
|
18
|
-
- **FRAME** (before code)
|
|
18
|
+
- **FRAME** (before code): turn the imperative ask into a falsifiable success criterion
|
|
19
19
|
and the command that proves it. *"Give it success criteria and watch it go."*
|
|
20
|
-
- **AUDIT** (after the change)
|
|
20
|
+
- **AUDIT** (after the change): read the diff against the four failure modes; route each
|
|
21
21
|
finding to the DevRites cure that already exists for it.
|
|
22
22
|
|
|
23
23
|
It is a self-applied lens, not a subagent and not a phase. Light enough to run at the top
|
|
@@ -34,51 +34,51 @@ an adversarial second read (`devrites-doubt`) · a fresh-context axis review of
|
|
|
34
34
|
feature (`devrites-audit <security|perf|simplify>`) · the final GO/NO-GO (`/rite-seal`).
|
|
35
35
|
rite-frame is the *inline* reflex; those are the *gates*. Don't use it to dodge one.
|
|
36
36
|
|
|
37
|
-
## FRAME
|
|
37
|
+
## FRAME: before you touch code
|
|
38
38
|
|
|
39
39
|
Restate the ask as a check, not a chore. Convert the verb into a condition that can be
|
|
40
40
|
**false**:
|
|
41
41
|
|
|
42
42
|
| Imperative ask | Falsifiable success criterion |
|
|
43
43
|
|---|---|
|
|
44
|
-
| "Add validation" | "Inputs `{empty, oversize, wrong-type}` are rejected with a 4xx + message
|
|
45
|
-
| "Fix the bug" | "A test reproduces the bug (red now), and turns green after the fix
|
|
44
|
+
| "Add validation" | "Inputs `{empty, oversize, wrong-type}` are rejected with a 4xx + message: a test asserts each, and fails today." |
|
|
45
|
+
| "Fix the bug" | "A test reproduces the bug (red now), and turns green after the fix: nothing else changes." |
|
|
46
46
|
| "Make it faster" | "Operation X drops from `<measured baseline>` to `<target>` on `<named benchmark>`." |
|
|
47
47
|
| "Refactor X" | "The existing suite is green before and after; behavior is byte-identical." |
|
|
48
48
|
| "Clean this up" | *(no falsifiable criterion → the ask is ambiguous → mode 1 → ask what "clean" means, or route to `/rite-spec`)* |
|
|
49
49
|
|
|
50
50
|
Checklist (copy it):
|
|
51
51
|
|
|
52
|
-
- [ ] **Criterion
|
|
53
|
-
can't write one that could be false, the ask is ambiguous
|
|
52
|
+
- [ ] **Criterion**: one sentence: *"Done WHEN `<observable, falsifiable check>`."* If you
|
|
53
|
+
can't write one that could be false, the ask is ambiguous: **stop, name it, ask** (that
|
|
54
54
|
is failure mode 1, surfaced early instead of after the diff).
|
|
55
|
-
- [ ] **Verify command
|
|
55
|
+
- [ ] **Verify command**: the exact test / build / runtime / screenshot that decides it.
|
|
56
56
|
No command → no proof → you're about to confidence-assert. Name it now.
|
|
57
|
-
- [ ] **Scope boundary
|
|
58
|
-
- [ ] **Loop
|
|
57
|
+
- [ ] **Scope boundary**: the files/areas you will **not** touch. Anything outside is mode 3.
|
|
58
|
+
- [ ] **Loop**, with a falsifiable criterion you can iterate to green unattended; with a weak
|
|
59
59
|
one ("make it work") you'll need the user every few minutes. Sharpen the criterion until
|
|
60
60
|
it can drive the loop.
|
|
61
61
|
|
|
62
|
-
## AUDIT
|
|
62
|
+
## AUDIT: after the change
|
|
63
63
|
|
|
64
64
|
Read the diff (or `$ARGUMENTS`) against the four modes. One line per finding, severity-tagged
|
|
65
65
|
(`Critical / Important / Suggestion / Nit / FYI`), each routed to its existing cure. Full
|
|
66
66
|
map + worked examples: [`reference/failure-modes.md`](reference/failure-modes.md).
|
|
67
67
|
|
|
68
|
-
- [ ] **1 · Silent assumption
|
|
68
|
+
- [ ] **1 · Silent assumption**: did I pick one reading of an ambiguous ask and run with it?
|
|
69
69
|
Any value, contract, or behavior I *guessed*? → surface it; route material ones through
|
|
70
70
|
the Spec Drift Guard (`core.md` #2/#3).
|
|
71
|
-
- [ ] **2 · Overcomplication
|
|
71
|
+
- [ ] **2 · Overcomplication**: an abstraction / flag / indirection nobody asked for? 200 lines
|
|
72
72
|
where 50 would do? A defensive check inside trusted code? → apply the **deletion test**;
|
|
73
73
|
simplify (`coding-style.md`, `patterns.md`, `devrites-audit simplify`).
|
|
74
|
-
- [ ] **3 · Out-of-scope edit
|
|
74
|
+
- [ ] **3 · Out-of-scope edit**: did I touch code, comments, or formatting outside the ask?
|
|
75
75
|
"While I'm here" refactors? → revert to the boundary; record the rest as an FYI follow-up
|
|
76
76
|
(`core.md` #7, `touched-files.md`).
|
|
77
|
-
- [ ] **4 · Unverifiable goal
|
|
77
|
+
- [ ] **4 · Unverifiable goal**: is there a command that proves this, run, with output? Or am
|
|
78
78
|
I asserting "it works"? Tautological test that can't fail? → run the FRAME verify command;
|
|
79
79
|
record command + output (`testing.md`, evidence-over-confidence).
|
|
80
|
-
- [ ] **Principle check
|
|
81
|
-
invariant? A violation with no recorded, human-approved exception is a **Critical
|
|
80
|
+
- [ ] **Principle check**, if `.devrites/principles.md` exists, does the change break a declared
|
|
81
|
+
invariant? A violation with no recorded, human-approved exception is a **Critical**: the
|
|
82
82
|
express lane is not a way around a project gate; escalate it, don't ship it (`principles.md`).
|
|
83
83
|
|
|
84
84
|
The test for each changed line: **it traces directly to the criterion, and the criterion can
|
|
@@ -87,10 +87,10 @@ be proven false.** A line that fails either is a finding.
|
|
|
87
87
|
## Escalation
|
|
88
88
|
|
|
89
89
|
If FRAME can't produce a falsifiable criterion, or AUDIT surfaces a mode-1 / mode-3 issue that
|
|
90
|
-
is
|
|
90
|
+
is a hidden design decision (new dependency, data model, second design system, an
|
|
91
91
|
auth/migration/public-API touch), or a **declared-principle violation** with no recorded
|
|
92
92
|
exception → **STOP and route to `/rite-spec`** (a needed exception is a human-approved decision,
|
|
93
|
-
not an inline call). Same drift guard the express lane enforces
|
|
93
|
+
not an inline call). Same drift guard the express lane enforces: don't quietly grow an unframed
|
|
94
94
|
ask into unreviewed work.
|
|
95
95
|
|
|
96
96
|
## Rules
|
|
@@ -99,7 +99,7 @@ ask into unreviewed work.
|
|
|
99
99
|
active feature use `devrites-audit`.
|
|
100
100
|
- FRAME before code, AUDIT after. Running AUDIT without having framed the criterion first means
|
|
101
101
|
mode 4 has nothing to check against.
|
|
102
|
-
- A criterion that can't be false isn't a criterion
|
|
102
|
+
- A criterion that can't be false isn't a criterion. It's a wish. Rewrite it or ask.
|
|
103
103
|
- Feature/ask scope only. Out-of-scope findings become FYI follow-ups, never silent fixes.
|
|
104
104
|
|
|
105
105
|
## Output
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# The four failure modes
|
|
1
|
+
# The four failure modes: mapped to their DevRites cure
|
|
2
2
|
|
|
3
3
|
The lens behind `rite-frame`. Each mode is a thing LLMs reliably get wrong; each already
|
|
4
4
|
has a cure somewhere in the pack. The value of naming them here is a **portable
|
|
5
|
-
vocabulary
|
|
5
|
+
vocabulary**: a fast self-check you can run on ad-hoc or express-lane work that never
|
|
6
6
|
reaches the gates where those cures normally fire.
|
|
7
7
|
|
|
8
8
|
## The map
|
|
9
9
|
|
|
10
10
|
| # | Failure mode | The tell in a diff / a reply | Cure already in the pack |
|
|
11
11
|
|---|---|---|---|
|
|
12
|
-
| 1 | **Silent assumption** | A value, contract, edge case, or interpretation was *guessed* and run with
|
|
12
|
+
| 1 | **Silent assumption** | A value, contract, edge case, or interpretation was *guessed* and run with: no note, no question. The ask had two readings and one was picked silently. | `core.md` #2 (no silent assumptions) / #3 (no guessing through confusion); the Spec Drift Guard; `devrites-doubt` for a single high-stakes call; `devrites-interview` when the ask is underspecified. |
|
|
13
13
|
| 2 | **Overcomplication** | An abstraction, flag, config knob, or indirection nobody asked for. 200 lines where 50 would do. A single-use factory. Defensive `try/catch` + null checks inside trusted code. A dependency added where an in-repo option exists. | `coding-style.md` (simplicity, reuse-first), `patterns.md` (avoid over-engineering), `devrites-audit simplify` (deletion test, Chesterton's Fence), the "over-defensive guarding is slop" anti-pattern. |
|
|
14
14
|
| 3 | **Out-of-scope edit** | Touched code, comments, or formatting outside the ask. A "while I'm here" refactor. Renamed something orthogonal. Reflowed an import block. | `core.md` #7 (feature scope only), `touched-files.md` (the recorded diff boundary), `devrites-engine reconcile` (hard-stops a source file changed outside the claimed set), the "it's only a small refactor" anti-pattern. |
|
|
15
15
|
| 4 | **Unverifiable goal** | "It works" with no command, no output, no test. A success criterion that can't be false ("make it better"). A tautological test that passes no matter what. | `rite-spec/reference/acceptance-criteria.md` (measurable acceptance), `core.md` #6 (evidence over confidence), `testing.md` (assertion strength, see it fail first), the TDD wright. |
|
|
16
16
|
|
|
17
|
-
The first three are the **diseases** Karpathy named; the fourth is the **leverage
|
|
17
|
+
The first three are the **diseases** Karpathy named; the fourth is the **leverage**: a
|
|
18
18
|
falsifiable criterion is what lets the model loop to done without a human in the loop every
|
|
19
|
-
few minutes. FRAME front-loads mode 4 so the AUDIT of modes 1
|
|
19
|
+
few minutes. FRAME front-loads mode 4 so the AUDIT of modes 1-3 has something to check
|
|
20
20
|
against.
|
|
21
21
|
|
|
22
22
|
## FRAME: the imperative → falsifiable reframe
|
|
23
23
|
|
|
24
24
|
The move is to rewrite the *verb* as a *condition that can be false*. If you can't, the ask
|
|
25
|
-
is ambiguous
|
|
25
|
+
is ambiguous. That's mode 1, caught before the diff instead of after.
|
|
26
26
|
|
|
27
27
|
| Imperative ask | Weak (still a wish) | Falsifiable criterion + verify |
|
|
28
28
|
|---|---|---|
|
|
@@ -38,7 +38,7 @@ pass or fail without asking you what you meant. If they'd have to ask, sharpen i
|
|
|
38
38
|
|
|
39
39
|
## AUDIT: worked finding lines
|
|
40
40
|
|
|
41
|
-
Findings read like the rest of the pack
|
|
41
|
+
Findings read like the rest of the pack: one line, severity-tagged, cite `file:line`, route
|
|
42
42
|
to the cure. Severity ladder is the pack standard (`Critical / Important / Suggestion / Nit /
|
|
43
43
|
FYI`).
|
|
44
44
|
|
|
@@ -49,20 +49,20 @@ utils.ts:5 FYI mode 3 (scope): reflowed an unrelated import block. → r
|
|
|
49
49
|
sum.spec:12 Important mode 4 (unverifiable): test asserts `mock.called`, not the result — passes if the fn is empty. → assert the value; see it fail first (testing.md).
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
Clean lanes say so explicitly
|
|
52
|
+
Clean lanes say so explicitly (`1 assumption: clean`) so the audit is a positive
|
|
53
53
|
statement, not a silent skip.
|
|
54
54
|
|
|
55
55
|
## How this differs from the heavier tools (so you don't reach past it)
|
|
56
56
|
|
|
57
|
-
- **`devrites-doubt
|
|
57
|
+
- **`devrites-doubt`:** adversarial *fresh-context subagent* pre-mortem on **one** decision.
|
|
58
58
|
Heavier, independent, anti-anchoring. rite-frame is *self-applied* and covers the four modes
|
|
59
59
|
broadly; escalate a single load-bearing claim to doubt.
|
|
60
|
-
- **`devrites-audit <axis
|
|
60
|
+
- **`devrites-audit <axis>`:** *fresh-context subagent* review of an **active feature's** diff
|
|
61
61
|
on one axis (security / perf / simplify). Needs a `.devrites/` workspace. rite-frame needs no
|
|
62
|
-
workspace and runs in your own context
|
|
63
|
-
- **`/rite-review` · `/rite-seal
|
|
62
|
+
workspace and runs in your own context: cheaper, less independent.
|
|
63
|
+
- **`/rite-review` · `/rite-seal`:** the **gates**: parallel reviewer fan-out, blocking
|
|
64
64
|
severities, written verdict. rite-frame is the inline reflex for work that never reaches a
|
|
65
65
|
gate; it does not replace one. If the work is a real feature, the gate is the answer.
|
|
66
66
|
|
|
67
|
-
The point is not redundancy
|
|
67
|
+
The point is not redundancy. It's a tiered ladder. rite-frame is the cheapest rung: a lens
|
|
68
68
|
you run yourself in seconds. Climb to doubt / audit / the gates as the stakes rise.
|
|
@@ -6,14 +6,14 @@ disable-model-invocation: true
|
|
|
6
6
|
argument-hint: "[what the next session will focus on]"
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /rite-handoff
|
|
9
|
+
# /rite-handoff: chat-only context, into a fresh-agent doc
|
|
10
10
|
|
|
11
11
|
DevRites' workspace `.devrites/work/<slug>/` already captures everything that *should*
|
|
12
12
|
persist (spec, plan, tasks, decisions, evidence, drift, review). This skill captures
|
|
13
|
-
what the **chat** is holding that is **not** in the workspace, so a fresh agent
|
|
14
|
-
the same user after `/clear`
|
|
13
|
+
what the **chat** is holding that is **not** in the workspace, so a fresh agent (or
|
|
14
|
+
the same user after `/clear`) can pick the work up without re-reading the transcript.
|
|
15
15
|
|
|
16
|
-
Read `.claude/skills/devrites-lib/reference/standards/core.md` first
|
|
16
|
+
Read `.claude/skills/devrites-lib/reference/standards/core.md` first: its "Persistence before stopping" discipline is
|
|
17
17
|
exactly what this skill executes. The other rule files load on demand.
|
|
18
18
|
|
|
19
19
|
Then run `devrites-engine preamble` for deterministic workspace orientation.
|
|
@@ -25,7 +25,7 @@ Then run `devrites-engine preamble` for deterministic workspace orientation.
|
|
|
25
25
|
- **No active feature** → OS temp dir (`$TMPDIR` / `/tmp` / `%TEMP%`) as
|
|
26
26
|
`rite-handoff-<ISO-timestamp>.md`. Print the absolute path after writing.
|
|
27
27
|
|
|
28
|
-
## Before you write
|
|
28
|
+
## Before you write: sync, don't duplicate
|
|
29
29
|
|
|
30
30
|
For each of these, write the content into its **canonical home** first, then merely
|
|
31
31
|
*note* in the handoff that the sync happened:
|
|
@@ -51,20 +51,20 @@ themselves. The workspace is the canonical store; the handoff is the chat-only d
|
|
|
51
51
|
to the named focus. Where you were mid-thought, **quote the most recent next-step
|
|
52
52
|
verbatim** from the chat (the exact sentence describing what to do next) so no nuance
|
|
53
53
|
is lost to paraphrase.
|
|
54
|
-
2. **What just happened in this chat** (3
|
|
54
|
+
2. **What just happened in this chat** (3-5 bullets). Distil: do not transcribe.
|
|
55
55
|
3. **External references** that exist only in chat: URLs, Figma links, screenshot paths,
|
|
56
56
|
video timestamps the user pasted. List as references; do not embed.
|
|
57
57
|
4. **Live assumptions the agent is acting on** that the workspace doesn't reflect yet
|
|
58
|
-
(after the sync above, this section should be near-empty
|
|
58
|
+
(after the sync above, this section should be near-empty: flag anything that
|
|
59
59
|
remains).
|
|
60
|
-
5. **How to resume
|
|
60
|
+
5. **How to resume:** fixed boilerplate (see template below).
|
|
61
61
|
|
|
62
62
|
## What NOT to include
|
|
63
63
|
|
|
64
64
|
- Anything already in `spec.md`, `plan.md`, `tasks.md`, `state.md`, `decisions.md`,
|
|
65
|
-
`evidence.md`, `review.md
|
|
66
|
-
- `git diff` output
|
|
67
|
-
- The full conversation transcript
|
|
65
|
+
`evidence.md`, `review.md`: link by path instead.
|
|
66
|
+
- `git diff` output: the next agent runs `git diff` themselves.
|
|
67
|
+
- The full conversation transcript: distil.
|
|
68
68
|
- Secrets (API keys, tokens, PII, credentials). Redact aggressively.
|
|
69
69
|
- **New ideas the user didn't confirm.** A handoff records what *happened* and what's *next*.
|
|
70
70
|
Leave out fresh suggestions, scope the user didn't agree to, and redesigns you thought of. Capture
|
|
@@ -90,7 +90,7 @@ Record: <absolute path to handoff.md>
|
|
|
90
90
|
Print the absolute path in `Record:` so the user or next agent can open it without searching.
|
|
91
91
|
|
|
92
92
|
## Session hygiene
|
|
93
|
-
Close with the one-line hygiene advisory + the single resume command
|
|
93
|
+
Close with the one-line hygiene advisory + the single resume command. This skill *is* the
|
|
94
94
|
pre-`/clear` bridge, so it's where the advisory matters most (`context-hygiene.md`):
|
|
95
95
|
```
|
|
96
96
|
↻ Hygiene: /clear
|
|
@@ -6,10 +6,10 @@ user-invocable: true
|
|
|
6
6
|
disable-model-invocation: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# /rite-learn
|
|
9
|
+
# /rite-learn: the cross-feature learning loop
|
|
10
10
|
|
|
11
11
|
Recurring corrections, dismissed review findings, timeline decisions, and health dips are durable
|
|
12
|
-
signal. **Capture is automatic
|
|
12
|
+
signal. **Capture is automatic**: `/rite-seal` appends lessons to `.devrites/learnings.md` on every
|
|
13
13
|
GO (step 9a), while the engine can keep `.devrites/timeline.jsonl`,
|
|
14
14
|
`.devrites/health-history.jsonl`, and per-feature review fingerprints as supporting evidence. The
|
|
15
15
|
review skills load the learning ledger **before** a fan-out, so a dismissed-finding class stops
|
|
@@ -17,22 +17,22 @@ being re-flagged without anyone running a command. The system learns as it ships
|
|
|
17
17
|
|
|
18
18
|
`/rite-learn` is the periodic **review + promote** pass on that auto-populated ledger: cluster the
|
|
19
19
|
signal across features and decide which recurring lessons graduate into a project rule. **Propose,
|
|
20
|
-
never impose
|
|
20
|
+
never impose**: promotion is the human's call, which is why it stays a deliberate command rather
|
|
21
21
|
than firing on its own.
|
|
22
22
|
|
|
23
23
|
Read-mostly. It reads the auto-populated ledger + the archive; it writes only `.devrites/learnings.md`
|
|
24
|
-
(consolidation, via `devrites-engine learnings`) and drafts proposed rule/ledger edits for the user to confirm
|
|
24
|
+
(consolidation, via `devrites-engine learnings`) and drafts proposed rule/ledger edits for the user to confirm:
|
|
25
25
|
it never edits source or rule files on its own.
|
|
26
26
|
|
|
27
27
|
## Modes
|
|
28
28
|
|
|
29
|
-
- `/rite-learn` or `/rite-learn --mine
|
|
30
|
-
- `/rite-learn "<lesson>"
|
|
29
|
+
- `/rite-learn` or `/rite-learn --mine`: **mine + propose** (the default).
|
|
30
|
+
- `/rite-learn "<lesson>"`: **record one lesson** directly to the ledger and stop.
|
|
31
31
|
|
|
32
32
|
## Workflow (mine + propose)
|
|
33
33
|
|
|
34
34
|
1. **Gather the signal.** Start from the **auto-populated ledger** `.devrites/learnings.md` (seal
|
|
35
|
-
appends to it on every GO
|
|
35
|
+
appends to it on every GO: step 9a), then run `devrites-engine learnings mine` over the archive (it clusters
|
|
36
36
|
repeated finding / decision / drift phrases across shipped
|
|
37
37
|
features) to surface cross-feature patterns the per-feature entries don't show on their own:
|
|
38
38
|
```bash
|
|
@@ -42,38 +42,38 @@ it never edits source or rule files on its own.
|
|
|
42
42
|
`.devrites/work/*/review-fingerprints.jsonl` as supporting evidence when they exist; do not
|
|
43
43
|
promote from those traces without the same repeated-feature threshold.
|
|
44
44
|
2. **Cluster + name.** Group the recurring corrections into candidate lessons. A candidate needs
|
|
45
|
-
**≥2 occurrences across distinct features
|
|
45
|
+
**≥2 occurrences across distinct features**: one-offs are noise, not a pattern. Name the
|
|
46
46
|
pattern in one specific sentence (the specificity rule from `prose-style.md` applies: a lesson
|
|
47
47
|
you could swap onto any project says nothing).
|
|
48
48
|
**Completion:** every candidate cites two distinct features, except a single deliberate
|
|
49
49
|
rejected direction with its durable reason.
|
|
50
50
|
3. **Classify each candidate** into its durable home:
|
|
51
|
-
- **project rule
|
|
52
|
-
- **project principle
|
|
51
|
+
- **project rule:** a craft/standard that belongs in a `.claude/skills/devrites-lib/reference/standards/*` file or `CLAUDE.md`.
|
|
52
|
+
- **project principle:** a recurring correction that is really a *non-negotiable invariant*
|
|
53
53
|
(not just an idiom or a craft standard): graduate it to `.devrites/principles.md`
|
|
54
|
-
([`principles.md`](../devrites-lib/reference/standards/principles.md)). This is the **trusted, gating** layer
|
|
55
|
-
stakes than a rule
|
|
54
|
+
([`principles.md`](../devrites-lib/reference/standards/principles.md)). This is the **trusted, gating** layer (higher
|
|
55
|
+
stakes than a rule) so `/rite-learn` **drafts** the principle + a dated Governance entry for
|
|
56
56
|
the human to confirm; it never writes a principle silently.
|
|
57
|
-
- **conventions-ledger entry
|
|
58
|
-
- **dismissed-finding class
|
|
57
|
+
- **conventions-ledger entry:** a proven project idiom for `.devrites/conventions.md`.
|
|
58
|
+
- **dismissed-finding class:** a pattern reviewers keep flagging that is *intentional here*;
|
|
59
59
|
recording it stops the recurring false positive (`learnings.md`, loaded pre-fan-out).
|
|
60
|
-
- **rejected direction
|
|
60
|
+
- **rejected direction:** an approach or product direction weighed and ruled out with a
|
|
61
61
|
reason that outlives one feature; recording it (tag `rejected-direction`) stops ideation
|
|
62
62
|
skills (`/rite-pressure-test`, `/rite-pov`) from re-proposing it. Exempt from the
|
|
63
|
-
≥2-occurrence rule
|
|
64
|
-
- **drop
|
|
63
|
+
≥2-occurrence rule: one deliberate rejection is the whole pattern.
|
|
64
|
+
- **drop:** not durable; let it go.
|
|
65
65
|
4. **Propose, don't impose.** Present the candidates with their evidence (which features, how many
|
|
66
|
-
times, the proposed home) via `AskUserQuestion
|
|
66
|
+
times, the proposed home) via `AskUserQuestion`: the human picks which to promote. Never
|
|
67
67
|
promote a lesson to a rule silently; an unproven "lesson" hardened into a rule is its own slop.
|
|
68
68
|
**Completion:** every candidate is explicitly accepted, rejected, or deferred by the human.
|
|
69
69
|
5. **Record the accepted.** For each the user accepts, append it with `devrites-engine learnings add <slug>
|
|
70
70
|
"<lesson>" <tag>` (`tag` ∈ `rule | convention | dismiss`). If the user approves a **rule**,
|
|
71
71
|
**principle**, or **ledger** promotion, draft the exact edit and let the user confirm it through
|
|
72
|
-
the normal flow
|
|
72
|
+
the normal flow: `/rite-learn` writes the ledger, not the rule or principle files. A
|
|
73
73
|
**principle** promotion is the highest-stakes of these: draft the `.devrites/principles.md` entry
|
|
74
|
-
**plus its dated Governance line**, and let the human confirm before it lands
|
|
74
|
+
**plus its dated Governance line**, and let the human confirm before it lands: a principle is a
|
|
75
75
|
gate, so it is amended deliberately, never auto-written. **Amendment ripple:** a confirmed
|
|
76
|
-
add/change/retire of a principle has a blast radius
|
|
76
|
+
add/change/retire of a principle has a blast radius: grep its `P#` (and its key nouns) across
|
|
77
77
|
`.devrites/` and every open `.devrites/work/*/` workspace, and append to the same dated
|
|
78
78
|
Governance entry one line per referencing artifact: *still-aligned* or *needs-follow-up (what)*.
|
|
79
79
|
An open plan that bakes in the now-retired or now-tightened invariant is a `needs-follow-up`
|
|
@@ -87,11 +87,11 @@ The review skills (`/rite-review`, `/rite-seal`) read `.devrites/learnings.md` b
|
|
|
87
87
|
out: a **dismissed-finding class** suppresses the recurring false positive; a **proven
|
|
88
88
|
convention** raises the bar. The ideation skills (`/rite-pressure-test`, `/rite-pov`) read the
|
|
89
89
|
**rejected-direction** entries before proposing, so a ruled-out direction returns only with new
|
|
90
|
-
evidence against its recorded why. The ledger is an **untrusted prior
|
|
90
|
+
evidence against its recorded why. The ledger is an **untrusted prior**: a fresh observation of the
|
|
91
91
|
live code always overrides a ledger entry (see `.claude/skills/devrites-lib/reference/standards/security.md`). Confidence in a
|
|
92
92
|
recorded lesson never raises its authority.
|
|
93
93
|
|
|
94
|
-
A **project principle** (`.devrites/principles.md`) is the opposite layer
|
|
94
|
+
A **project principle** (`.devrites/principles.md`) is the opposite layer: prescriptive,
|
|
95
95
|
trusted, and **gating**. Promoting a lesson there is a deliberate amendment, not a prior the next
|
|
96
96
|
fan-out can override: a violation becomes a blocking finding, not a suppressed false positive.
|
|
97
97
|
That asymmetry is why principle promotion is human-confirmed and dated, never auto-written.
|
|
@@ -5,7 +5,7 @@ argument-hint: "[mode: decompose|reslice|repair|reorder|split|unblock|course-cor
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-plan
|
|
8
|
+
# /rite-plan: (re)plan an active feature
|
|
9
9
|
|
|
10
10
|
Reshape the plan when reality and the plan disagree. **Read the active workspace
|
|
11
11
|
first.** If `.devrites/ACTIVE` is empty or its workspace is missing, stop and tell the
|
|
@@ -17,17 +17,17 @@ editing source code.
|
|
|
17
17
|
Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD criteria.
|
|
18
18
|
|
|
19
19
|
## Operating rules
|
|
20
|
-
- Spec is living, not sacred
|
|
20
|
+
- Spec is living, not sacred, but never plan around a known-wrong assumption silently.
|
|
21
21
|
- If a change alters product behavior, scope, architecture, data model, UX, security,
|
|
22
22
|
or migration risk → **ask the user first** (use the Spec Drift Guard question format).
|
|
23
23
|
- Keep each slice small enough for one focused build → prove cycle.
|
|
24
|
-
- **Slice count is derived, never dictated
|
|
24
|
+
- **Slice count is derived, never dictated:** reslice when a slice fails the sizing rule
|
|
25
25
|
(multiple "and"s, can't build+prove in one cycle), not to hit a user-named tally. A
|
|
26
26
|
requested count is a hint at most; slice logically and explain if it differs. See
|
|
27
27
|
[`reference/slicing.md`](reference/slicing.md) ("How many slices?").
|
|
28
28
|
- **Size by complexity, order by dependency.** A slice carries a `Complexity: N/5` score (from
|
|
29
29
|
`/rite-define`); a slice scoring **>3** is a reslice trigger unless its inline reason justifies
|
|
30
|
-
the irreducible complexity. Honor each slice's `depends_on
|
|
30
|
+
the irreducible complexity. Honor each slice's `depends_on:`: the next *buildable* slice is the
|
|
31
31
|
lowest pending one whose dependencies are all built (keeps one-slice-at-a-time correct, not parallel).
|
|
32
32
|
|
|
33
33
|
## Workflow
|
|
@@ -35,35 +35,35 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
35
35
|
Then run `devrites-engine preamble` for deterministic workspace orientation.
|
|
36
36
|
1. Read `spec.md`, `plan.md`, `tasks.md`, `state.md`, `drift.md`, and the current
|
|
37
37
|
`git diff` (if a repo). Read `decisions.md` and `assumptions.md`. If a code-intelligence
|
|
38
|
-
index is available
|
|
38
|
+
index is available: `codebase-memory-mcp` first, cross-checked with `codegraph`
|
|
39
39
|
(`.codegraph/` / `codegraph_*` tools) + `graphify` (`graphify-out/`), else standard methods
|
|
40
|
-
(LSP / `Read`/`Grep`/`Glob`); see `.claude/skills/devrites-lib/reference/standards/tooling.md
|
|
40
|
+
(LSP / `Read`/`Grep`/`Glob`); see `.claude/skills/devrites-lib/reference/standards/tooling.md`:
|
|
41
41
|
prefer it for structural questions (what calls X, what would
|
|
42
42
|
changing Y break) over reading whole files, to keep planning context lean. For an external
|
|
43
43
|
dependency's current API surface, consult context7 if available.
|
|
44
44
|
2. **Pick the mode** (`$ARGUMENTS` or infer):
|
|
45
|
-
- **decompose
|
|
46
|
-
- **reslice
|
|
47
|
-
- **repair
|
|
48
|
-
- **reorder
|
|
49
|
-
- **split
|
|
50
|
-
- **unblock
|
|
51
|
-
- **course-correct
|
|
45
|
+
- **decompose:** first/again break the feature into vertical slices.
|
|
46
|
+
- **reslice:** a slice is too large; split into thinner end-to-end slices.
|
|
47
|
+
- **repair:** a Spec Drift Guard event; fold the resolution into plan + tasks.
|
|
48
|
+
- **reorder:** fix the dependency order.
|
|
49
|
+
- **split:** separate backend/frontend contracts (see `devrites-api-interface`).
|
|
50
|
+
- **unblock:** a verification failed; re-route around the blocker.
|
|
51
|
+
- **course-correct:** a deliberate mid-build *pivot* (the user changed their mind), distinct
|
|
52
52
|
from accidental drift: classify the change, assess its impact across the remaining slices,
|
|
53
53
|
decide rollback vs forward-fix, and update `spec.md` + `plan.md` + `tasks.md` + `decisions.md`
|
|
54
54
|
atomically. An acceptance/behavior change still goes through the user first. When the plan
|
|
55
55
|
names an `MVP cut`, offer it as the retreat option: falling back to the cut is a pre-agreed
|
|
56
56
|
scope, not a new negotiation.
|
|
57
|
-
- **revise
|
|
57
|
+
- **revise:** apply a requested planning-artifact revision and reconcile existing artifacts in
|
|
58
58
|
any direction; propose the file edit set first, confirm each file before writing, and **never
|
|
59
|
-
edit source code**. **Gate first
|
|
59
|
+
edit source code**. **Gate first: revise or new?** Same intent? >50% of existing scope
|
|
60
60
|
survives? original *not* completable without this? Two "no"s → new work: recommend
|
|
61
61
|
sealing/shipping the current workspace (MVP cut if named) then `/rite-spec` for the new
|
|
62
62
|
intent, and stop. Revise preserves context; a new workspace provides clarity.
|
|
63
63
|
See [replan-and-repair](reference/replan-and-repair.md) for each mode's steps.
|
|
64
|
-
3. Reason about dependencies
|
|
64
|
+
3. Reason about dependencies: [dependency-graph](reference/dependency-graph.md).
|
|
65
65
|
**Completion:** the slice graph is cycle-free and every dependency names an existing slice.
|
|
66
|
-
4. Re-slice using vertical-slice rules
|
|
66
|
+
4. Re-slice using vertical-slice rules: [slicing](reference/slicing.md) and
|
|
67
67
|
[task-breakdown](reference/task-breakdown.md). Prefer thin, shippable, verifiable.
|
|
68
68
|
**Completion:** every slice is independently shippable/provable or carries an irreducibility reason.
|
|
69
69
|
5. Update `plan.md`, `tasks.md`, `state.md`, and append rationale to `decisions.md`.
|
|
@@ -71,17 +71,17 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
71
71
|
6. If product behavior/acceptance criteria change, confirm with the user before writing.
|
|
72
72
|
**Completion:** the change is classified, and every behavior/acceptance change has explicit
|
|
73
73
|
confirmation recorded before the artifacts are updated.
|
|
74
|
-
7. **Done when
|
|
74
|
+
7. **Done when:** every slice is sized (builds + proves in one cycle; no slice scoring >3
|
|
75
75
|
left unjustified), the dependency order is acyclic, every `drift.md` entry you stopped for
|
|
76
76
|
is marked resolved, revised artifacts agree with each other, no source files changed in
|
|
77
77
|
`revise` mode, and behavior-change-vs-not is confirmed (`no`, or asked + answered).
|
|
78
|
-
If any check fails, loop back
|
|
78
|
+
If any check fails, loop back: don't hand off a half-reshaped plan.
|
|
79
79
|
|
|
80
|
-
> **Mid-flight discipline.** When tempted to change product behavior without asking, absorb drift silently, or skip the user
|
|
80
|
+
> **Mid-flight discipline.** When tempted to change product behavior without asking, absorb drift silently, or skip the user: see [`anti-patterns`](reference/anti-patterns.md). Load it the moment you reach for the excuse.
|
|
81
81
|
|
|
82
82
|
## Output
|
|
83
83
|
|
|
84
|
-
**Progress first
|
|
84
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
85
85
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
86
86
|
Default success shape:
|
|
87
87
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# rite-plan
|
|
1
|
+
# rite-plan: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing a non-trivial re-plan decision, or when the agent
|
|
4
4
|
feels reluctance toward asking the user before a behavior change.
|
|
@@ -9,7 +9,7 @@ Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../d
|
|
|
9
9
|
|
|
10
10
|
| Excuse | Rebuttal |
|
|
11
11
|
|---|---|
|
|
12
|
-
| "User didn't ask for a re-plan." | A Spec Drift Guard event *is* a re-plan trigger
|
|
12
|
+
| "User didn't ask for a re-plan." | A Spec Drift Guard event *is* a re-plan trigger: ask is courtesy, the route is automatic. |
|
|
13
13
|
| "I can fix the slice mid-build, no need to update tasks." | `tasks.md` is the contract `/rite-build` reads. A fix that isn't there isn't visible to the next phase. |
|
|
14
14
|
| "Reordering slices is cosmetic." | Dependency order controls risk discovery; risk-first wins because it surfaces blockers early. |
|
|
15
15
|
| "This drift is small enough to absorb silently." | Silent drift = unrecorded decision = future "why does this work?" debugging session. |
|
|
@@ -20,5 +20,5 @@ Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../d
|
|
|
20
20
|
- About to change product behavior, acceptance, or scope without asking the user.
|
|
21
21
|
- `drift.md` entry unresolved while planning the next slice.
|
|
22
22
|
- A "mode" invented that isn't one of `decompose / reslice / repair / reorder / split / unblock`.
|
|
23
|
-
- Slices reordered without updating dependency notes
|
|
23
|
+
- Slices reordered without updating dependency notes: order changed, rationale didn't.
|
|
24
24
|
- Repairing a drift event by silently widening the spec rather than narrowing the plan.
|
|
@@ -16,7 +16,7 @@ SLICE-006 (config) -> independent
|
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Within a tier: risk-first
|
|
19
|
-
Among slices that are equally unblocked, do the **riskiest** first
|
|
19
|
+
Among slices that are equally unblocked, do the **riskiest** first: the one most
|
|
20
20
|
likely to invalidate the plan (new integration, uncertain library behavior, migration).
|
|
21
21
|
Finding drift early is cheap; finding it at seal time is not.
|
|
22
22
|
|
|
@@ -8,7 +8,7 @@ First (or fresh) breakdown into vertical slices. Use `task-breakdown.md` +
|
|
|
8
8
|
|
|
9
9
|
## reslice
|
|
10
10
|
A slice proved too large (couldn't build+prove in one cycle, or its goal has multiple
|
|
11
|
-
"and"s). Split into thinner end-to-end slices, preserving acceptance coverage
|
|
11
|
+
"and"s). Split into thinner end-to-end slices, preserving acceptance coverage: split
|
|
12
12
|
**by the sizing rule, not to a target count**. Update `tasks.md`; renumber; fix
|
|
13
13
|
dependency edges.
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ A drift event stopped the build. Steps:
|
|
|
20
20
|
reality. Adjust acceptance criteria if they were wrong.
|
|
21
21
|
4. Mark the `drift.md` entry **resolved** with the resolution + date.
|
|
22
22
|
5. Resume at the corrected slice.
|
|
23
|
-
Never repair by quietly deleting the inconvenient requirement
|
|
23
|
+
Never repair by quietly deleting the inconvenient requirement, if behavior changes,
|
|
24
24
|
that was a user question.
|
|
25
25
|
|
|
26
26
|
## reorder
|
|
@@ -29,7 +29,7 @@ re-sort risk-first within tiers, update `plan.md`'s implementation order.
|
|
|
29
29
|
|
|
30
30
|
## split (backend/frontend contract)
|
|
31
31
|
A slice couples two sides too tightly. Define the contract first (shape, status codes,
|
|
32
|
-
errors
|
|
32
|
+
errors: `devrites-api-interface`), then split into a backend slice (can land with a
|
|
33
33
|
stub consumer) and a frontend slice (can land against a mock/real contract).
|
|
34
34
|
|
|
35
35
|
## unblock
|
|
@@ -25,41 +25,41 @@ A slice is the right size when it:
|
|
|
25
25
|
|
|
26
26
|
Too big if: it touches many unrelated files, or you can't name its single observable outcome.
|
|
27
27
|
**The "and" test:** if the slice's *name* needs an "and" ("create **and** list tasks"), it's two
|
|
28
|
-
slices
|
|
28
|
+
slices: split on the "and". → reslice.
|
|
29
29
|
|
|
30
30
|
Sizing isn't cosmetic. An agent builds a small or medium slice reliably in one pass but drifts on
|
|
31
31
|
an outsized one, which is why a slice over `Complexity: 3/5` reslices (the `tasks.md` slice format
|
|
32
32
|
in [`rite-define`](../../rite-define/SKILL.md)). Push every slice to the smallest cut that still
|
|
33
33
|
stands alone end-to-end.
|
|
34
34
|
|
|
35
|
-
## How many slices
|
|
35
|
+
## How many slices?: derive, don't dictate
|
|
36
36
|
The slice **count is an output, not an input.** It falls out of the work: one slice per
|
|
37
37
|
independently-shippable vertical increment that satisfies one (or a tight group of)
|
|
38
|
-
acceptance criteria and passes the sizing test above. A 2-criterion feature is 1
|
|
38
|
+
acceptance criteria and passes the sizing test above. A 2-criterion feature is 1-2 slices;
|
|
39
39
|
a 12-criterion feature is however many thin end-to-end cuts those 12 need.
|
|
40
40
|
|
|
41
41
|
- **Never slice to a target number.** Don't pad a small feature into "5 slices" or
|
|
42
42
|
compress a large one into "3" because a figure was named.
|
|
43
43
|
- **A user-supplied count is a hint at most.** If the user says "do it in 4", slice the
|
|
44
44
|
work logically first; if your honest decomposition differs, present the logical count
|
|
45
|
-
and *why*, then let them redirect
|
|
45
|
+
and *why*, then let them redirect: don't silently force their number.
|
|
46
46
|
- **Re-size by the rule, not the tally** (`/rite-plan reslice`): split a slice because it
|
|
47
47
|
failed the sizing test, not to hit a count.
|
|
48
48
|
|
|
49
|
-
Not to be confused with `.devrites/AFK` `max_slices
|
|
49
|
+
Not to be confused with `.devrites/AFK` `max_slices`. That's an AFK *iteration budget*
|
|
50
50
|
capping how many slices the unattended loop builds before it stops, **not** the plan's
|
|
51
51
|
decomposition. The plan always holds exactly the slices the work needs; `max_slices` only
|
|
52
52
|
limits how many run unattended.
|
|
53
53
|
|
|
54
54
|
## First slice
|
|
55
|
-
Make slice 1 the **thinnest useful end-to-end path
|
|
55
|
+
Make slice 1 the **thinnest useful end-to-end path**. It flushes out integration and
|
|
56
56
|
convention surprises early, while changes are cheap.
|
|
57
57
|
|
|
58
|
-
**Risk-first exception.** When the biggest risk is a technical *unknown
|
|
59
|
-
even do X?", "can we hit the latency target?"
|
|
58
|
+
**Risk-first exception.** When the biggest risk is a technical *unknown*: "will this library
|
|
59
|
+
even do X?", "can we hit the latency target?": let slice 1 (or a throwaway spike ahead of it)
|
|
60
60
|
prove that unknown, even if it isn't the thinnest user-facing path. Fail the risky bet first,
|
|
61
61
|
while pivoting is still cheap.
|
|
62
62
|
|
|
63
63
|
## Slice independence
|
|
64
64
|
Order by dependency, but minimize coupling. A slice that needs three other slices first
|
|
65
|
-
is a smell
|
|
65
|
+
is a smell: look for a thinner cut that stands alone.
|
|
@@ -24,10 +24,10 @@ This reference owns decomposition; the shared schema owns field names and meanin
|
|
|
24
24
|
## Keep it honest
|
|
25
25
|
- **Interfaces prevent cross-slice drift.** A slice-wright sees only its own contract; the
|
|
26
26
|
`Interfaces` line is how it learns the names and types neighboring slices use. A function
|
|
27
|
-
called `clearLayers()` in slice 3 and `clearFullLayers()` in slice 7 is a planning bug
|
|
27
|
+
called `clearLayers()` in slice 3 and `clearFullLayers()` in slice 7 is a planning bug:
|
|
28
28
|
name shared symbols once, here.
|
|
29
|
-
- Don't pre-write code in the task
|
|
29
|
+
- Don't pre-write code in the task: describe the outcome, not the implementation.
|
|
30
30
|
- Don't bundle "while we're here" work into a slice. That's scope creep; log it as a
|
|
31
31
|
follow-up instead.
|
|
32
|
-
- Don't slice to a target number
|
|
32
|
+
- Don't slice to a target number: the count comes from the capabilities + the sizing
|
|
33
33
|
rule (`slicing.md`), not a figure anyone named.
|