devrites 3.0.5 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +280 -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 +2 -0
- package/engine/internal/install/install_test.go +3 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +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-converge
|
|
20
|
+
# $rite-converge: make the code and the intent converge
|
|
21
21
|
|
|
22
22
|
Read `spec.md` + `plan.md` + `tasks.md` as the **sole source of intent** (with
|
|
23
23
|
`.devrites/principles.md` as governing constraints), assess what the **live codebase**
|
|
24
|
-
|
|
24
|
+
implements, and **append every unmet piece as a new traceable `SLICE-###`** at the
|
|
25
25
|
bottom of `tasks.md` so `$rite-build` can finish it. The recovery bridge for work that fell
|
|
26
26
|
out of sync with its plan: a half-built feature picked up cold, a `$rite-adopt`'d codebase
|
|
27
27
|
that drifted from its derived spec, or a build that stalled mid-slice. **Read the active
|
|
@@ -29,37 +29,37 @@ workspace first**; if there's no `spec.md`/`plan.md`/`tasks.md`, tell the user w
|
|
|
29
29
|
prerequisite skill to run.
|
|
30
30
|
|
|
31
31
|
> **Not a diff tool.** `$rite-converge` assesses the **present state** of the code against
|
|
32
|
-
> intent
|
|
33
|
-
> what the artifacts asked for"
|
|
32
|
+
> intent: no git, no branch comparison, no history. "What does this codebase do *now* vs
|
|
33
|
+
> what the artifacts asked for", not "what changed since commit X". For a change-scoped
|
|
34
34
|
> review use `$rite-review`; to prove a finished feature use `$rite-prove`.
|
|
35
35
|
|
|
36
36
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
37
37
|
Pull on demand:
|
|
38
|
-
- `principles.md
|
|
38
|
+
- `principles.md`: the project invariants (`.devrites/principles.md`); code that violates a
|
|
39
39
|
MUST principle is the highest-severity gap and produces a remediation slice.
|
|
40
|
-
- `spec-grammar.md
|
|
40
|
+
- `spec-grammar.md`: buildable acceptance criteria vs `## Success metrics` (outcome KPIs the
|
|
41
41
|
code can't make true and this pass never enqueues); structured `### Requirement:` /
|
|
42
42
|
`#### Scenario:` blocks, each scenario one behavior to check as built / partial / absent.
|
|
43
|
-
- `tooling.md
|
|
43
|
+
- `tooling.md`: prefer a code-intelligence index (codebase-memory-mcp → codegraph → graphify,
|
|
44
44
|
else LSP / Read/Grep/Glob) to read the live code, not assumptions.
|
|
45
|
-
- `testing.md
|
|
45
|
+
- `testing.md`: a criterion with code but no covering test is *partial*, not done.
|
|
46
46
|
|
|
47
47
|
## Operating rules
|
|
48
48
|
- **APPEND-ONLY, never rewrite.** The only write to `tasks.md` is **appending** new
|
|
49
49
|
`SLICE-###` entries. Never rewrite, renumber, reorder, or delete an existing slice
|
|
50
50
|
(including slices a prior convergence appended). Never edit `spec.md` or `plan.md`. Never
|
|
51
|
-
touch application code
|
|
51
|
+
touch application code: completing the appended slices is `$rite-build`'s job, not this
|
|
52
52
|
skill's.
|
|
53
53
|
- **Clean means byte-for-byte unchanged.** When the code already satisfies everything, leave
|
|
54
|
-
`tasks.md` untouched
|
|
54
|
+
`tasks.md` untouched (no empty convergence header) and report a clean result. Recommend
|
|
55
55
|
`$rite-prove`.
|
|
56
56
|
- **Intent is the artifacts, not your memory.** The spec/plan/tasks (+ principles) are the
|
|
57
57
|
contract. If assessing reveals the *spec* is wrong (the code is right and the requirement is
|
|
58
|
-
stale), that's **Spec Drift
|
|
58
|
+
stale), that's **Spec Drift**: stop and route it through the Spec Drift Guard
|
|
59
59
|
(`rite-build/reference/spec-drift-guard.md`) + a recorded decision; never paper over a spec
|
|
60
60
|
bug by appending a task that "fixes" the code to a wrong requirement.
|
|
61
61
|
- **Partial is not done.** Code that exists but is untested, half-wired, or covers only the
|
|
62
|
-
happy path is an unmet gap
|
|
62
|
+
happy path is an unmet gap: enqueue the remainder, don't round it up.
|
|
63
63
|
- **Principles are non-negotiable.** A live violation of a declared invariant with no recorded
|
|
64
64
|
exception is the top-severity gap, walked first. Absent/empty principles file → none declared
|
|
65
65
|
→ skip the check gracefully, never block for its absence.
|
|
@@ -71,7 +71,7 @@ Pull on demand:
|
|
|
71
71
|
any is missing, **STOP** and name the prerequisite (`$rite-spec` for a missing spec,
|
|
72
72
|
`$rite-define` for a missing plan/tasks, `$rite-adopt` to onboard existing code). Do not
|
|
73
73
|
produce partial output.
|
|
74
|
-
2. **Load intent
|
|
74
|
+
2. **Load intent:** [`reference/convergence-assessment.md`](reference/convergence-assessment.md).
|
|
75
75
|
From `spec.md`: buildable `AC-###` / `### Requirement:` scenarios (skip `## Success metrics`);
|
|
76
76
|
from `plan.md`: architecture decisions + named touch-points (files/components the plan says
|
|
77
77
|
get built); from `tasks.md`: existing slices + their `Satisfies:`; from
|
|
@@ -79,7 +79,7 @@ Pull on demand:
|
|
|
79
79
|
**Completion:** every buildable criterion, touch-point, slice output, and principle is in the assessment inventory.
|
|
80
80
|
3. **Run the mechanical backbone**, then read the code. `devrites-engine analyze` gives coverage +
|
|
81
81
|
consistency; `devrites-engine coverage` gives the AC→slice→proven matrix. They catch *unmapped*
|
|
82
|
-
criteria; they do **not** see whether mapped code is
|
|
82
|
+
criteria; they do **not** see whether mapped code is built and correct, for that,
|
|
83
83
|
read the live code (code-intelligence index per `tooling.md`).
|
|
84
84
|
```bash
|
|
85
85
|
S="$(cat .devrites/ACTIVE 2>/dev/null)"
|
|
@@ -119,13 +119,13 @@ Convergence: 2026-07-07 # marks this as a convergence-appended slice, not a
|
|
|
119
119
|
|
|
120
120
|
> **Mid-flight discipline.** When tempted to rewrite an existing slice instead of appending, to
|
|
121
121
|
> edit the code directly "while you're in there", to mark a happy-path-only implementation as
|
|
122
|
-
> built, or to enqueue a task that bends the code to a spec you suspect is wrong
|
|
122
|
+
> built, or to enqueue a task that bends the code to a spec you suspect is wrong: see
|
|
123
123
|
> [`reference/anti-patterns.md`](reference/anti-patterns.md). Load it the moment you reach for
|
|
124
124
|
> the excuse.
|
|
125
125
|
|
|
126
126
|
## Output
|
|
127
127
|
|
|
128
|
-
**Progress first
|
|
128
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
129
129
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
130
130
|
Default success shape:
|
|
131
131
|
```
|
|
@@ -140,4 +140,4 @@ Record: .devrites/work/<slug>/tasks.md
|
|
|
140
140
|
When nothing was unmet, render the same green form with `Next: $rite-prove`.
|
|
141
141
|
If spec drift or another blocker remains, use the shared `Stopped / blocked` form
|
|
142
142
|
and route `Fix:` to `$rite-plan`; do not recommend `$rite-build`.
|
|
143
|
-
**DO NOT write application code, rewrite existing slices, or edit spec.md/plan.md here
|
|
143
|
+
**DO NOT write application code, rewrite existing slices, or edit spec.md/plan.md here**: convergence assesses and enqueues; `$rite-build` implements.
|
|
@@ -4,23 +4,23 @@ Load the moment you reach for one of these excuses.
|
|
|
4
4
|
|
|
5
5
|
## Common rationalizations
|
|
6
6
|
|
|
7
|
-
- *"I'll just fix this existing slice instead of appending a new one."
|
|
7
|
+
- *"I'll just fix this existing slice instead of appending a new one."*. No. The append-only
|
|
8
8
|
rule is what makes convergence **re-runnable** and its output **auditable**: a reader diffs
|
|
9
9
|
`tasks.md` and sees exactly what this pass added. Rewriting an existing slice destroys that
|
|
10
10
|
and can silently drop coverage. Append; never edit an existing `SLICE-###`.
|
|
11
|
-
- *"The gap is tiny
|
|
11
|
+
- *"The gap is tiny. I'll just patch the code while I'm here."*. No. Convergence **assesses
|
|
12
12
|
and enqueues**; `$rite-build` implements. The moment you edit application code you've skipped
|
|
13
13
|
the build's slice discipline, tests, and reviewer. Enqueue it, however small.
|
|
14
|
-
- *"It's basically built
|
|
14
|
+
- *"It's basically built. I'll call it done."*. Happy-path-only, untested, or half-wired is
|
|
15
15
|
**partial**, not built (`convergence-assessment.md`). Rounding partial up to built is how a
|
|
16
16
|
feature ships with the edge cases that were the whole reason for the scenario.
|
|
17
|
-
- *"The code does X, the spec says Y
|
|
17
|
+
- *"The code does X, the spec says Y. I'll enqueue a slice to make the code match the spec."*:
|
|
18
18
|
Only if you're sure the **spec** is right. If the code is right and the requirement is stale,
|
|
19
|
-
that's **Spec Drift
|
|
20
|
-
- *"The spec has no `AC-###` ids, so there's nothing to converge."
|
|
19
|
+
that's **Spec Drift**: route it through the guard, don't launder a spec bug into a code task.
|
|
20
|
+
- *"The spec has no `AC-###` ids, so there's nothing to converge."*. Assess plan touch-points
|
|
21
21
|
and existing-slice Produces directly against the code; a coverage id is convenient, not
|
|
22
22
|
required. (And flag the untagged spec so `$rite-spec` can add ids.)
|
|
23
|
-
- *"I'll rewrite the whole tasks.md to be clean while I'm at it."
|
|
23
|
+
- *"I'll rewrite the whole tasks.md to be clean while I'm at it."*, That is a **reslice**, and
|
|
24
24
|
it belongs to `$rite-plan`, not here. Convergence only ever *appends*.
|
|
25
25
|
|
|
26
26
|
## Red flags in your own output
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
# Convergence assessment
|
|
1
|
+
# Convergence assessment: built / partial / absent
|
|
2
2
|
|
|
3
|
-
The rubric `$rite-converge` applies to every unit of intent. Load when running step 2
|
|
3
|
+
The rubric `$rite-converge` applies to every unit of intent. Load when running step 2-5.
|
|
4
4
|
|
|
5
5
|
## The unit set
|
|
6
6
|
|
|
7
7
|
Assess three kinds of unit against the live code:
|
|
8
8
|
|
|
9
|
-
1. **Acceptance criteria / scenarios
|
|
10
|
-
(WHEN/THEN) in `spec.md`. `## Success metrics` lines are **not** units
|
|
9
|
+
1. **Acceptance criteria / scenarios:** each buildable `AC-###` and each `#### Scenario:`
|
|
10
|
+
(WHEN/THEN) in `spec.md`. `## Success metrics` lines are **not** units. They carry no
|
|
11
11
|
`AC-###` id, no slice can satisfy them, and this pass never enqueues one (`spec-grammar.md`).
|
|
12
|
-
2. **Plan touch-points
|
|
12
|
+
2. **Plan touch-points:** the files/components/modules `plan.md` says get built or edited, and
|
|
13
13
|
each existing slice's stated **Produces** (the interface it was meant to expose).
|
|
14
|
-
3. **Principles
|
|
14
|
+
3. **Principles:** each invariant in `.devrites/principles.md`, checked against the code as it
|
|
15
15
|
stands.
|
|
16
16
|
|
|
17
17
|
## The three verdicts
|
|
18
18
|
|
|
19
|
-
For each unit, decide **built / partial / absent
|
|
19
|
+
For each unit, decide **built / partial / absent**, and only *partial* and *absent* enqueue a
|
|
20
20
|
slice.
|
|
21
21
|
|
|
22
22
|
| Verdict | Test | Action |
|
|
23
23
|
|---|---|---|
|
|
24
|
-
| **built** | The behavior exists in the code **and** a test covers it (a criterion with code but no covering test is not built
|
|
24
|
+
| **built** | The behavior exists in the code **and** a test covers it (a criterion with code but no covering test is not built: `testing.md`). | Nothing: do not append. |
|
|
25
25
|
| **partial** | Some of it exists: happy path only, un-wired, untested, a TODO stub, or an edge case from the scenario's WHEN/THEN missing. | Append a slice for the **remainder**, its `Known-Gotchas` naming what's already there so `$rite-build` extends rather than rebuilds. |
|
|
26
26
|
| **absent** | No code implements it. | Append a full slice. |
|
|
27
27
|
|
|
28
|
-
Read the code to decide
|
|
28
|
+
Read the code to decide: do not infer from the plan. Use the code-intelligence index
|
|
29
29
|
(codebase-memory-mcp → codegraph → graphify, else LSP / grep) so the verdict reflects live
|
|
30
30
|
code, not the artifacts' claims. `devrites-engine analyze` / `devrites-engine coverage` tell you what's
|
|
31
31
|
*mapped*; only reading the code tells you what's *built*.
|
|
@@ -34,16 +34,16 @@ code, not the artifacts' claims. `devrites-engine analyze` / `devrites-engine co
|
|
|
34
34
|
|
|
35
35
|
A live violation of a declared invariant (secret in logs, money as float, a datastore added
|
|
36
36
|
with no ADR) is the **top-severity** gap regardless of coverage. It sorts **first** in the
|
|
37
|
-
appended batch as a remediation slice, and
|
|
38
|
-
irreversible-risk change
|
|
37
|
+
appended batch as a remediation slice, and (because reshaping to honor an invariant can be an
|
|
38
|
+
irreversible-risk change) it pauses for a human even under AFK. Absent/empty principles file →
|
|
39
39
|
none declared → skip, never block.
|
|
40
40
|
|
|
41
41
|
## Spec drift vs code gap
|
|
42
42
|
|
|
43
43
|
Before appending a slice, separate the two failure directions:
|
|
44
44
|
|
|
45
|
-
- **Code gap
|
|
46
|
-
- **Spec drift
|
|
45
|
+
- **Code gap:** the spec is right, the code falls short. → append a slice. (This skill's job.)
|
|
46
|
+
- **Spec drift:** the code is right, the requirement is stale or wrong. → **do not** append a
|
|
47
47
|
slice that bends correct code to a wrong spec. Stop, route through the Spec Drift Guard
|
|
48
48
|
(`rite-build/reference/spec-drift-guard.md`) + a recorded decision, and let `$rite-plan
|
|
49
49
|
repair` reshape intent. Convergence enqueues work; it never launders a spec bug into a code
|
|
@@ -51,7 +51,7 @@ Before appending a slice, separate the two failure directions:
|
|
|
51
51
|
|
|
52
52
|
## Numbering + ordering the appended batch
|
|
53
53
|
|
|
54
|
-
- **Continue the ids
|
|
54
|
+
- **Continue the ids:** the highest existing `SLICE-###` + 1, ascending. Never reuse or
|
|
55
55
|
renumber an existing id.
|
|
56
56
|
- **Order after the existing slices**, dependency-first among the new ones (`depends_on`);
|
|
57
57
|
a principle-remediation slice sorts before feature gaps.
|
|
@@ -12,13 +12,13 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
12
12
|
|
|
13
13
|
- 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.
|
|
14
14
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
15
|
-
- 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
|
|
16
|
-
- 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
|
|
15
|
+
- 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.
|
|
16
|
+
- 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.
|
|
17
17
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
18
|
-
- 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
|
|
18
|
+
- 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.
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
# $rite-customize
|
|
21
|
+
# $rite-customize: guided project customization
|
|
22
22
|
|
|
23
23
|
Create, list, validate, or scaffold one project-local DevRites customization without forking the pack.
|
|
24
24
|
|
|
@@ -75,5 +75,5 @@ Record: <path(s)>
|
|
|
75
75
|
## Gotchas
|
|
76
76
|
|
|
77
77
|
- **Do not fork by accident.** If a reviewer override is enough, do not create a copied reviewer agent.
|
|
78
|
-
- **Do not weaken gates.**
|
|
78
|
+
- **Do not weaken gates.** "Ignore", "waive", "lower severity", or "skip type-GO" means rewrite the customization or refuse it.
|
|
79
79
|
- **Do not invent an extension surface.** If the user wants behavior outside DevRites' extension contract, say what the contract supports and stop.
|
|
@@ -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-define
|
|
20
|
+
# $rite-define: plan from the spec
|
|
21
21
|
|
|
22
22
|
Read the active feature's `spec.md` and turn it into a buildable workspace: feature
|
|
23
23
|
architecture, approach, a dependency-ordered set of **vertical slices**, traceability, and
|
|
@@ -27,10 +27,10 @@ spec, architecture, plan, tasks, and traceability keeps each file small and phas
|
|
|
27
27
|
|
|
28
28
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
29
29
|
Pull these via `Read` when shaping the plan:
|
|
30
|
-
- `development-workflow.md
|
|
31
|
-
- `principles.md
|
|
32
|
-
- `documentation.md
|
|
33
|
-
- `../workspace-artifact-schema.md
|
|
30
|
+
- `development-workflow.md`: small batches, trunk-always-green, definition of done.
|
|
31
|
+
- `principles.md`: the project invariants (`.devrites/principles.md`) the chosen approach must conform to.
|
|
32
|
+
- `documentation.md`: record plan-time decisions and rationale.
|
|
33
|
+
- `../workspace-artifact-schema.md`: artifact purposes, budgets, IDs, and read triggers.
|
|
34
34
|
|
|
35
35
|
## Operating rules
|
|
36
36
|
- **Requires a readied spec.** Read the active workspace first; if `.devrites/ACTIVE` is empty,
|
|
@@ -43,8 +43,8 @@ Pull these via `Read` when shaping the plan:
|
|
|
43
43
|
be deepened right there with a technique from
|
|
44
44
|
[`elicitation.md`](../devrites-lib/reference/standards/elicitation.md) (Tournament for two viable
|
|
45
45
|
designs, Delphi for the estimate) before it hardens into slices.
|
|
46
|
-
- **Slice count is derived, never dictated.** The number of slices falls out of the work
|
|
47
|
-
|
|
46
|
+
- **Slice count is derived, never dictated.** The number of slices falls out of the work.
|
|
47
|
+
One per independently-shippable increment, sized by `slicing.md`, every acceptance
|
|
48
48
|
criterion mapped to ≥1 slice. A user-named count is a hint at most: slice logically and,
|
|
49
49
|
if your honest count differs, present it and why. Never pad or compress to hit a figure.
|
|
50
50
|
(`.devrites/AFK` `max_slices` is a separate AFK iteration budget, not the decomposition.)
|
|
@@ -54,8 +54,8 @@ Pull these via `Read` when shaping the plan:
|
|
|
54
54
|
integration branch plus a final verify slice.
|
|
55
55
|
|
|
56
56
|
## Workflow
|
|
57
|
-
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md
|
|
58
|
-
Then **run the shared orientation preamble
|
|
57
|
+
0. **Read `.agents/skills/devrites-lib/reference/standards/core.md`:** the always-on operating rules and anti-rationalizations.
|
|
58
|
+
Then **run the shared orientation preamble**. It confirms the active feature and which
|
|
59
59
|
artifacts exist (it prints `state.md`, the artifacts present, the run mode, and the
|
|
60
60
|
open-question tally):
|
|
61
61
|
```bash
|
|
@@ -65,12 +65,12 @@ Pull these via `Read` when shaping the plan:
|
|
|
65
65
|
```
|
|
66
66
|
If there is no active workspace, no `spec.md`, `spec-skeleton` blocks, or its readiness gate hasn't passed →
|
|
67
67
|
**STOP** and tell the user to run `$rite-spec <feature>` first.
|
|
68
|
-
1. **Read the spec
|
|
68
|
+
1. **Read the spec:** `spec.md` (objective, requirements, acceptance, **placement**,
|
|
69
69
|
design references, gaps/decisions), plus `references.md`, `decisions.md`,
|
|
70
70
|
`assumptions.md`, **`strategy.md` if present** (the scope mode, deferred / out-of-scope
|
|
71
|
-
register, and pre-mortem risks from `$rite-temper
|
|
71
|
+
register, and pre-mortem risks from `$rite-temper`: cut slices to mitigate the top risks
|
|
72
72
|
and respect the IN/OUT line; map coverage against the **hardened** spec), and
|
|
73
|
-
**`design-brief.md` if the feature touches UI** (the UX/UI contract `$rite-spec` shaped
|
|
73
|
+
**`design-brief.md` if the feature touches UI** (the UX/UI contract `$rite-spec` shaped:
|
|
74
74
|
its key states, interaction model, and proof targets drive how UI slices are cut). If a blocking
|
|
75
75
|
`[NEEDS CLARIFICATION]` remains, stop → `$rite-spec`.
|
|
76
76
|
2. **Decide the architecture + approach** (the HOW the spec deliberately omitted): write
|
|
@@ -81,14 +81,14 @@ Pull these via `Read` when shaping the plan:
|
|
|
81
81
|
`.agents/skills/devrites-lib/reference/standards/tooling.md`) for structure/impact; for the current API or behaviour of
|
|
82
82
|
an external library/framework the architecture will rely on, consult context7 if available.
|
|
83
83
|
Record significant options in `decisions.md` as `DEC-###` ADR entries.
|
|
84
|
-
**Deep-modules check
|
|
84
|
+
**Deep-modules check**, while sketching the major modules, look for opportunities
|
|
85
85
|
to extract a **deep module**: a small, stable interface that hides a meaningful chunk
|
|
86
|
-
of behavior, and is therefore independently testable. A *shallow* module
|
|
87
|
-
nearly as complex as its implementation
|
|
86
|
+
of behavior, and is therefore independently testable. A *shallow* module (interface
|
|
87
|
+
nearly as complex as its implementation) earns nothing; either deepen it or delete
|
|
88
88
|
it. Where a slice will produce a deep module, confirm with the user which deep
|
|
89
89
|
modules they want unit-tested in isolation (this informs the slice's "Tests to
|
|
90
90
|
write/run" field).
|
|
91
|
-
3. **Slice into vertical tasks
|
|
91
|
+
3. **Slice into vertical tasks:** each delivers one observable capability end-to-end and
|
|
92
92
|
is verifiable on its own; the **count emerges from the work, not a target number**;
|
|
93
93
|
first slice = thinnest useful end-to-end path; order by dependency (risk-first within a
|
|
94
94
|
tier). For a broad mechanical refactor, use expand → migrate batches → contract instead
|
|
@@ -98,21 +98,21 @@ Pull these via `Read` when shaping the plan:
|
|
|
98
98
|
and **Browser proof required** (UI), and whether it's **fullstack** (FE+BE → contract
|
|
99
99
|
first, see `devrites-frontend-craft/reference/fullstack.md`). **For UI slices, name which
|
|
100
100
|
of `design-brief.md`'s key states + interaction the slice delivers, and give it a binary
|
|
101
|
-
**Visual acceptance** target (state × viewport × input + target R-id/brief rule)
|
|
101
|
+
**Visual acceptance** target (state × viewport × input + target R-id/brief rule)**, so
|
|
102
102
|
the design contract maps onto slices, not just acceptance criteria.
|
|
103
|
-
4. **Map coverage
|
|
103
|
+
4. **Map coverage:** every `AC-###` spec acceptance criterion maps to ≥1 `SLICE-###`
|
|
104
104
|
(`rite-spec/reference/acceptance-criteria.md`); no orphaned criteria, no slice without a
|
|
105
105
|
criterion. Lift covered/backstop `Edge Coverage` rows and resolved `Prohibitions (must-NOT)`
|
|
106
106
|
rows into `traceability.md` and `test-plan.md`; unresolved rows go to `assumptions.md` with
|
|
107
107
|
their gate/owner.
|
|
108
|
-
4a. **Parallel-lane sanity check
|
|
108
|
+
4a. **Parallel-lane sanity check**: after drafting `tasks.md` but before asking for plan
|
|
109
109
|
approval, run the advisory lane planner:
|
|
110
110
|
```bash
|
|
111
111
|
devrites-engine lanes plan "$(cat .devrites/ACTIVE 2>/dev/null)"
|
|
112
112
|
```
|
|
113
113
|
Use it to spot independent read-only/review lanes and dependency mistakes, but do not
|
|
114
114
|
weaken DevRites' default of one production-write slice at a time.
|
|
115
|
-
4b. **Persist the traceability matrix
|
|
115
|
+
4b. **Persist the traceability matrix**: write `traceability.md` (`AC/REQ ID → slice(s) →
|
|
116
116
|
test/proof → evidence ID → touched files → status`), the living map `$rite-prove` and
|
|
117
117
|
`$rite-seal` walk. Generate it with `devrites-engine coverage` when available, then save/rename
|
|
118
118
|
the output as `traceability.md`, or write the table by hand from the same inputs if the
|
|
@@ -121,17 +121,17 @@ Pull these via `Read` when shaping the plan:
|
|
|
121
121
|
S="$(cat .devrites/ACTIVE 2>/dev/null)"
|
|
122
122
|
devrites-engine coverage "$S" > ".devrites/work/$S/traceability.md"
|
|
123
123
|
```
|
|
124
|
-
5. **Complexity & deviations gate
|
|
124
|
+
5. **Complexity & deviations gate:** justify anything off DevRites defaults (new dep,
|
|
125
125
|
extra abstraction, second design system) in the plan; if you can't justify it, simplify.
|
|
126
126
|
**Principles conformance:** read `.devrites/principles.md` (if present) and confirm the
|
|
127
127
|
approach honors every declared invariant. A plan that conflicts with one is not "a deviation
|
|
128
|
-
to justify away"
|
|
128
|
+
to justify away": either reshape the approach to conform, or, when the conflict is genuine and
|
|
129
129
|
intended, route it through the Spec Drift Guard plus a recorded decision and a scoped principle
|
|
130
130
|
exception a human approves. Never ready a plan that silently violates an invariant. (Re-scored
|
|
131
131
|
as a blocking gate at `$rite-vet`; no file → none declared → nothing to check.)
|
|
132
132
|
6. **Write** `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md`; update
|
|
133
133
|
`state.md` (phase: plan → next `$rite-vet`).
|
|
134
|
-
6a. **Cross-artifact gate
|
|
134
|
+
6a. **Cross-artifact gate: now that `tasks.md` exists.** Run the deterministic
|
|
135
135
|
spec↔tasks coverage/consistency check; any non-zero result blocks plan readiness:
|
|
136
136
|
```bash
|
|
137
137
|
S="$(cat .devrites/ACTIVE 2>/dev/null)"
|
|
@@ -153,11 +153,11 @@ Use the canonical slice grammar in
|
|
|
153
153
|
Every slice must satisfy that complete field set; phase-specific gate details live in
|
|
154
154
|
[`reference/gates.md`](reference/gates.md).
|
|
155
155
|
|
|
156
|
-
> **Mid-flight discipline.** When tempted to skip vertical slicing, coverage mapping, or dependency-order discipline
|
|
156
|
+
> **Mid-flight discipline.** When tempted to skip vertical slicing, coverage mapping, or dependency-order discipline: see [`anti-patterns`](reference/anti-patterns.md) (Common Rationalizations + Red Flags). Load it the moment you reach for the excuse.
|
|
157
157
|
|
|
158
158
|
## Output
|
|
159
159
|
|
|
160
|
-
**Progress first
|
|
160
|
+
**Progress first**: run `devrites-engine progress`, then use the shared completion reply contract
|
|
161
161
|
([`devrites-lib/reference/reply-contract.md`](../devrites-lib/reference/reply-contract.md)).
|
|
162
162
|
Default success shape:
|
|
163
163
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# rite-define
|
|
1
|
+
# rite-define: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing a non-trivial planning decision in `$rite-define`,
|
|
4
4
|
or when the agent feels reluctance toward vertical slicing or coverage
|
|
@@ -10,16 +10,16 @@ Pack-wide rationalizations + red flags: see [standards/anti-patterns.md](../../d
|
|
|
10
10
|
|
|
11
11
|
| Excuse | Rebuttal |
|
|
12
12
|
|---|---|
|
|
13
|
-
| "Spec is good enough; just start coding." | Plan separates HOW from WHAT for a reason
|
|
14
|
-
| "One big slice is fine, the work is all related." | If slice 1 isn't shippable on its own, you're not slicing vertically
|
|
15
|
-
| "Tests can come at build time, not in tasks." | Every slice's `Tests to write/run` line is the contract that proves its acceptance
|
|
13
|
+
| "Spec is good enough; just start coding." | Plan separates HOW from WHAT for a reason: missed HOW shows up as drift at slice 3. |
|
|
14
|
+
| "One big slice is fine, the work is all related." | If slice 1 isn't shippable on its own, you're not slicing vertically. You're staging waterfall in disguise. |
|
|
15
|
+
| "Tests can come at build time, not in tasks." | Every slice's `Tests to write/run` line is the contract that proves its acceptance: leave it blank, lose the contract. |
|
|
16
16
|
| "Backend + frontend belong in one slice." | Fullstack goes contract-first: split the contract, then build a thin vertical slice that crosses both layers. |
|
|
17
17
|
| "I can skip mapping every spec criterion." | An unmapped criterion is one nobody will build. Coverage isn't bureaucracy. |
|
|
18
18
|
|
|
19
19
|
## Red Flags
|
|
20
20
|
|
|
21
21
|
- A slice with no acceptance criterion link back to `spec.md`.
|
|
22
|
-
- A slice whose name contains "and"
|
|
22
|
+
- A slice whose name contains "and": two capabilities smuggled into one slice (the "and" test, [slicing](../../rite-plan/reference/slicing.md)).
|
|
23
23
|
- No first slice that's end-to-end thin (every slice depends on infra that doesn't exist yet).
|
|
24
24
|
- A new dependency added without rationale in `decisions.md`.
|
|
25
25
|
- A slice that doesn't list "Existing to reuse / extend" (you didn't search).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Gate taxonomy
|
|
1
|
+
# Gate taxonomy: advisory · validating · blocking · escalating
|
|
2
2
|
|
|
3
3
|
DevRites uses a four-gate model for HITL pauses, adapted from the regulated-agentic-workflow
|
|
4
4
|
governance pattern. Picking the right gate for each `Mode: HITL` slice is the difference
|
|
@@ -22,29 +22,29 @@ audit / future record / FYI.
|
|
|
22
22
|
**Example:** "We picked option A from the prototype's verdict but option B is also viable.
|
|
23
23
|
Recording the choice for posterity."
|
|
24
24
|
|
|
25
|
-
**SLA:** `none
|
|
25
|
+
**SLA:** `none`. There is no waiting time because nothing is waiting.
|
|
26
26
|
|
|
27
27
|
### validating
|
|
28
28
|
|
|
29
29
|
**Stakes:** medium. The slice can be built but should not merge before a human signs off.
|
|
30
|
-
Async
|
|
30
|
+
Async: the human reviews when they get to it, but the loop does not stall.
|
|
31
31
|
|
|
32
32
|
**Behavior:** in HITL mode, `$rite-build` pauses on this gate and writes
|
|
33
33
|
`Awaiting human` to `state.md`. In AFK mode with `allow_gates: [advisory, validating]`,
|
|
34
34
|
`$rite-build` builds the slice but marks it `built (pending review)` and writes the
|
|
35
35
|
validating question; the feature does not seal until the entry is resolved. An open
|
|
36
|
-
`gate: validating` entry is **merge-blocking by definition
|
|
36
|
+
`gate: validating` entry is **merge-blocking by definition**: a slice marked
|
|
37
37
|
`built (pending review)` is not done, and seal is a NO-GO while it stands open.
|
|
38
38
|
|
|
39
39
|
**Example:** "Schema migration adds a non-null column with a default. Backfill plan is
|
|
40
40
|
recorded; reviewer should confirm the default is the right one for archived rows."
|
|
41
41
|
|
|
42
|
-
**SLA:** `4h
|
|
42
|
+
**SLA:** `4h`: the work continues but the validating queue should drain within hours,
|
|
43
43
|
not days.
|
|
44
44
|
|
|
45
45
|
### blocking
|
|
46
46
|
|
|
47
|
-
**Stakes:** high. The slice cannot proceed safely without the answer. Synchronous
|
|
47
|
+
**Stakes:** high. The slice cannot proceed safely without the answer. Synchronous:
|
|
48
48
|
the loop stops.
|
|
49
49
|
|
|
50
50
|
**Behavior:** **always pauses regardless of `.devrites/AFK` config.** `$rite-build`
|
|
@@ -59,7 +59,7 @@ STOPs. The slice is not built until `$rite-resolve` lands.
|
|
|
59
59
|
- Tests / types / lint are red and the agent cannot tell whether the slice's contract is
|
|
60
60
|
wrong or the failing code is.
|
|
61
61
|
|
|
62
|
-
**SLA:** `15m
|
|
62
|
+
**SLA:** `15m`: synchronous gates demand fast turnaround; otherwise treat the work as
|
|
63
63
|
genuinely blocked and re-plan around it.
|
|
64
64
|
|
|
65
65
|
### escalating
|
|
@@ -71,11 +71,11 @@ needs to route to a specialist (legal, security, principal engineer, designer-of
|
|
|
71
71
|
`route:` field naming the specialist tag. `$rite-status` shows it under a separate
|
|
72
72
|
"Escalating" line so it doesn't compete with synchronous blockers for the same reviewer.
|
|
73
73
|
|
|
74
|
-
**Example:** "Slice introduces a contract with an external partner
|
|
74
|
+
**Example:** "Slice introduces a contract with an external partner: needs legal review
|
|
75
75
|
of the data-sharing language."
|
|
76
76
|
|
|
77
|
-
**SLA:** `24h
|
|
78
|
-
it's
|
|
77
|
+
**SLA:** `24h`: specialist routing implies the SLA is loose; if it needs to be tight,
|
|
78
|
+
it's `blocking`.
|
|
79
79
|
|
|
80
80
|
## Picking the gate
|
|
81
81
|
|
|
@@ -95,7 +95,7 @@ Apply this decision tree per HITL slice:
|
|
|
95
95
|
|
|
96
96
|
| Gate | SLA | Synchronous? |
|
|
97
97
|
|---|---|---|
|
|
98
|
-
| advisory | `none`
|
|
98
|
+
| advisory | `none` |: (does not pause) |
|
|
99
99
|
| validating | `4h` | no (async; build continues, merge blocks) |
|
|
100
100
|
| blocking | `15m` | yes |
|
|
101
101
|
| escalating | `24h` | yes, but to a specialist |
|
|
@@ -118,11 +118,11 @@ defaults and the always-pause rules:
|
|
|
118
118
|
| `[advisory, validating, blocking]` | log + proceed | build + queue | log + proceed* | pause |
|
|
119
119
|
|
|
120
120
|
\* but **never** for destructive migrations, auth/authz boundary changes, public API
|
|
121
|
-
breaks, or red tests/types/lint
|
|
121
|
+
breaks, or red tests/types/lint. Those always pause. See
|
|
122
122
|
[`.agents/skills/devrites-lib/reference/standards/afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md) for the irreversible-risk
|
|
123
123
|
list.
|
|
124
124
|
|
|
125
|
-
`escalating` is never in `allow_gates
|
|
125
|
+
`escalating` is never in `allow_gates`: specialist routing is not something AFK can
|
|
126
126
|
shortcut.
|
|
127
127
|
|
|
128
128
|
## Anti-patterns
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `plan.md` template
|
|
2
2
|
|
|
3
|
-
Write **how** to build what `spec.md` defines. The plan is **living, not sacred
|
|
3
|
+
Write **how** to build what `spec.md` defines. The plan is **living, not sacred**:
|
|
4
4
|
`$rite-plan` repairs it when reality disagrees. This is where technology choices live
|
|
5
5
|
(they're banned from the spec).
|
|
6
6
|
|
|
@@ -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-doctor
|
|
20
|
+
# $rite-doctor: health check
|
|
21
21
|
|
|
22
22
|
The on-demand deep report. The same checks run **silently at session start** (the orient
|
|
23
|
-
hook surfaces issues only when there are any); `$rite-doctor` runs them **verbosely
|
|
24
|
-
printing every check, pass or fail
|
|
23
|
+
hook surfaces issues only when there are any); `$rite-doctor` runs them **verbosely**:
|
|
24
|
+
printing every check, pass or fail, so you can inspect health even when nothing is broken.
|
|
25
25
|
It covers version drift, Claude Code wiring, optional Codex mirrors/hooks, stale host artifacts, and missing install markers when those files are present. With `--code`, it also runs the read-only project code-health dashboard (`devrites-engine health`).
|
|
26
26
|
It also reports an in-progress git merge/rebase and points to `git-workflow.md`'s conflict
|
|
27
27
|
recovery playbook.
|
|
@@ -33,7 +33,7 @@ It is **read-only**: it never edits the workspace, never advances a phase, never
|
|
|
33
33
|
```bash
|
|
34
34
|
devrites-engine doctor --verbose; echo "doctor rc=$?"
|
|
35
35
|
```
|
|
36
|
-
1a. **Surface the learnings nudge
|
|
36
|
+
1a. **Surface the learnings nudge**: point the user at `$rite-learn` when a pattern recurs across
|
|
37
37
|
shipped features (read-only; silent when there's nothing to say):
|
|
38
38
|
```bash
|
|
39
39
|
devrites-engine learnings nudge
|
|
@@ -42,18 +42,18 @@ It is **read-only**: it never edits the workspace, never advances a phase, never
|
|
|
42
42
|
```bash
|
|
43
43
|
devrites-engine health; echo "health rc=$?"
|
|
44
44
|
```
|
|
45
|
-
1c. **Validate project extensions + overrides** (read-only
|
|
45
|
+
1c. **Validate project extensions + overrides** (read-only: report, don't sync). A user rite/
|
|
46
46
|
reviewer under `.devrites/extensions/` is held to the same schema as the shipped pack; a
|
|
47
47
|
reviewer override under `.devrites/overrides/` may add emphasis but never relax a gate:
|
|
48
48
|
```bash
|
|
49
49
|
devrites-engine extensions validate; echo "extensions rc=$?"
|
|
50
50
|
devrites-engine overrides validate; echo "overrides rc=$?"
|
|
51
51
|
```
|
|
52
|
-
- **extensions rc=1
|
|
52
|
+
- **extensions rc=1:** an extension is malformed (missing frontmatter, empty, duplicate name).
|
|
53
53
|
Fix the named file; once valid, the user mirrors it into the harness with
|
|
54
54
|
`devrites-engine extensions sync`.
|
|
55
|
-
- **overrides rc=1
|
|
56
|
-
must not do
|
|
55
|
+
- **overrides rc=1:** an override reads like it waives a gate. That is the one thing overrides
|
|
56
|
+
must not do: hand the user the offending file to rewrite as added emphasis, not a waiver.
|
|
57
57
|
1d. **Refresh indexes only when `$ARGUMENTS` includes `--reindex`.** Load and execute
|
|
58
58
|
`devrites-refresh-indexes`; report its synchronous refresh result, then continue the
|
|
59
59
|
diagnostic. This changes optional indexes, never project source or DevRites state.
|
|
@@ -63,12 +63,12 @@ It is **read-only**: it never edits the workspace, never advances a phase, never
|
|
|
63
63
|
`$rite-resolve <qid>`; an incomplete install → reinstall). If the output includes
|
|
64
64
|
`git-state: merge in progress` or `git-state: rebase in progress`, make the next action the
|
|
65
65
|
`git-workflow.md` merge-conflict recovery playbook.
|
|
66
|
-
3. **Do not fix anything yourself
|
|
66
|
+
3. **Do not fix anything yourself:** doctor is diagnostic. Hand the user the fix command.
|
|
67
67
|
**Completion:** exactly one highest-priority fix command is reported and no source/workspace file changed.
|
|
68
68
|
|
|
69
69
|
## Gotchas
|
|
70
|
-
- Read-only
|
|
71
|
-
- It diagnoses **DevRites** health, not the user's application
|
|
70
|
+
- Read-only: never write the workspace or advance a phase (that's the lifecycle skills' job).
|
|
71
|
+
- It diagnoses **DevRites** health, not the user's application: code bugs go to
|
|
72
72
|
`devrites-debug-recovery`; feature progress goes to `$rite-status`.
|
|
73
73
|
- Healthy is the common case; say so plainly and stop. Don't invent issues.
|
|
74
74
|
|