devrites 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -11,17 +11,17 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
11
11
|
|
|
12
12
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
13
13
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
14
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
15
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
14
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
15
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
16
16
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
17
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
17
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
# $rite-autocomplete
|
|
20
|
+
# $rite-autocomplete: full lifecycle, unattended
|
|
21
21
|
|
|
22
22
|
Drives every DevRites phase in order without stopping for discretionary input. The
|
|
23
|
-
prompt may be vague
|
|
24
|
-
runs to completion. It does **not** disable the safety gates: hard irreversible-risk,<!-- pack-scan-ignore: negated statement
|
|
23
|
+
prompt may be vague: autocomplete asks its clarifying questions **up front**, then
|
|
24
|
+
runs to completion. It does **not** disable the safety gates: hard irreversible-risk,<!-- pack-scan-ignore: negated statement: gates are NOT disabled -->
|
|
25
25
|
blocking / escalating gates, and any NO-GO still pause.
|
|
26
26
|
|
|
27
27
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
@@ -30,15 +30,15 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
30
30
|
## Operating rules
|
|
31
31
|
- **One human window.** Clarifying questions are batched up front via
|
|
32
32
|
`devrites-interview`. After that, discretionary decisions are made automatically and
|
|
33
|
-
recorded in `decisions.md
|
|
33
|
+
recorded in `decisions.md`, not asked. See [reference/decision-policy.md](reference/decision-policy.md).
|
|
34
34
|
- **Safety gates are not bypassable.** AFK never auto-passes destructive migration /
|
|
35
35
|
auth-authz change / public-API break / external-contract change / red tests; blocking
|
|
36
36
|
and escalating gates and any open `gate: validating` always pause. `--ship` auto-confirms
|
|
37
|
-
the **final** type-GO only
|
|
38
|
-
principle (`.devrites/principles.md`) with no recorded exception pauses too
|
|
37
|
+
the **final** type-GO only: nothing else. A change that violates a declared project
|
|
38
|
+
principle (`.devrites/principles.md`) with no recorded exception pauses too: autocomplete
|
|
39
39
|
never grants a principle exception on its own (`principles.md`: that's a human decision).
|
|
40
40
|
- **Loop budget = the plan's own slice count, not a fixed number.** After `$rite-vet`
|
|
41
|
-
(not `$rite-define
|
|
41
|
+
(not `$rite-define`: vet may split or add slices, so the count isn't final until then),
|
|
42
42
|
set the AFK budget to however many slices the plan has, so the loop builds exactly the
|
|
43
43
|
task's slices and stops when they're done. `--max-slices N` is an OPTIONAL *lower* safety
|
|
44
44
|
cap (partial / babysat run); omit it to run the whole plan. The budget is finite
|
|
@@ -46,13 +46,13 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
46
46
|
- **Best option, recorded.** For each discretionary choice, pick the option the relevant
|
|
47
47
|
specialist / reviewer favours and record the rationale. Never silently coin-flip.
|
|
48
48
|
- **Strategic review runs, but never auto-grows scope.** After `$rite-spec`, run `$rite-temper`
|
|
49
|
-
(significance-gated
|
|
49
|
+
(significance-gated; it skips low-stakes specs in one line). Unattended it auto-applies only
|
|
50
50
|
`hold-rigor` + `reduce-to-MVP` (these never grow acceptance); **any `expand` is a blocking
|
|
51
51
|
pause**, and irreversible-risk findings always pause. Autocomplete hardens and may *prune* the
|
|
52
52
|
spec on its own; it never *expands* the build's scope without the human.
|
|
53
53
|
- **Engineering review runs on every plan, but never auto-grows scope.** After `$rite-define`,
|
|
54
|
-
run `$rite-vet` on **every** feature (depth scales
|
|
55
|
-
big/risky; never skipped). Unattended it auto-applies only *hardening* findings
|
|
54
|
+
run `$rite-vet` on **every** feature (depth scales: a light pass on simple plans, full rigor on
|
|
55
|
+
big/risky; never skipped). Unattended it auto-applies only *hardening* findings: added test
|
|
56
56
|
requirements, error-handling / failure-mode coverage, tightened scope, reuse-over-rebuild,
|
|
57
57
|
ordering / parallel-lane fixes (these never grow acceptance); **any finding that grows scope,
|
|
58
58
|
adds a slice, or changes acceptance is a blocking pause**, and irreversible-risk findings always
|
|
@@ -64,11 +64,11 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
64
64
|
type-GO), `--max-slices N` (OPTIONAL *lower* safety cap for a partial run; default =
|
|
65
65
|
the plan's slice count, i.e. run all planned slices).
|
|
66
66
|
2. **Clarify up front.** If the idea is underspecified, run `devrites-interview` to
|
|
67
|
-
~95% confidence
|
|
67
|
+
~95% confidence: the only interactive window. If already clear, skip.
|
|
68
68
|
3. **Arm AFK.** Write `.devrites/AFK` with `allow_gates: [advisory]`; set the slice budget
|
|
69
69
|
from the plan's count after `$rite-vet` (the slice count is only final post-vet), or from
|
|
70
70
|
an explicit `--max-slices` ([reference/loop.md](reference/loop.md)). validating / blocking / escalating +
|
|
71
|
-
irreversible-risk still pause. Also `touch .devrites/CHECKPOINT
|
|
71
|
+
irreversible-risk still pause. Also `touch .devrites/CHECKPOINT`: an unattended run is the
|
|
72
72
|
case checkpoint mode earns its keep, so each proven slice is committed local-only as
|
|
73
73
|
crash-survivable `WIP` ([rite-build/reference/checkpoint.md](../rite-build/reference/checkpoint.md));
|
|
74
74
|
`$rite-ship` collapses them into the one feature commit.
|
|
@@ -84,12 +84,12 @@ blocking / escalating gates, and any NO-GO still pause.
|
|
|
84
84
|
type-GO. Without it, render the type-GO prompt and stop for the human.
|
|
85
85
|
|
|
86
86
|
> **Mid-flight discipline.** When tempted to auto-pass a blocking gate "to keep moving",
|
|
87
|
-
> answer a material question yourself instead of pausing, or run past red tests
|
|
87
|
+
> answer a material question yourself instead of pausing, or run past red tests: stop.
|
|
88
88
|
> Autonomy is for the routine path; the gates exist for everything else.
|
|
89
89
|
|
|
90
90
|
## Output
|
|
91
91
|
A compact phase-by-phase log, then the final status. **Progress first for the final
|
|
92
|
-
status
|
|
92
|
+
status**: run `devrites-engine progress`, then use the shared typed states from
|
|
93
93
|
[`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md):
|
|
94
94
|
`Shipped`, `Stopped`, `Awaiting human`, `NO-GO`, or `GO`.
|
|
95
95
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Decision policy
|
|
1
|
+
# Decision policy: how autocomplete "chooses the best option"
|
|
2
2
|
|
|
3
3
|
Unattended ≠ careless. Every discretionary choice is made the way a senior engineer
|
|
4
4
|
would, then **recorded** so the seal can audit it. The difference from interactive mode
|
|
5
|
-
is only *who answers* a discretionary question
|
|
5
|
+
is only *who answers* a discretionary question, not whether it's reasoned.
|
|
6
6
|
|
|
7
7
|
## The rule
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ not pick the option that's merely easiest to implement.
|
|
|
20
20
|
|
|
21
21
|
## Defaults autocomplete may assume (record them)
|
|
22
22
|
|
|
23
|
-
- Follow the project's existing conventions, components, and test commands
|
|
23
|
+
- Follow the project's existing conventions, components, and test commands: always.
|
|
24
24
|
- Prefer the smallest vertical slice that proves the acceptance criterion.
|
|
25
25
|
- Reuse → extend → build new, in that order (`coding-style.md`).
|
|
26
26
|
- When two options are equivalent on the evidence, choose the lower-risk / more
|
|
@@ -29,7 +29,7 @@ not pick the option that's merely easiest to implement.
|
|
|
29
29
|
## When a choice is NOT autocomplete's to make
|
|
30
30
|
|
|
31
31
|
If a discretionary choice would change **product behaviour, scope, data model, security
|
|
32
|
-
posture, or acceptance criteria**, it is no longer discretionary
|
|
32
|
+
posture, or acceptance criteria**, it is no longer discretionary. It is a material
|
|
33
33
|
question. Route it through the Spec Drift Guard / a `blocking` question and **stop**
|
|
34
34
|
(see [stop-conditions.md](stop-conditions.md)). Autocomplete answers *how*, never
|
|
35
35
|
*what to build* beyond what the up-front interview settled.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# The autocomplete loop
|
|
1
|
+
# The autocomplete loop: arm AFK, drive every phase
|
|
2
2
|
|
|
3
3
|
Autocomplete is an orchestrator: it runs the existing `/rite-*` skills in order,
|
|
4
4
|
exactly as a human would, but without stopping between them. It owns no workflow of
|
|
5
|
-
its own
|
|
5
|
+
its own: the phases do the work; autocomplete sequences them and enforces stops.
|
|
6
6
|
|
|
7
7
|
## Arm AFK
|
|
8
8
|
|
|
@@ -16,11 +16,11 @@ allow_gates: [advisory] # only advisory auto-handles; validating+ pause
|
|
|
16
16
|
# caps how many run unattended (default = all the plan's slices).
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
The budget is the plan's own slice count, not a fixed number
|
|
19
|
+
The budget is the plan's own slice count, not a fixed number, so the loop builds exactly
|
|
20
20
|
the task's slices and stops when they're done; `--max-slices N` only *lowers* it for a
|
|
21
21
|
partial run. Arm the gate policy at step 3; write `max_slices` / `AFK slices remaining`
|
|
22
22
|
**after `$rite-vet`** (it runs before the build loop and may split or add a slice, so the
|
|
23
|
-
count isn't final until then
|
|
23
|
+
count isn't final until then: vet runs on every plan here, so always set the budget after it).
|
|
24
24
|
|
|
25
25
|
`allow_gates: [advisory]` is deliberate: an open `gate: validating` is merge-blocking
|
|
26
26
|
at seal (`afk-hitl.md`), so autocomplete must *pause* on it rather than queue it and
|
|
@@ -30,7 +30,7 @@ then hit NO-GO. Widen `allow_gates` only if the caller explicitly asked.
|
|
|
30
30
|
|
|
31
31
|
Run each by Reading its `SKILL.md` and executing that workflow. State flows through the
|
|
32
32
|
workspace files (`state.md`, `tasks.md`, `evidence.md`, …), so each phase picks up where
|
|
33
|
-
the last left off
|
|
33
|
+
the last left off. There is nothing to thread through chat.
|
|
34
34
|
|
|
35
35
|
| Step | Phase | Loop / gate |
|
|
36
36
|
|---|---|---|
|
|
@@ -38,7 +38,7 @@ the last left off — there is nothing to thread through chat.
|
|
|
38
38
|
| 2 | `$rite-temper` | significance-gated strategic review; harden spec + write `strategy.md`. Skip low-stakes specs in one line. AFK: `hold-rigor` / `reduce-to-MVP` auto-apply; **any `expand` pauses (blocking)**; irreversible-risk pauses |
|
|
39
39
|
| 3 | `$rite-define` | reads `strategy.md`; `plan.md` + `tasks.md`; record `Plan approved` |
|
|
40
40
|
| 4 | `$rite-vet` | engineering plan review on **every** plan (light pass on simple plans, full on big/risky; never skipped); harden `plan.md` / `tasks.md` + write `eng-review.md` + `test-plan.md`. AFK: hardening / coverage findings auto-apply; **any scope-growing / acceptance-changing finding pauses (blocking)**; irreversible-risk pauses. Set the slice budget after this (vet may split a slice) |
|
|
41
|
-
| 5 | `$rite-build` ×N | **loop** while any slice is `pending`; build one (the slice-wright reads `test-plan.md` for coverage), then run `devrites-engine tick-afk state.md
|
|
41
|
+
| 5 | `$rite-build` ×N | **loop** while any slice is `pending`; build one (the slice-wright reads `test-plan.md` for coverage), then run `devrites-engine tick-afk state.md`: exit 3 (budget hit) ⇒ STOP |
|
|
42
42
|
| 6 | `$rite-prove` | once all slices `built`; walks `test-plan.md`; on failure → `devrites-debug-recovery` within scope |
|
|
43
43
|
| 7 | `$rite-polish` | re-verify after code edits (evidence must stay fresh) |
|
|
44
44
|
| 8 | `$rite-review` | apply in-scope fixes; re-prove if code changed |
|
|
@@ -48,7 +48,7 @@ the last left off — there is nothing to thread through chat.
|
|
|
48
48
|
## Between phases
|
|
49
49
|
|
|
50
50
|
- Re-read the active workspace before each phase (don't trust chat memory).
|
|
51
|
-
- After a phase that edits code (build, polish, review), evidence may be stale
|
|
51
|
+
- After a phase that edits code (build, polish, review), evidence may be stale: let
|
|
52
52
|
the next gate re-prove rather than carrying a stale pass (see
|
|
53
53
|
`.agents/skills/devrites-lib/reference/standards/development-workflow.md`).
|
|
54
54
|
- Check [stop-conditions.md](stop-conditions.md) at every gate **before** advancing.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Stop conditions
|
|
1
|
+
# Stop conditions: when autocomplete must pause for a human
|
|
2
2
|
|
|
3
3
|
Autonomy covers the routine path. These are the cases where autocomplete writes
|
|
4
4
|
`state.md` (`Status: awaiting_human` or `blocked`), surfaces *why* + the single resume
|
|
5
5
|
command, fires `notify` if set, and **stops**. None are bypassable by `--ship`.
|
|
6
6
|
|
|
7
|
-
## Always stop (irreversible-risk list
|
|
7
|
+
## Always stop (irreversible-risk list: from `afk-hitl.md`)
|
|
8
8
|
|
|
9
9
|
Regardless of `allow_gates` or `--ship`:
|
|
10
10
|
- Destructive data migration (drop column/table, irreversible backfill).
|
|
@@ -23,8 +23,8 @@ Regardless of `allow_gates` or `--ship`:
|
|
|
23
23
|
|
|
24
24
|
## Stop on strategic-review scope expansion (`$rite-temper`)
|
|
25
25
|
|
|
26
|
-
- `$rite-temper` choosing scope mode `expand
|
|
27
|
-
criterion to `spec.md
|
|
26
|
+
- `$rite-temper` choosing scope mode `expand`, or otherwise **adding** any acceptance
|
|
27
|
+
criterion to `spec.md`: → synchronous pause, regardless of `allow_gates` / `--ship`.
|
|
28
28
|
Autocomplete may auto-apply only `hold-rigor` and `reduce-to-MVP` (they harden / prune and
|
|
29
29
|
never grow the build's scope); **growing scope unattended is never automatic**. A low-stakes
|
|
30
30
|
spec that temper skips, or a `hold-rigor` / `reduce-to-MVP` run, does **not** pause.
|
|
@@ -35,13 +35,13 @@ Regardless of `allow_gates` or `--ship`:
|
|
|
35
35
|
direction. Do not round NO-GO up to GO.
|
|
36
36
|
- **Spec Drift Guard fires** (`$rite-build` finds the plan is wrong and the change
|
|
37
37
|
alters product behaviour) → stop; route through `$rite-plan repair`.
|
|
38
|
-
- **Budget exhausted with slices still pending
|
|
38
|
+
- **Budget exhausted with slices still pending:** `devrites-engine tick-afk` exit 3 while `tasks.md`
|
|
39
39
|
still has unbuilt slices (only when an explicit `--max-slices` capped the run below the
|
|
40
40
|
plan's count) → stop; report slices remaining. Exhausting the default budget = all
|
|
41
41
|
planned slices built = normal completion → continue to `$rite-prove`, don't pause.
|
|
42
|
-
- **Still low-confidence after the interview
|
|
42
|
+
- **Still low-confidence after the interview:** the idea can't be pinned to testable
|
|
43
43
|
acceptance criteria → stop and ask, rather than guessing the product.
|
|
44
|
-
- **Repeated failure
|
|
44
|
+
- **Repeated failure:** a phase fails, `devrites-debug-recovery` can't fix it within
|
|
45
45
|
scope after a bounded number of attempts → stop with the reproduction.
|
|
46
46
|
|
|
47
47
|
## The final type-GO
|
|
@@ -11,13 +11,13 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
11
11
|
|
|
12
12
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
13
13
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
14
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
15
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
14
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
15
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
16
16
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
17
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
17
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
# $rite-build
|
|
20
|
+
# $rite-build: one verified slice
|
|
21
21
|
|
|
22
22
|
Build the next single slice, leave it working and proven, then **stop**. **Read the
|
|
23
23
|
active workspace first**; if none, tell the user to run `$rite-spec <feature>`.
|
|
@@ -30,55 +30,55 @@ run the post-return gates (doubt, fail-on-red, record, stop). See
|
|
|
30
30
|
|
|
31
31
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
32
32
|
Read `.agents/skills/devrites-lib/reference/standards/core.md` first (workflow step 0). The
|
|
33
|
-
following load on demand
|
|
33
|
+
following load on demand: **the wright reads them** (they are named in its contract) while it
|
|
34
34
|
writes; read them yourself for the doubt/record gates or in the inline fallback:
|
|
35
|
-
- `coding-style.md
|
|
36
|
-
- `error-handling.md
|
|
37
|
-
- `testing.md
|
|
38
|
-
- `patterns.md
|
|
39
|
-
- `principles.md
|
|
40
|
-
- `security.md
|
|
41
|
-
- `definition-of-done.md
|
|
35
|
+
- `coding-style.md`: naming, function shape, guard clauses, comments, reuse-first.
|
|
36
|
+
- `error-handling.md`: fail fast, no silent catches, fail closed.
|
|
37
|
+
- `testing.md`: pyramid, behaviour over implementation, see-it-fail-first.
|
|
38
|
+
- `patterns.md`: composition over inheritance, avoid premature abstraction.
|
|
39
|
+
- `principles.md`: the project invariants (`.devrites/principles.md`) the slice must honor; the wright reads them as **binding**, not priors.
|
|
40
|
+
- `security.md`: when the slice touches user input, auth, data, or external integrations.
|
|
41
|
+
- `definition-of-done.md`: standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
## Operating rules
|
|
45
45
|
- **One slice at a time. DO NOT** start the next slice without the user asking.
|
|
46
|
-
- Evidence over confidence. Prefer existing conventions. Feature scope only
|
|
46
|
+
- Evidence over confidence. Prefer existing conventions. Feature scope only: no
|
|
47
47
|
drive-by refactors.
|
|
48
48
|
- **Noticed, not touched.** An adjacent smell the wright sees outside `touched-files.md` is
|
|
49
|
-
recorded as an FYI follow-up in `decisions.md`, never fixed inline
|
|
49
|
+
recorded as an FYI follow-up in `decisions.md`, never fixed inline: the slice's change summary
|
|
50
50
|
states what it *deliberately left alone* ([`git-workflow.md`](../devrites-lib/reference/standards/git-workflow.md) "Things
|
|
51
51
|
I didn't touch"), so the reviewer reads a feature-scoped diff, not a renovation. The `devrites-engine reconcile`
|
|
52
52
|
gate (step 6) enforces this by exit code.
|
|
53
53
|
- **Don't re-run an unchanged check.** Re-running the same build/test command on code that hasn't
|
|
54
|
-
changed since proves nothing new
|
|
54
|
+
changed since proves nothing new. It's motion, not evidence. Re-verify after an edit, not before.
|
|
55
55
|
- Surface material assumptions; ask before adding dependencies or a second design
|
|
56
56
|
system. The [Spec Drift Guard](reference/spec-drift-guard.md) is active throughout.
|
|
57
57
|
- **Avoid AI slop while writing.** `devrites-slice-wright` enforces the anti-slop charter **at
|
|
58
|
-
the source
|
|
58
|
+
the source**: the canonical do-not list is `rite-polish/reference/anti-ai-slop.md` (the
|
|
59
59
|
wright reads it; don't restate it here). It writes the code the *project* would write, in its
|
|
60
|
-
idiom, reusing before building; **you verify the charter held on return
|
|
60
|
+
idiom, reusing before building; **you verify the charter held on return**. You do not re-list
|
|
61
61
|
it and you do not fix slop by editing source. Polish catches what slips; build prevents.
|
|
62
|
-
The **prose you write yourself**
|
|
62
|
+
The **prose you write yourself** (`evidence.md`, `decisions.md`, the slice report) follows
|
|
63
63
|
the human-voice charter (`.agents/skills/devrites-lib/reference/standards/prose-style.md`; depth in `devrites-prose-craft`): no
|
|
64
64
|
filler openers, no marketing adjectives, exact commands and identifiers kept verbatim.
|
|
65
65
|
- **Honor declared project principles.** The wright reads `.devrites/principles.md` and treats
|
|
66
|
-
each invariant as **binding** (not a prior to weigh like a convention)
|
|
66
|
+
each invariant as **binding** (not a prior to weigh like a convention): a slice it cannot build
|
|
67
67
|
without breaking one is an **Escalation**, not a silent violation. On return **you verify no
|
|
68
|
-
principle was broken**; a fresh violation is handled like any irreversible-risk item
|
|
68
|
+
principle was broken**; a fresh violation is handled like any irreversible-risk item: a
|
|
69
69
|
human-approved, scoped exception in the register or a stop, never folded into the slice. No
|
|
70
70
|
`.devrites/principles.md` → none declared → nothing to honor.
|
|
71
|
-
- **You never edit source
|
|
71
|
+
- **You never edit source: the wright is the only writer of code + tests.** You write only
|
|
72
72
|
`.devrites/` bookkeeping. On any red gate, doubt finding, or coverage gap your only remedies
|
|
73
|
-
are **continue the same wright once** (it fixes in its own context) or **stop + escalate
|
|
73
|
+
are **continue the same wright once** (it fixes in its own context) or **stop + escalate**:
|
|
74
74
|
never patch the code yourself. The `devrites-engine reconcile` gate (step 6) enforces this by exit code:
|
|
75
75
|
any source file changed outside the wright's claimed set is a hard STOP.
|
|
76
|
-
- **A `Forge: yes` slice competes candidates
|
|
77
|
-
flagged the slice a genuine architecture fork, step 3 runs K=2
|
|
76
|
+
- **A `Forge: yes` slice competes candidates: one author still lands.** When `$rite-vet`
|
|
77
|
+
flagged the slice a genuine architecture fork, step 3 runs K=2-3 candidate wrights in
|
|
78
78
|
**isolated worktrees** and lands exactly one winner's diff; the single-writer invariant holds
|
|
79
79
|
because no tree ever has two authors and only the winner reaches the working tree. You still
|
|
80
80
|
never edit source, and reconcile runs against the winner's claimed set. The default slice is
|
|
81
|
-
single-path
|
|
81
|
+
single-path: forge is the rare exception ([`reference/forge.md`](reference/forge.md)).
|
|
82
82
|
|
|
83
83
|
## Workflow
|
|
84
84
|
|
|
@@ -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.
|