devrites 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# AFK discipline
|
|
1
|
+
# AFK discipline: running `/rite-build` unattended without burning the trunk
|
|
2
2
|
|
|
3
3
|
AFK mode is `.devrites/AFK` present. It lets `/rite-build` chain slices without per-slice
|
|
4
4
|
user input. The discipline below is what keeps an AFK loop from drifting into damage.
|
|
@@ -25,13 +25,13 @@ notify: "ntfy.sh/my-topic" # shell command run on awaiting_human trans
|
|
|
25
25
|
allow_gates: [advisory, validating] # gate severities AFK may auto-handle
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
`.devrites/AFK` is **read-only config
|
|
28
|
+
`.devrites/AFK` is **read-only config**: never rewritten in place. `max_slices` is the
|
|
29
29
|
initial budget; the mutable remaining count lives in `state.md` as `AFK slices remaining:
|
|
30
30
|
<n>`, seeded from `max_slices` on the first AFK build and decremented by `devrites-engine tick-afk`
|
|
31
31
|
(see "Iteration cap").
|
|
32
32
|
|
|
33
33
|
Defaults when keys are omitted:
|
|
34
|
-
- `max_slices`: unlimited (a missing cap is risky
|
|
34
|
+
- `max_slices`: unlimited (a missing cap is risky: see "Always cap iterations").
|
|
35
35
|
- `notify`: none.
|
|
36
36
|
- `allow_gates`: `[advisory]`.
|
|
37
37
|
|
|
@@ -44,13 +44,13 @@ into HITL.
|
|
|
44
44
|
remaining` by 1 each time a slice is marked `built`, by running
|
|
45
45
|
`devrites-engine tick-afk <state.md path>`. The script reads the
|
|
46
46
|
field, decrements, writes it back, prints the new value, and **exits `3` when it hits 0**.
|
|
47
|
-
The cap is enforced by `devrites-engine tick-afk`, not by prose
|
|
47
|
+
The cap is enforced by `devrites-engine tick-afk`, not by prose, when it exits 3:
|
|
48
48
|
|
|
49
49
|
- `/rite-build` treats exit 3 as a forced HITL stop:
|
|
50
50
|
```
|
|
51
51
|
AFK cap reached. Raise `state.md` `AFK slices remaining` or remove the sentinel to continue.
|
|
52
52
|
```
|
|
53
|
-
- The workspace stays consistent
|
|
53
|
+
- The workspace stays consistent: no half-built slice, no pending question.
|
|
54
54
|
|
|
55
55
|
Step 0 re-derives the remaining budget from `state.md` (seeding it from `.devrites/AFK`
|
|
56
56
|
`max_slices` on the first AFK build); `max_slices` itself is read-only and never rewritten.
|
|
@@ -66,7 +66,7 @@ types / lint are red. The reasoning:
|
|
|
66
66
|
|
|
67
67
|
- A red signal means either the slice's contract is wrong or the failing code is. Neither
|
|
68
68
|
is something AFK can resolve.
|
|
69
|
-
- Marking it `built` and letting the AFK loop chain to the next slice burns the trunk
|
|
69
|
+
- Marking it `built` and letting the AFK loop chain to the next slice burns the trunk:
|
|
70
70
|
the next slice builds on broken state.
|
|
71
71
|
|
|
72
72
|
The fail-on-red path:
|
|
@@ -92,7 +92,7 @@ any of:
|
|
|
92
92
|
rewriting `.gitignore`-listed paths, deleting fixtures).
|
|
93
93
|
- Anything the slice's `Gate: blocking` plus `tasks.md` `Why HITL:` flags as irreversible.
|
|
94
94
|
|
|
95
|
-
The list is the same one Claude Code auto-mode's transcript classifier protects
|
|
95
|
+
The list is the same one Claude Code auto-mode's transcript classifier protects: adapted
|
|
96
96
|
to DevRites's workspace shape.
|
|
97
97
|
|
|
98
98
|
## The `notify:` hook contract
|
|
@@ -117,13 +117,13 @@ Example targets:
|
|
|
117
117
|
- `osascript -e "display notification \"$DEVRITES_QUESTION\" with title \"DevRites: $DEVRITES_GATE\""`
|
|
118
118
|
- `pb push "$DEVRITES_SLUG: $DEVRITES_QUESTION"` (via pushbullet CLI)
|
|
119
119
|
|
|
120
|
-
DevRites owns no notification logic
|
|
120
|
+
DevRites owns no notification logic: the hook is a seam, not a feature.
|
|
121
121
|
|
|
122
122
|
## When to leave AFK
|
|
123
123
|
|
|
124
124
|
Drop the sentinel before:
|
|
125
125
|
|
|
126
|
-
- A novel feature where you have not yet seen `/rite-build` work on this codebase HITL
|
|
126
|
+
- A novel feature where you have not yet seen `/rite-build` work on this codebase HITL:
|
|
127
127
|
Ralph's progression: HITL first → refine prompt → AFK once trusted.
|
|
128
128
|
- A risky slice you marked `Mode: HITL` and want to walk through interactively even if
|
|
129
129
|
the gate is technically `validating`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# rite-build
|
|
1
|
+
# rite-build: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing a non-trivial implementation decision, or when the
|
|
4
4
|
agent feels reluctance toward stopping after one slice, applying TDD, or
|
|
@@ -19,18 +19,18 @@ generic AI naming, drive-by refactors): see
|
|
|
19
19
|
|
|
20
20
|
| Excuse | Rebuttal |
|
|
21
21
|
|---|---|
|
|
22
|
-
| "This slice is hard
|
|
22
|
+
| "This slice is hard. I'll forge it." | Hard ≠ forkable. Forge competes ≥2 *genuinely-different* approaches with no clear winner. One hard approach is single-path; building it K times wastes K× for one answer. |
|
|
23
23
|
| "I'm not sure which approach is right, so let me compete them and decide." | Forge is for a real fork the plan couldn't settle, not for dodging a decision you can make now. Decide from the code/docs first; forge only when the alternatives are genuinely undecidable on paper. |
|
|
24
|
-
| "Candidate A's data layer plus B's UI would be the best of both." | Don't hand-merge candidates
|
|
25
|
-
| "The judge already scored these, so I can skip the post-return doubt." | The judge picks *between* candidates; it doesn't replace doubting the winner's standing decisions. Steps 4
|
|
26
|
-
| "A fourth candidate might be even better." | K is capped at 3. A fourth rarely moves the winner and multiplies cost; if none of three is right, the plan is wrong
|
|
24
|
+
| "Candidate A's data layer plus B's UI would be the best of both." | Don't hand-merge candidates: two authors in one tree is the incoherence the single-writer rule exists to prevent. Land one winner whole; graft a *specific* runner-up idea only by continuing the winning wright once. |
|
|
25
|
+
| "The judge already scored these, so I can skip the post-return doubt." | The judge picks *between* candidates; it doesn't replace doubting the winner's standing decisions. Steps 4-7 run on the winner unchanged. |
|
|
26
|
+
| "A fourth candidate might be even better." | K is capped at 3. A fourth rarely moves the winner and multiplies cost; if none of three is right, the plan is wrong: `/rite-plan repair`, don't add candidates. |
|
|
27
27
|
|
|
28
28
|
## Red Flags
|
|
29
29
|
|
|
30
30
|
- About to start slice N+1 without the user asking.
|
|
31
31
|
- Skipping `devrites-doubt` on a branching, boundary, data-model, auth, public-API, or migration decision.
|
|
32
32
|
- Adding a dependency or a second design system without recording rationale in `decisions.md`.
|
|
33
|
-
- Writing a `try/catch` block wider than what you
|
|
33
|
+
- Writing a `try/catch` block wider than what you handle.
|
|
34
34
|
- A comment that restates what the next line does.
|
|
35
35
|
- Touching files that aren't in `touched-files.md` for "tidiness".
|
|
36
36
|
- Forging a slice with no acceptance / `test-plan.md` coverage for the judge to score against.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Checkpoint protocol
|
|
1
|
+
# Checkpoint protocol: what `/rite-build` does when a slice is HITL
|
|
2
2
|
|
|
3
3
|
When `/rite-build` reaches a slice with `Mode: HITL`, it does **not** start writing code. It
|
|
4
4
|
surfaces the checkpoint as a ranked **option set** and resolves it **before** any code lands:
|
|
5
5
|
|
|
6
|
-
- **Human present (interactive)
|
|
6
|
+
- **Human present (interactive):** ask inline via `AskUserQuestion` (the option set below).
|
|
7
7
|
The human picks; record the pick to `questions.md` (`answered`) + `decisions.md`, clear the
|
|
8
|
-
gate, and **continue building in place
|
|
9
|
-
- **Human absent / AFK-pausing / notify-only
|
|
8
|
+
gate, and **continue building in place**: no STOP, no `/rite-resolve` round-trip.
|
|
9
|
+
- **Human absent / AFK-pausing / notify-only:** persist the checkpoint (`questions.md` open +
|
|
10
10
|
`state.md` `Awaiting human`), fire the `notify:` hook, and **stop**. Resume later via
|
|
11
11
|
`/rite-resolve` (or `--batch`).
|
|
12
12
|
|
|
@@ -15,13 +15,13 @@ Either way the pause is **pre-action**, not post-action: code never lands before
|
|
|
15
15
|
## Render contract
|
|
16
16
|
|
|
17
17
|
The checkpoint must be rendered in user-facing output **and** persisted to the workspace.
|
|
18
|
-
Both are required
|
|
18
|
+
Both are required: the output is for the human in the room (or the notification target),
|
|
19
19
|
the persisted form is for the next session or the AFK observer.
|
|
20
20
|
|
|
21
|
-
### User-facing render
|
|
21
|
+
### User-facing render: the option set
|
|
22
22
|
|
|
23
23
|
Present the checkpoint as an `AskUserQuestion` with a ranked **option set**
|
|
24
|
-
(`afk-hitl.md` → "Option set"): 2
|
|
24
|
+
(`afk-hitl.md` → "Option set"): 2-4 options, **recommended first** + labelled `(Recommended)`,
|
|
25
25
|
each option's description carrying the dimension-tagged rationale + the trade-off it accepts,
|
|
26
26
|
plus the escape hatch. The header names the slice + gate:
|
|
27
27
|
|
|
@@ -35,7 +35,7 @@ Slice <N — name> — HITL (<gate>, SLA <SLA>). <Checkpoint text from tasks.md>
|
|
|
35
35
|
4. Something else — I'll describe it
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
The recommended option (#1) is **required
|
|
38
|
+
The recommended option (#1) is **required**: a checkpoint without a recommendation is a worse
|
|
39
39
|
interrupt than one with shape; the human reacts to a ranked draft faster than to a blank prompt
|
|
40
40
|
(the "give the human something to approve" rule). The recommendation reflects *this* project
|
|
41
41
|
(its conventions, stack, scale), not a generic default. On an interactive pick, resolve in
|
|
@@ -93,14 +93,14 @@ In one atomic write (one `state.md` rewrite + one `questions.md` append):
|
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
The hook fires after the workspace write so the notification target sees a workspace
|
|
96
|
-
that already records the pause. Failures in the hook **do not** roll back the pause
|
|
96
|
+
that already records the pause. Failures in the hook **do not** roll back the pause:
|
|
97
97
|
the gate is authoritative; the notification is best-effort.
|
|
98
98
|
|
|
99
99
|
## qid generation
|
|
100
100
|
|
|
101
101
|
Format: `q-YYYY-MM-DD-NNN`, where `NNN` is the next sequential integer for that date in
|
|
102
102
|
`questions.md`. For the write side, call
|
|
103
|
-
`devrites-engine resolve next-qid <questions.md path
|
|
103
|
+
`devrites-engine resolve next-qid <questions.md path>`. It
|
|
104
104
|
counts existing `## q-YYYY-MM-DD-` headers for today, prints the next zero-padded id, and
|
|
105
105
|
refuses to print an id whose header already exists. Use that id verbatim so each qid is
|
|
106
106
|
unique within the date.
|
|
@@ -114,7 +114,7 @@ If `.devrites/AFK` exists and the slice's `Gate` is in `allow_gates`, `/rite-bui
|
|
|
114
114
|
`decisions.md`, and **dispatch the wright** to build the slice (workflow step 3).
|
|
115
115
|
- For `validating` (only when `allow_gates` includes it): **dispatch the wright** (step 3); on
|
|
116
116
|
return, write a `gate: validating` entry to `questions.md`, mark the slice
|
|
117
|
-
`built (pending review)` in `state.md`, and continue. A slice's only states are `pending` and `built
|
|
117
|
+
`built (pending review)` in `state.md`, and continue. A slice's only states are `pending` and `built`:
|
|
118
118
|
acceptance is proven at the **feature** level by `/rite-prove` (recorded in
|
|
119
119
|
`evidence.md`), not per slice. The `built (pending review)` slice is not done until the
|
|
120
120
|
open `validating` gate resolves via `/rite-resolve`; an open `validating` gate is a
|
|
@@ -122,8 +122,8 @@ If `.devrites/AFK` exists and the slice's `Gate` is in `allow_gates`, `/rite-bui
|
|
|
122
122
|
|
|
123
123
|
For gates in `allow_gates`, AFK **auto-picks the recommended option** (option 1 of the set)
|
|
124
124
|
instead of pausing, recording it as above. For `blocking` and `escalating` (and every
|
|
125
|
-
irreversible-risk item), AFK **always** invokes the checkpoint protocol
|
|
126
|
-
not unlock these gates
|
|
125
|
+
irreversible-risk item), AFK **always** invokes the checkpoint protocol: the sentinel does
|
|
126
|
+
not unlock these gates: **unless `allow_irreversible: true`** is set, which makes AFK
|
|
127
127
|
auto-pick the recommendation on *every* gate, irreversible included (maximal autonomy, opt-in;
|
|
128
128
|
see `afk-hitl.md`). See `afk-discipline.md` for the irreversible-risk list.
|
|
129
129
|
|
|
@@ -141,7 +141,7 @@ written as a single block.
|
|
|
141
141
|
updates means the workspace lies on `/clear`.
|
|
142
142
|
- **Don't self-answer a question that *paused* for a human.** When a gate stopped the session
|
|
143
143
|
(an AFK queue, or a HITL pause the human walked away from), `/rite-resolve` requires an
|
|
144
|
-
explicit answer
|
|
144
|
+
explicit answer: the agent doesn't confirm its own `proposed:` on resume. This is distinct
|
|
145
145
|
from the two legitimate auto-resolutions: an interactive `AskUserQuestion` pick the human
|
|
146
146
|
just made, and an AFK auto-pick of the recommended option on a gate `allow_gates` permits.
|
|
147
147
|
- **Don't bundle the `notify:` hook output into chat.** Fire-and-forget; the chat already
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Checkpoint
|
|
1
|
+
# Checkpoint: crash-survivable WIP commits (opt-in)
|
|
2
2
|
|
|
3
3
|
`.devrites/` markdown survives compaction, but a slice's *source* stays uncommitted until
|
|
4
|
-
`/rite-ship`. A crash or killed session mid-build
|
|
4
|
+
`/rite-ship`. A crash or killed session mid-build: the AFK / `/rite-autocomplete` case:
|
|
5
5
|
loses that source **and** the reasoning behind it. Checkpoint mode commits each proven
|
|
6
6
|
slice as a local `WIP`, so the work and its context outlive the session.
|
|
7
7
|
|
|
8
8
|
## When it's on
|
|
9
|
-
Opt-in via the `.devrites/CHECKPOINT` sentinel
|
|
9
|
+
Opt-in via the `.devrites/CHECKPOINT` sentinel: the mirror of `.devrites/AFK`. Absent →
|
|
10
10
|
no checkpoints; `/rite-build` behaves exactly as before. A long unattended run
|
|
11
11
|
(`/rite-autocomplete`) is the case it earns its keep, so that path sets the sentinel for
|
|
12
|
-
the run. **Local-only by rule:** a checkpoint is never pushed
|
|
12
|
+
the run. **Local-only by rule:** a checkpoint is never pushed: scratch work must not
|
|
13
13
|
trigger CI.
|
|
14
14
|
|
|
15
|
-
## The checkpoint commit
|
|
15
|
+
## The checkpoint commit: orchestrator, at RECORD, after gates are green
|
|
16
16
|
A checkpoint records a **proven** slice; it fires only after PROVE is green, never on a red
|
|
17
17
|
gate. Stage only the slice's `touched-files.md`, then commit locally with a
|
|
18
18
|
`[devrites-context]` body a cold reader can restore from:
|
|
@@ -29,14 +29,14 @@ BODY
|
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
## Restore
|
|
32
|
-
The commit body is a durable record, not just a marker. After a crash, a fresh session
|
|
33
|
-
or `/rite-status
|
|
32
|
+
The commit body is a durable record, not just a marker. After a crash, a fresh session:
|
|
33
|
+
or `/rite-status`: reads the last `WIP(<slug>)` body to reconstruct the decisions,
|
|
34
34
|
remaining slices, and dead-ends that in-session `.devrites/` state would have held. No
|
|
35
35
|
special tooling: it's a git log entry any agent can read.
|
|
36
36
|
|
|
37
37
|
## Collapse at ship
|
|
38
38
|
WIP commits are scratch and never reach shared history. `/rite-ship` folds them into the
|
|
39
|
-
one atomic feature commit before the Conventional-Commit ladder
|
|
39
|
+
one atomic feature commit before the Conventional-Commit ladder: see the collapse step in
|
|
40
40
|
[git-ship.md](../../rite-ship/reference/git-ship.md). Result: one clean commit, bisect
|
|
41
41
|
stays green.
|
|
42
42
|
|
|
@@ -26,7 +26,7 @@ Evidence beats confidence. A slice isn't built until there's a record that prove
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## Honesty rules
|
|
29
|
-
- If a test fails, record the failure and the output
|
|
29
|
+
- If a test fails, record the failure and the output: don't hide it.
|
|
30
30
|
- If a step was skipped (no browser available, command not found), say so and record
|
|
31
31
|
the manual verification steps instead.
|
|
32
32
|
- Unproven acceptance criteria stay unchecked. The seal will catch them.
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
# Forge
|
|
1
|
+
# Forge: competing candidate builds for one slice
|
|
2
2
|
|
|
3
3
|
How `/rite-build` builds a slice that `/rite-vet` flagged `Forge: yes`: instead of one wright,
|
|
4
|
-
**K = 2
|
|
4
|
+
**K = 2-3 candidate wrights** each build the slice a genuinely different way in **isolation**, a
|
|
5
5
|
read-only judge scores them, and exactly **one** winner's diff lands in the working tree. Loaded
|
|
6
6
|
on demand by `/rite-build` step 3; the sibling of single-path
|
|
7
7
|
[`wright-dispatch.md`](wright-dispatch.md).
|
|
8
8
|
|
|
9
9
|
Forge is the **rare** path. Most slices are single-path (cheaper, and the default). A slice
|
|
10
|
-
forges only when the work is a genuine architecture fork
|
|
11
|
-
differ, no clear winner on paper, at high enough stakes that building the wrong one costs more
|
|
10
|
+
forges only when the work is a genuine architecture fork: two or three approaches that differ, no clear winner on paper, at high enough stakes that building the wrong one costs more
|
|
12
11
|
than building all of them. That judgment is made at `/rite-vet` and recorded as the slice's
|
|
13
12
|
`Forge:` field; build acts on the flag, it does not invent it.
|
|
14
13
|
|
|
15
14
|
## Why this doesn't break the single-writer invariant
|
|
16
15
|
|
|
17
|
-
DevRites forbids a parallel fan-out of writers **sharing one tree
|
|
16
|
+
DevRites forbids a parallel fan-out of writers **sharing one tree**: concurrent writers on one
|
|
18
17
|
working tree make conflicting implicit decisions and produce incoherent code
|
|
19
18
|
([`wright-dispatch.md`](wright-dispatch.md)). Forge keeps that invariant intact by **isolation**:
|
|
20
19
|
every candidate writes in its own worktree (or its own throwaway branch), never touching another
|
|
@@ -24,13 +23,13 @@ one slice."
|
|
|
24
23
|
|
|
25
24
|
## Trust the flag, but clear a stale one
|
|
26
25
|
|
|
27
|
-
Before competing anything, confirm the flag still earns its cost
|
|
26
|
+
Before competing anything, confirm the flag still earns its cost: `/rite-vet` set it, but the
|
|
28
27
|
plan may have moved:
|
|
29
28
|
|
|
30
|
-
- **No objective scorecard
|
|
29
|
+
- **No objective scorecard:** the slice has no acceptance criteria and no `test-plan.md`
|
|
31
30
|
coverage the judge can score against → clear `Forge` to `no`, build single-path. A competition
|
|
32
31
|
with no rubric is a coin toss with K× the cost.
|
|
33
|
-
- **Can't name two genuinely different strategies
|
|
32
|
+
- **Can't name two genuinely different strategies:** if the candidates would be variations of
|
|
34
33
|
one approach, there is nothing to compete → single-path.
|
|
35
34
|
- **Slice shrank below the bar** (now Complexity ≤3, or a dependency landed that picks the
|
|
36
35
|
approach) → single-path.
|
|
@@ -40,21 +39,21 @@ slice you can't score, and never forge to avoid making a decision the plan alrea
|
|
|
40
39
|
|
|
41
40
|
## Mechanics
|
|
42
41
|
|
|
43
|
-
The orchestrator runs F1
|
|
42
|
+
The orchestrator runs F1-F7. Steps 4-7 of the [one-slice-cycle](one-slice-cycle.md) (doubt,
|
|
44
43
|
fail-on-red, reconcile, record, stop) then run **unchanged** on the winner.
|
|
45
44
|
|
|
46
|
-
### F1
|
|
47
|
-
Take the 2
|
|
48
|
-
**distinct, complete approach** to the same slice contract
|
|
49
|
-
reuse-vs-build call, or algorithm
|
|
45
|
+
### F1: Confirm the K strategies
|
|
46
|
+
Take the 2-3 candidate strategies `/rite-vet` named (in the slice brief). Each must be a
|
|
47
|
+
**distinct, complete approach** to the same slice contract (a different seam, data shape,
|
|
48
|
+
reuse-vs-build call, or algorithm) not a tweak of one. Name them `A`, `B`, (`C`) with a
|
|
50
49
|
one-line description each. K is capped at 3: a fourth candidate rarely changes the winner and
|
|
51
50
|
multiplies cost.
|
|
52
51
|
|
|
53
|
-
### F2
|
|
52
|
+
### F2: Snapshot, then isolate each candidate
|
|
54
53
|
Snapshot the working tree first (the winner's landing is reconciled against it later), then give
|
|
55
54
|
each candidate its own isolated tree. **Prefer parallel isolated worktrees** when the harness can
|
|
56
55
|
dispatch a sub-agent with worktree isolation; the **always-available** path is one throwaway git
|
|
57
|
-
branch per candidate, built sequentially (slower, universally works
|
|
56
|
+
branch per candidate, built sequentially (slower, universally works: the
|
|
58
57
|
[`tooling.md`](../../devrites-lib/reference/standards/tooling.md) "fallback is first-class" discipline):
|
|
59
58
|
|
|
60
59
|
```bash
|
|
@@ -68,7 +67,7 @@ for C in A B; do
|
|
|
68
67
|
done
|
|
69
68
|
```
|
|
70
69
|
|
|
71
|
-
### F3
|
|
70
|
+
### F3: Dispatch K candidate wrights
|
|
72
71
|
Send **each** candidate the identical single-path slice contract from
|
|
73
72
|
[`wright-dispatch.md`](wright-dispatch.md), with **one** line added naming its assigned strategy
|
|
74
73
|
and its isolated tree:
|
|
@@ -81,32 +80,32 @@ candidate's work. Same discipline as always — orient → RED → implement sma
|
|
|
81
80
|
verify → return your structured artifact. Code + tests only.
|
|
82
81
|
```
|
|
83
82
|
|
|
84
|
-
Each is still **one wright, one tree
|
|
83
|
+
Each is still **one wright, one tree**: the invariant holds per candidate. Parallel where the
|
|
85
84
|
harness isolates them; otherwise build candidate A to green, capture its diff, reset to `BASE`,
|
|
86
85
|
then candidate B. A candidate that hits an irreversible-risk item escalates exactly as a
|
|
87
|
-
single-path wright does
|
|
86
|
+
single-path wright does: **forge never bypasses a gate** (see AFK below).
|
|
88
87
|
|
|
89
|
-
### F4
|
|
88
|
+
### F4: Judge (read-only, fresh context)
|
|
90
89
|
Dispatch [`devrites-forge-judge`](../../../agents/devrites-forge-judge.md) with the K finished
|
|
91
90
|
candidate diffs and the scorecard inputs (slice acceptance, `test-plan.md`, `.devrites/principles.md`,
|
|
92
91
|
the anti-slop charter). It scores each candidate, ranks them, names the **winner** and the
|
|
93
92
|
specific runner-up ideas worth grafting, and returns the structured verdict. The judge **never
|
|
94
|
-
writes code
|
|
93
|
+
writes code**. It reads the diffs and returns findings, like every reviewer agent. If sub-agent
|
|
95
94
|
dispatch is unavailable, do the judge's rubric pass yourself in a fresh read, discarding your
|
|
96
95
|
authoring reasoning (a flagged fallback, not an independent judgment).
|
|
97
96
|
|
|
98
|
-
### F5
|
|
97
|
+
### F5: Land the winner, graft sparingly
|
|
99
98
|
Apply **only** the winner's diff to the working tree (merge its worktree / cherry-pick its
|
|
100
99
|
branch). If the judge named a cheap, specific improvement in a runner-up, graft it by
|
|
101
|
-
**continuing the winning wright once** with that instruction
|
|
100
|
+
**continuing the winning wright once** with that instruction: never hand-merge two candidates'
|
|
102
101
|
code (that re-creates the incoherent-tree failure the invariant exists to prevent). The landed
|
|
103
102
|
tree has exactly one author: the winner (plus its own grafted follow-up).
|
|
104
103
|
|
|
105
|
-
### F6
|
|
104
|
+
### F6: Write `forge-report.md`
|
|
106
105
|
The durable record of the competition (template below). One per forged slice; archived with the
|
|
107
106
|
feature.
|
|
108
107
|
|
|
109
|
-
### F7
|
|
108
|
+
### F7: Clean up, then return to the cycle
|
|
110
109
|
Remove only clean losing worktrees / delete their candidate branches. If a losing worktree is dirty,
|
|
111
110
|
preserve it and record the path in `forge-report.md`; never `--force` away unlanded work.
|
|
112
111
|
|
|
@@ -152,18 +151,18 @@ slice that might be tempted to retry one>.
|
|
|
152
151
|
```
|
|
153
152
|
|
|
154
153
|
The **Discarded** section matters: it is a dead-end record at the slice level, the same role
|
|
155
|
-
`decisions.md` "Dead ends" plays for the feature
|
|
154
|
+
`decisions.md` "Dead ends" plays for the feature: a later slice shouldn't re-litigate an
|
|
156
155
|
approach forge already rejected.
|
|
157
156
|
|
|
158
157
|
## AFK & budget
|
|
159
158
|
|
|
160
159
|
- **Cost.** Forge multiplies the build by K. Under `.devrites/AFK`, each candidate counts against
|
|
161
160
|
the slice budget (`devrites-engine tick-afk` once per candidate dispatched), so a forge slice can exhaust the
|
|
162
|
-
cap faster
|
|
161
|
+
cap faster, that is intended back-pressure, not a bug.
|
|
163
162
|
- **Gates are unchanged.** Forge changes *how many candidates build*, never *what pauses*. An
|
|
164
163
|
irreversible-risk item, a blocking/escalating gate, or a red-on-completion in **any** candidate
|
|
165
164
|
pauses per [`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md) exactly as single-path. AFK widens what is
|
|
166
|
-
automatic, never what is irreversible
|
|
165
|
+
automatic, never what is irreversible: forge included.
|
|
167
166
|
- **Stuck loop still applies.** Re-dispatching the same candidate without progress trips
|
|
168
167
|
`devrites-engine stuck` the same as a single wright.
|
|
169
168
|
|
|
@@ -171,11 +170,11 @@ approach forge already rejected.
|
|
|
171
170
|
|
|
172
171
|
No git, or neither worktrees nor throwaway branches are usable → **degrade to single-path** and
|
|
173
172
|
say so. Forge is an accelerator for choosing between real alternatives; it is never a requirement
|
|
174
|
-
for building the slice. A slice always has a single-path build available
|
|
173
|
+
for building the slice. A slice always has a single-path build available: the competition is the
|
|
175
174
|
optional part.
|
|
176
175
|
|
|
177
176
|
## Anti-patterns
|
|
178
177
|
|
|
179
|
-
See [`anti-patterns.md`](anti-patterns.md) § Forge
|
|
178
|
+
See [`anti-patterns.md`](anti-patterns.md) § Forge: the short version: don't forge a decided or
|
|
180
179
|
trivial slice, don't forge to dodge a decision, don't hand-merge candidates, don't exceed K=3,
|
|
181
180
|
and don't let a forged slice skip the post-return doubt because "the judge already looked."
|
|
@@ -12,7 +12,7 @@ A slice is **frontend/UI** if it touches or plans to touch any of:
|
|
|
12
12
|
|
|
13
13
|
## When triggered
|
|
14
14
|
- `/rite-spec` applies **`devrites-ux-shape`** (spec step 3a) to write the feature-level
|
|
15
|
-
**`design-brief.md`** before any code
|
|
15
|
+
**`design-brief.md`** before any code: design direction, key states, interaction model,
|
|
16
16
|
optional Figma/image visual-direction probe.
|
|
17
17
|
- `/rite-build` applies **`devrites-frontend-craft`**, building **to** that `design-brief.md`
|
|
18
18
|
(register detection, refine the brief per slice, existing design system, all states,
|
|
@@ -31,7 +31,7 @@ If the slice spans both layers, it's both a frontend **and** a backend slice. De
|
|
|
31
31
|
`devrites-frontend-craft/reference/fullstack.md`.
|
|
32
32
|
|
|
33
33
|
## When NOT triggered
|
|
34
|
-
Pure backend/data/CLI/infra slices skip craft and browser proof
|
|
34
|
+
Pure backend/data/CLI/infra slices skip craft and browser proof, but still get tests
|
|
35
35
|
and evidence. If unsure whether a slice is "UI enough", treat copy/empty/error states
|
|
36
36
|
and any rendered output as UI.
|
|
37
37
|
|
|
@@ -27,12 +27,12 @@ STOP → report + recommend next; do not start slice N+1
|
|
|
27
27
|
## Why stop after one slice
|
|
28
28
|
- Keeps the diff reviewable (~one capability, roughly ≤100 lines of meaningful change).
|
|
29
29
|
- Surfaces integration/drift problems while they're cheap.
|
|
30
|
-
- Gives the user a decision point
|
|
31
|
-
- Prevents the "90% done" pile-up where nothing is
|
|
30
|
+
- Gives the user a decision point. They may reprioritize, reslice, or polish now.
|
|
31
|
+
- Prevents the "90% done" pile-up where nothing is proven.
|
|
32
32
|
|
|
33
33
|
## Restate the scope boundary
|
|
34
34
|
Before coding, write what this slice will and will **not** touch. This is the contract
|
|
35
|
-
you check yourself against
|
|
35
|
+
you check yourself against: anything outside it is scope creep or a drift event.
|
|
36
36
|
|
|
37
37
|
## When the slice can't be completed cleanly
|
|
38
38
|
- Discovered the plan is wrong → **Spec Drift Guard** (stop, record, classify, maybe
|
|
@@ -38,4 +38,4 @@ For a **forged slice**, the `Built` line names the competition and points at the
|
|
|
38
38
|
`Done: built slice 3 — csv-streaming (forged: 3 candidates, winner B).` and
|
|
39
39
|
`Record: .devrites/work/<slug>/forge-report.md`.
|
|
40
40
|
|
|
41
|
-
**DO NOT continue to the next slice automatically
|
|
41
|
+
**DO NOT continue to the next slice automatically**: even at `✅ ALL BUILT`, `/rite-prove` is the user's call.
|