devrites 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -10,20 +10,20 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
10
10
|
|
|
11
11
|
- 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.
|
|
12
12
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
13
|
-
- 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
|
|
14
|
-
- 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
|
|
13
|
+
- 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.
|
|
14
|
+
- 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.
|
|
15
15
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
16
|
-
- 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
|
|
16
|
+
- 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.
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
# devrites-interview
|
|
19
|
+
# devrites-interview: extract intent
|
|
20
20
|
|
|
21
|
-
Close the gap between what the user said and what they want, at the cheapest moment
|
|
21
|
+
Close the gap between what the user said and what they want, at the cheapest moment:
|
|
22
22
|
before a plan, spec, or code exists.
|
|
23
23
|
|
|
24
24
|
## Protocol
|
|
25
25
|
- **State a confidence number.** Open with your one-line hypothesis of what the user wants and an
|
|
26
|
-
explicit **0
|
|
26
|
+
explicit **0-100%** confidence in it. The number forces honesty, if you wrote 85% but can't
|
|
27
27
|
predict how the user reacts to your next three questions, the number is wrong. Below **~70%**,
|
|
28
28
|
append the single thing still unresolved so the user can close the gap directly.
|
|
29
29
|
- **One question per turn.** Multiple questions get one answered and the rest ignored.
|
|
@@ -31,13 +31,13 @@ before a plan, spec, or code exists.
|
|
|
31
31
|
> "I'm assuming export is CSV only (covers the stated use case). Right, or also XLSX?"
|
|
32
32
|
This turns an open question into a cheap correction and exposes your model so the user
|
|
33
33
|
can fix the premise.
|
|
34
|
-
- **Highest-value question first
|
|
34
|
+
- **Highest-value question first:** order by how much the answer changes the build. A
|
|
35
35
|
question that moves the data model or acceptance criteria beats a cosmetic one.
|
|
36
36
|
- **Impact-priority + bounded blocking.** Order unknowns **scope > security/privacy > UX >
|
|
37
|
-
technical**, and cap **blocking** questions at **≤3** per pass
|
|
37
|
+
technical**, and cap **blocking** questions at **≤3** per pass: ask the few that gate
|
|
38
38
|
the spec; **default-and-record** the rest in `assumptions.md` (best-guess + why). A reversible
|
|
39
39
|
detail never earns a blocking question.
|
|
40
|
-
- **Structured options** when the space is enumerable
|
|
40
|
+
- **Structured options** when the space is enumerable: present them as the standard ranked
|
|
41
41
|
**option set** (`standards/afk-hitl.md` → "Option set"): recommended **first**, labelled
|
|
42
42
|
`(Recommended)`, each with a dimension-tagged rationale (`logic · infra · business ·
|
|
43
43
|
architecture`, + `security`/`UX`/`risk` when in scope), plus the escape hatch. Render via
|
|
@@ -49,37 +49,37 @@ before a plan, spec, or code exists.
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
## Stop condition
|
|
52
|
-
Stop **opening new questions** when **any** holds
|
|
52
|
+
Stop **opening new questions** when **any** holds: don't interrogate past the point of value.
|
|
53
53
|
(Stopping the interview ≠ deciding for the user: a material call still goes back as a ranked
|
|
54
|
-
option set
|
|
55
|
-
- **Confidence
|
|
54
|
+
option set: confidence lowers the question's *cost* to a one-pick confirm, not its *owner*.)
|
|
55
|
+
- **Confidence: the predict-three test.** The 95% bar is checkable, not a feeling: *can you
|
|
56
56
|
predict the user's reaction to the next three questions you would ask?* If yes, you're done
|
|
57
57
|
extracting. If several rounds pass and you still can't predict, something foundational is
|
|
58
|
-
missing
|
|
59
|
-
- **Convergence
|
|
58
|
+
missing: step back and name it, don't grind out more questions.
|
|
59
|
+
- **Convergence:** the last 2-3 answers only rubber-stamped your guesses and didn't
|
|
60
60
|
move the spec.
|
|
61
|
-
- **Soft cap
|
|
61
|
+
- **Soft cap:** after ~8 material questions, proceed with your best-guess answers logged
|
|
62
62
|
in `assumptions.md` rather than asking more (hard-stop sooner if the ask is small).
|
|
63
63
|
|
|
64
|
-
Depth on the few that matter, not breadth for its own sake. If answers stop converging
|
|
65
|
-
you keep circling one area without progress
|
|
64
|
+
Depth on the few that matter, not breadth for its own sake. If answers stop converging:
|
|
65
|
+
you keep circling one area without progress: **reframe once** (below) instead of asking
|
|
66
66
|
another question.
|
|
67
67
|
|
|
68
68
|
## Want vs. should-want
|
|
69
|
-
People answer with what they think they *should* want
|
|
70
|
-
convention
|
|
69
|
+
People answer with what they think they *should* want (the buzzword, the best practice, the
|
|
70
|
+
convention) not what they want. Watch for tells: abstract virtues ("scalable", "clean",
|
|
71
71
|
"modern"), deferral to what's conventional, an answer that could be pasted into any project. When
|
|
72
|
-
you hear one, ask the unlock question
|
|
73
|
-
you
|
|
72
|
+
you hear one, ask the unlock question, *"if you didn't have to justify this to anyone, what would
|
|
73
|
+
you want?"*. It often does more than the previous five questions. Extract the real want,
|
|
74
74
|
then record it; don't design to the performed one.
|
|
75
75
|
|
|
76
76
|
## What counts as a yes
|
|
77
77
|
Approval is an **explicit** yes, and several common replies aren't one:
|
|
78
|
-
- *"Whatever you think is best"* / *"you decide"
|
|
78
|
+
- *"Whatever you think is best"* / *"you decide"*: **delegation, not approval.** Re-ask with two
|
|
79
79
|
concrete options so the user chooses on the substance, not the deferral.
|
|
80
|
-
- *"Sounds good"* / *"sure, let's go"
|
|
80
|
+
- *"Sounds good"* / *"sure, let's go"*: a polite exit; probe once that it's real agreement, not
|
|
81
81
|
fatigue, on anything material.
|
|
82
|
-
- **Silence
|
|
82
|
+
- **Silence:** not consent. Half of misalignment is silent disagreement about what *won't* be
|
|
83
83
|
built. Make the "out of scope" line explicit and get a yes on it too.
|
|
84
84
|
|
|
85
85
|
## Don't ask
|
|
@@ -87,24 +87,24 @@ Approval is an **explicit** yes, and several common replies aren't one:
|
|
|
87
87
|
- Reversible implementation details (decide, log as an assumption).
|
|
88
88
|
- Everything at once "to be thorough."
|
|
89
89
|
|
|
90
|
-
## When the ask is vague
|
|
90
|
+
## When the ask is vague: map the decision tree first
|
|
91
91
|
For a one-line or fuzzy ask (`"design a contact page"`), don't fire isolated questions.
|
|
92
|
-
First sketch the **decision tree**
|
|
92
|
+
First sketch the **decision tree** (the branches the answer splits into) and resolve
|
|
93
93
|
each branch **depth-first** with the protocol above. Domain branches per area:
|
|
94
94
|
`rite-spec/reference/interview-patterns.md`.
|
|
95
95
|
|
|
96
96
|
## Reframe (once, when stuck)
|
|
97
97
|
If the interview isn't converging, spend **one** turn challenging the premise rather than
|
|
98
|
-
refining it
|
|
98
|
+
refining it: *"is a form even the right answer here, or a mailto / booking link?"* A good
|
|
99
99
|
reframe collapses several open branches. Use it sparingly, then resume the protocol.
|
|
100
100
|
|
|
101
|
-
## /clarify mode
|
|
101
|
+
## /clarify mode: coverage scan of an existing spec
|
|
102
102
|
When invoked to clarify a written spec (not extract intent from scratch), scan it against the fixed
|
|
103
103
|
taxonomy and mark each **Clear / Partial / Missing**: Functional scope · Data model · Interaction
|
|
104
104
|
(API / UI states) · Non-functional (auth / latency / scale / compliance) · Edge cases (empty /
|
|
105
105
|
boundary / invalid / concurrent / failure). Then ask **≤5 prioritized questions** (impact order
|
|
106
106
|
above), targeting Missing before Partial, one per turn with a best-guess attached. **Integrate each
|
|
107
|
-
answer into the right spec section** as it lands
|
|
107
|
+
answer into the right spec section** as it lands (not just a Q&A log) and append a dated
|
|
108
108
|
**`## Clarifications`** block to `spec.md` (Q + resolution) for durable provenance. Re-run the scan
|
|
109
109
|
after answers; stop when every area is Clear or explicitly deferred, then re-score the affected
|
|
110
110
|
`checklists/<domain>.md`.
|
|
@@ -113,4 +113,4 @@ after answers; stop when every area is Clear or explicitly deferred, then re-sco
|
|
|
113
113
|
A short summary the caller can use: objective in one sentence, confirmed decisions,
|
|
114
114
|
still-open (non-blocking) items, recommended next step. If a workspace is active, write
|
|
115
115
|
Q&A to `questions.md`, confirmed calls to `decisions.md`, standing guesses to
|
|
116
|
-
`assumptions.md`. If not, just return the summary
|
|
116
|
+
`assumptions.md`. If not, just return the summary: don't create a workspace.
|
|
@@ -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
|
-
# devrites-lib
|
|
20
|
+
# devrites-lib: internal shared helpers (not a command)
|
|
21
21
|
|
|
22
22
|
This is **not** a skill you run. It is DevRites' manifest for shared references
|
|
23
23
|
and control-plane operations. Skills call `devrites-engine <command>` from any
|
|
@@ -27,54 +27,54 @@ workspace; no pack script path is required.
|
|
|
27
27
|
|
|
28
28
|
These are selected `devrites-engine` contracts; `devrites-engine help` is exhaustive.
|
|
29
29
|
|
|
30
|
-
**Read-only
|
|
30
|
+
**Read-only: orient / gate (never mutate the workspace):**
|
|
31
31
|
|
|
32
|
-
- `devrites-engine preamble
|
|
32
|
+
- `devrites-engine preamble`: orientation digest for the active `.devrites/` feature:
|
|
33
33
|
prints `state.md`, the artifacts present, the run mode (HITL/AFK), and the
|
|
34
34
|
open-question tally by gate. Run first (step 0) by every workspace-operating
|
|
35
35
|
`rite-*` skill so the model orients deterministically instead of re-deriving
|
|
36
36
|
state from raw Markdown.
|
|
37
|
-
- `devrites-engine progress
|
|
38
|
-
first). Run **last** (output step) by every lifecycle `rite-*` skill to render
|
|
39
|
-
`state.md`, with zero model drift
|
|
37
|
+
- `devrites-engine progress`: progress footer; the mirror of `devrites-engine preamble` (which runs
|
|
38
|
+
first). Run **last** (output step) by every lifecycle `rite-*` skill to render (from
|
|
39
|
+
`state.md`, with zero model drift) the `── rite-<phase> ──` header rule, the **slice
|
|
40
40
|
meter** (`Slice 3/5 ██████░░░░ <last-built> ✓`, or `Slices 5/5 ██████████ ✅ ALL
|
|
41
41
|
BUILT` at completion), and the **flow ribbon** (`spec ✓ define ✓ build ◉ … ship ○`).
|
|
42
42
|
The meter answers "how many slices left"; the `✅ ALL BUILT` marker answers "is the
|
|
43
43
|
build done". The skill prints its own what-was-done / next-step / hygiene lines beneath
|
|
44
44
|
it. Read-only; silent (exit 0) when there is no active workspace. Not for the workspace-less
|
|
45
45
|
utilities (`$rite-prototype`, `$rite-zoom-out`, `$rite-pressure-test`, `$rite-handoff`,
|
|
46
|
-
the `$rite` menu)
|
|
47
|
-
- `reference/reply-contract.md
|
|
46
|
+
the `$rite` menu). They have no phase/slice state to render.
|
|
47
|
+
- `reference/reply-contract.md`: the shared user-facing completion reply contract. It
|
|
48
48
|
standardizes the compact chat lines printed below `devrites-engine progress` for success,
|
|
49
49
|
awaiting-human, stopped/blocked, GO, NO-GO, and shipped states. The chat reply is a
|
|
50
50
|
status summary; durable detail stays in the workspace artifacts.
|
|
51
|
-
- `reference/model-tiers.md
|
|
51
|
+
- `reference/model-tiers.md`: the dispatch-by-task-shape contract (extraction / generation /
|
|
52
52
|
ceiling). A skill names a **tier** by the shape of the work and never hardcodes a model name;
|
|
53
53
|
reviewers are ceiling on purpose. Carries the degradation rule for harnesses that cannot pick
|
|
54
54
|
models per agent. Loaded on demand by any skill that dispatches subagents.
|
|
55
|
-
- `devrites-engine build-readiness
|
|
55
|
+
- `devrites-engine build-readiness`: build-readiness gate. Exits non-zero on `$rite-build`'s
|
|
56
56
|
step-0 stop conditions so they hold by exit code, not by prose the model must
|
|
57
57
|
remember: `2` no `Plan approved` (→ `$rite-define`), `3` `awaiting_human`
|
|
58
58
|
(→ `$rite-resolve`), `4` `blocked` (→ `$rite-plan`), `5` no workspace, `0` ready.
|
|
59
|
-
- `devrites-engine evidence-fresh
|
|
59
|
+
- `devrites-engine evidence-fresh`: evidence-freshness gate for `$rite-seal`. Exits `3`
|
|
60
60
|
when any file in `touched-files.md` is newer than `evidence.md` /
|
|
61
61
|
`browser-evidence.md` (stale proof = NO-GO until re-proven), `0` when fresh.
|
|
62
|
-
- `devrites-engine check-acceptance
|
|
62
|
+
- `devrites-engine check-acceptance`: executable acceptance gate. Compiles `spec.md`'s
|
|
63
63
|
acceptance IDs and exits `1` unless every one is checked (proven) in `seal.md`;
|
|
64
64
|
new workspaces use `AC-###`, while legacy archives may still carry old `[ACn]`
|
|
65
65
|
ids. Used by `$rite-seal` and by the outcome grader.
|
|
66
|
-
- `devrites-engine spec-validate
|
|
66
|
+
- `devrites-engine spec-validate`: spec-grammar gate (the spec-side mirror of
|
|
67
67
|
`devrites-engine check-acceptance`). Lints `spec.md`'s structured `### Requirement:` / `#### Scenario:`
|
|
68
68
|
blocks (SHALL/MUST present, ≥1 scenario each, every scenario has WHEN + THEN, headers
|
|
69
69
|
unique). Exits `1` on a grammar violation, `0` when valid **or** when the spec uses the flat
|
|
70
|
-
`AC-###` flat-bullet form (no structured blocks
|
|
70
|
+
`AC-###` flat-bullet form (no structured blocks: nothing to lint, never a failure). Used by
|
|
71
71
|
`$rite-spec`'s readiness gate; see [`standards/spec-grammar.md`](reference/standards/spec-grammar.md).
|
|
72
72
|
|
|
73
|
-
**State mutators
|
|
73
|
+
**State mutators: write `state.md` / `questions.md` under one contract:**
|
|
74
74
|
|
|
75
|
-
- `devrites-engine tick-afk
|
|
76
|
-
- `devrites-engine resolve
|
|
77
|
-
- `devrites-engine close-out
|
|
75
|
+
- `devrites-engine tick-afk`: decrement the AFK slice budget; exits `3` at 0 (forced HITL stop).
|
|
76
|
+
- `devrites-engine resolve`: backs the `$rite-resolve` contract (answer / drop / batch).
|
|
77
|
+
- `devrites-engine close-out`: archive the workspace + clear `ACTIVE` on `$rite-ship`.
|
|
78
78
|
|
|
79
79
|
### Canonical footer snippet
|
|
80
80
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Model tiers
|
|
1
|
+
# Model tiers: dispatch by task shape, never by model name
|
|
2
2
|
|
|
3
3
|
The single source for how DevRites skills choose a model for a dispatched subagent. A skill
|
|
4
4
|
names a **tier** by the *shape of the work*; it never hardcodes provider SKUs (Claude,
|
|
@@ -9,11 +9,11 @@ any skill that dispatches subagents (review fan-out, scouts, judges); not a skil
|
|
|
9
9
|
|
|
10
10
|
| Tier | For work that is… | Examples in DevRites | Model policy |
|
|
11
11
|
|---|---|---|---|
|
|
12
|
-
| **extraction** | search-and-quote: retrieval, grep, verbatim quoting, mechanical scanning
|
|
12
|
+
| **extraction** | search-and-quote: retrieval, grep, verbatim quoting, mechanical scanning: no judgement | archive-search scouts, footprint scanning, repo-profile gathering, an evidence-dossier scout | cheapest capable model **when the harness exposes a per-agent override**; otherwise inherit |
|
|
13
13
|
| **generation** | evidence-driven or mechanical verification: apply a rule to text, draft to a contract, check a claim against a source | drafting to a `design-brief`, mechanical convention checks, first-pass claim verification | mid-tier when the harness allows; otherwise inherit |
|
|
14
|
-
| **ceiling** | adversarial judgement and composition: the calls that decide GO/NO-GO or write the artifact a human reads | every reviewer in the seal/review fan-out, `devrites-forge-judge`, `devrites-plan-reviewer`, `$rite-explain` composition | the orchestrator's own model
|
|
14
|
+
| **ceiling** | adversarial judgement and composition: the calls that decide GO/NO-GO or write the artifact a human reads | every reviewer in the seal/review fan-out, `devrites-forge-judge`, `devrites-plan-reviewer`, `$rite-explain` composition | the orchestrator's own model: inherited by declaring **no** model, never dispatched down |
|
|
15
15
|
|
|
16
|
-
**Reviewers are ceiling on purpose.** Adversarial review is where a cheap model costs the most
|
|
16
|
+
**Reviewers are ceiling on purpose.** Adversarial review is where a cheap model costs the most:
|
|
17
17
|
a missed vulnerability or a rubber-stamp is far more expensive than the tokens saved. DevRites
|
|
18
18
|
agent definitions therefore declare **no** `model:` field: they inherit the ceiling. Do not add
|
|
19
19
|
one to a reviewer to save cost. The tier a scout runs on is where savings are safe.
|
|
@@ -25,7 +25,7 @@ correctly on a harness that cannot select models per agent, or has no subagent p
|
|
|
25
25
|
|
|
26
26
|
1. **Per-agent model override unavailable** → dispatch the scout on the **inherited** model and
|
|
27
27
|
keep its **read budget and output cap**. The cost control falls back to structure, not model
|
|
28
|
-
choice
|
|
28
|
+
choice. This is why every scout dispatch also carries an explicit read budget.
|
|
29
29
|
2. **No subagent primitive at all** → run the scout work **inline** in the orchestrator, with the
|
|
30
30
|
same budgets. The tier still tells you how much to spend, even with nothing to dispatch to.
|
|
31
31
|
|
|
@@ -1,79 +1,79 @@
|
|
|
1
1
|
# Parallel review dispatch
|
|
2
2
|
|
|
3
3
|
How `$rite-review` and `$rite-seal` fan out the fresh-context review subagents under
|
|
4
|
-
`.codex/agents/`. The **single source** for the dispatch + reconciliation contract
|
|
4
|
+
`.codex/agents/`. The **single source** for the dispatch + reconciliation contract: loaded on
|
|
5
5
|
demand by the calling skill (each points here); not a skill itself.
|
|
6
6
|
|
|
7
|
-
The seal/review fan-out **roster** is the seven post-build reviewers in the table below
|
|
7
|
+
The seal/review fan-out **roster** is the seven post-build reviewers in the table below. This
|
|
8
8
|
file is the single source of which reviewer fires when. The seal and the multi-axis review need
|
|
9
9
|
them running **at the same time**, on the same workspace + diff, so the verdicts don't
|
|
10
10
|
contaminate each other. Every other agent under `.codex/agents/` fires from its own phase, not
|
|
11
|
-
here
|
|
11
|
+
here: the roster table below names them under **Not in this fan-out** so the set is unambiguous.
|
|
12
12
|
|
|
13
13
|
Pattern: delegate to specialized agents with isolated context, brief each one precisely, run
|
|
14
14
|
them concurrently, reconcile on return.
|
|
15
15
|
|
|
16
|
-
## The roster
|
|
16
|
+
## The roster: every reviewer the fan-out accounts for
|
|
17
17
|
|
|
18
|
-
These seven are the **roster**. `$rite-seal` accounts for **all** of them
|
|
18
|
+
These seven are the **roster**. `$rite-seal` accounts for **all** of them: the always-on three
|
|
19
19
|
plus each conditional, either dispatched or skip-recorded; `$rite-review` runs the two always-on
|
|
20
20
|
axes. Each trigger is a *checkable signal*, not a judgement call, so a conditional reviewer is
|
|
21
|
-
either fired or consciously skipped
|
|
21
|
+
either fired or consciously skipped: never silently dropped.
|
|
22
22
|
|
|
23
|
-
| Reviewer | Fires | Trigger
|
|
23
|
+
| Reviewer | Fires | Trigger: the checkable signal |
|
|
24
24
|
|---|---|---|
|
|
25
25
|
| `devrites-spec-reviewer` | always | `$rite-review` Spec axis; `$rite-seal` (carry review's verdict forward only if the diff is unchanged) |
|
|
26
26
|
| `devrites-code-reviewer` | always | `$rite-review` Code-review axis; `$rite-seal` (carry forward only if the diff is unchanged) |
|
|
27
27
|
| `devrites-test-analyst` | always | at `$rite-seal` |
|
|
28
|
-
| `devrites-frontend-reviewer` | conditional | the diff touches a UI file
|
|
28
|
+
| `devrites-frontend-reviewer` | conditional | the diff touches a UI file: component / template / stylesheet, per the project's UI paths |
|
|
29
29
|
| `devrites-security-auditor` | conditional | the diff touches input handling, auth / authz, data storage or access, an external integration, or a secret |
|
|
30
30
|
| `devrites-performance-reviewer` | conditional | `spec.md` states a perf budget, **OR** the diff adds a query / a loop over a growing set / hot-path or render work |
|
|
31
|
-
| `devrites-devex-reviewer` | conditional | the diff changes a developer-facing surface
|
|
31
|
+
| `devrites-devex-reviewer` | conditional | the diff changes a developer-facing surface: public API, CLI, SDK/library export, webhook, config/env contract, error message, or getting-started path |
|
|
32
32
|
|
|
33
|
-
### Hit-rate gating
|
|
33
|
+
### Hit-rate gating: consult before dispatching conditionals
|
|
34
34
|
|
|
35
35
|
Before dispatching, run `devrites-engine reviewer-stats report`. It grades each reviewer from the
|
|
36
36
|
cross-feature dispatch ledger (`.devrites/reviewer-stats.jsonl`):
|
|
37
37
|
|
|
38
|
-
- `run` / `run (always-on)` / `run (insurance — never gated)
|
|
39
|
-
- `gate-candidate
|
|
38
|
+
- `run` / `run (always-on)` / `run (insurance — never gated)`: dispatch per the trigger table above.
|
|
39
|
+
- `gate-candidate`: this **conditional** reviewer produced zero surviving findings in its last 10+
|
|
40
40
|
dispatches on this project. Skip it as a *recorded* skip:
|
|
41
41
|
`devrites-engine footprint log <slug> skip devrites-<x>-reviewer` with the reason
|
|
42
|
-
`gated: zero surviving findings in <N> dispatches`. The roster gate stays satisfied
|
|
42
|
+
`gated: zero surviving findings in <N> dispatches`. The roster gate stays satisfied: a gated
|
|
43
43
|
skip is a conscious skip.
|
|
44
44
|
|
|
45
45
|
The verdict is engine-owned and deterministic; never gate by your own judgement of a reviewer's
|
|
46
46
|
past usefulness. Two hard bounds: the always-on axes (`spec`, `code-review`, `test-analyst`) and
|
|
47
|
-
the insurance reviewers (`security-auditor`, `doubt-reviewer`) are **never** gated
|
|
47
|
+
the insurance reviewers (`security-auditor`, `doubt-reviewer`) are **never** gated: the engine
|
|
48
48
|
never grades them `gate-candidate`, and a caller must not skip them on hit-rate grounds. The user
|
|
49
49
|
can override gating for one run by asking for a full panel (`--full`): then dispatch every
|
|
50
50
|
triggered reviewer regardless of verdict.
|
|
51
51
|
|
|
52
|
-
After reconciliation, close the loop
|
|
52
|
+
After reconciliation, close the loop: record each **dispatched** reviewer's outcome so the
|
|
53
53
|
ledger stays live:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
56
|
devrites-engine reviewer-stats record devrites-<x>-reviewer <surviving Critical+Important count> <slug>
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Surviving means it stood after reconciliation and dismissals
|
|
59
|
+
Surviving means it stood after reconciliation and dismissals: a finding the caller dismissed as a
|
|
60
60
|
false positive does not count. Record `0` honestly; dry streaks are the signal.
|
|
61
61
|
|
|
62
62
|
**Not in this fan-out** (named so the roster is unambiguous): `devrites-simplifier-reviewer` fires
|
|
63
63
|
at `$rite-polish` Phase 1 (via `devrites-audit simplify`) and `devrites-doubt-reviewer` fires from
|
|
64
|
-
`devrites-doubt` when a decision is stood up
|
|
64
|
+
`devrites-doubt` when a decision is stood up: neither is a seal reviewer, so neither is part of
|
|
65
65
|
the seal accounting. `devrites-strategy-reviewer` (pre-plan, `$rite-temper`), `devrites-plan-reviewer`
|
|
66
66
|
(pre-build, `$rite-vet`), `devrites-forge-judge` (`$rite-build` forge), and `devrites-retrospector`
|
|
67
|
-
(`$rite-ship` close) are single-agent, phase-locked gates
|
|
67
|
+
(`$rite-ship` close) are single-agent, phase-locked gates. They fire iff their phase runs, not here.
|
|
68
68
|
|
|
69
69
|
One entity, one name: the `devrites-code-reviewer`'s axis is the **Code-review axis** everywhere
|
|
70
|
-
(at both `$rite-review` and `$rite-seal`)
|
|
70
|
+
(at both `$rite-review` and `$rite-seal`): don't rename it per caller.
|
|
71
71
|
|
|
72
72
|
## Dispatch shape
|
|
73
73
|
|
|
74
|
-
For each chosen subagent, the caller uses the harness's subagent primitive
|
|
74
|
+
For each chosen subagent, the caller uses the harness's subagent primitive (the `Task` tool on
|
|
75
75
|
Claude Code, `spawn_agent` (with the matching `.codex/agents/devrites-*.toml` custom agent) on
|
|
76
|
-
Codex
|
|
76
|
+
Codex) with this prompt shape:
|
|
77
77
|
|
|
78
78
|
```
|
|
79
79
|
Audit the active DevRites feature.
|
|
@@ -102,10 +102,10 @@ reconciles.
|
|
|
102
102
|
Rules:
|
|
103
103
|
|
|
104
104
|
- **One Task call per subagent, awaited in the same turn.** Send them in a single message with multiple `Task` invocations so the runtime dispatches concurrently. Never background/detach reviewers in `$rite-autocomplete` or AFK; there is no event loop that guarantees a later result is reconciled.
|
|
105
|
-
- **No cross-pollination.** Each subagent gets only its narrow brief and the workspace path. Do not pass another subagent's findings into a sibling's prompt
|
|
105
|
+
- **No cross-pollination.** Each subagent gets only its narrow brief and the workspace path. Do not pass another subagent's findings into a sibling's prompt, that recreates the masking problem.
|
|
106
106
|
- **No author context.** Do not include the caller's analysis or the user's framing of the change; the point is a fresh, adversarial read.
|
|
107
107
|
- **Never coach a reviewer.** No "do not flag X", "treat Y as at most Minor", or "the plan
|
|
108
|
-
chose this" in a dispatch prompt
|
|
108
|
+
chose this" in a dispatch prompt: pre-judging findings is how a known defect sails through.
|
|
109
109
|
A plan-mandated quirk still gets reported; the caller (or the human) grades it, not the prompt.
|
|
110
110
|
- **Feature scope only.** Each subagent must stay inside `touched-files.md` + the diff.
|
|
111
111
|
- **Can't-verify is a verdict, not a pass.** A reviewer that cannot verify a spec requirement
|
|
@@ -113,21 +113,21 @@ Rules:
|
|
|
113
113
|
The caller resolves each one itself before the gate; an unresolved CANNOT-VERIFY on an
|
|
114
114
|
acceptance-mapped requirement stands as a gap, not a pass.
|
|
115
115
|
|
|
116
|
-
## Account for every reviewer
|
|
116
|
+
## Account for every reviewer: the roster gate
|
|
117
117
|
|
|
118
|
-
The fan-out is done only when **every roster reviewer is accounted for
|
|
118
|
+
The fan-out is done only when **every roster reviewer is accounted for**: dispatched, or
|
|
119
119
|
consciously skipped with a one-line reason. A conditional reviewer that genuinely does not apply
|
|
120
120
|
(no UI in the diff → `frontend-reviewer`) is a *recorded* skip, not a silent no-op. That record
|
|
121
|
-
is the difference between "reviewed" and "declared done after firing three of seven"
|
|
121
|
+
is the difference between "reviewed" and "declared done after firing three of seven": the silent
|
|
122
122
|
skip is exactly how a needed reviewer never runs.
|
|
123
123
|
|
|
124
124
|
Record each decision to the footprint as you make it (via `devrites-engine footprint`, as in `$rite-build`). Log the reviewer's
|
|
125
|
-
**exact agent name
|
|
125
|
+
**exact agent name**: the `.codex/agents/` stem, e.g. `devrites-frontend-reviewer`; the `roster`
|
|
126
126
|
gate matches on it (stripping the `devrites-` prefix), so a freehand label like `frontend` or
|
|
127
127
|
`Spec axis` will not match and the gate reads that reviewer as unaccounted:
|
|
128
128
|
|
|
129
129
|
- dispatched → `devrites-engine footprint log <slug> reviewer devrites-<x>-reviewer` (the dispatch record itself)
|
|
130
|
-
- skipped → `devrites-engine footprint log <slug> skip devrites-<x>-reviewer` # e.g. `skip devrites-frontend-reviewer
|
|
130
|
+
- skipped → `devrites-engine footprint log <slug> skip devrites-<x>-reviewer` # e.g. `skip devrites-frontend-reviewer`: no UI in the diff
|
|
131
131
|
|
|
132
132
|
Then, **before the verdict**, prove the roster is complete:
|
|
133
133
|
|
|
@@ -136,23 +136,23 @@ devrites-engine footprint roster <slug> # rc=0 complete · rc=3 a reviewer was
|
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
`rc=3` is the silent omission the gate exists to catch: resolve it by dispatching the reviewer or
|
|
139
|
-
recording why it does not apply
|
|
139
|
+
recording why it does not apply: never by proceeding with it unaccounted. `rc=1` means an
|
|
140
140
|
always-on axis (Spec / Code-review) was skip-recorded; that is legitimate only as a carry-forward
|
|
141
|
-
of `$rite-review`'s verdict on an **unchanged** diff
|
|
141
|
+
of `$rite-review`'s verdict on an **unchanged** diff: confirm that, don't wave it through.
|
|
142
142
|
|
|
143
143
|
## Reconciliation
|
|
144
144
|
|
|
145
145
|
When the subagents return:
|
|
146
146
|
|
|
147
|
-
1. **Quote verbatim.** Place each subagent's findings under its own `## <axis>` heading in `review.md` / `seal.md`. Do not merge, re-rank, or summarize. `devrites-code-reviewer` runs its **full** documented discipline (tests-first, correctness, readability, architecture, maintainability, standards); the inline lead **reconciles** the returned reports
|
|
147
|
+
1. **Quote verbatim.** Place each subagent's findings under its own `## <axis>` heading in `review.md` / `seal.md`. Do not merge, re-rank, or summarize. `devrites-code-reviewer` runs its **full** documented discipline (tests-first, correctness, readability, architecture, maintainability, standards); the inline lead **reconciles** the returned reports. It does not re-run those same axes itself.
|
|
148
148
|
2. **Surface contradictions explicitly.** "Spec axis says complete, Code-review axis says untestable" is a finding, not noise. The caller decides at the gate.
|
|
149
149
|
3. **Severity is the gate, not a score.** Sum the labels (`Critical / Important / Suggestion / Nit / FYI`) and apply the caller's gate (`$rite-seal` blocks on `Critical == 0`; `$rite-review` reports counts).
|
|
150
|
-
4. **One scale.** All subagents use the same five-label scale (Critical / Important / Suggestion / Nit / FYI). Reject any subagent output that invents its own. **Exception:** `devrites-simplifier-reviewer` deliberately emits only Suggestion / Nit / FYI (it is non-blocking by design)
|
|
151
|
-
5. **Consensus roll-up (after the verbatim per-axis record).** Keep every axis's findings verbatim under its `## <axis>` heading (above), then add one deduped roll-up the gate reads: where **≥2 axes flag the same `file:line`**, raise it to the top and mark it *consensus
|
|
150
|
+
4. **One scale.** All subagents use the same five-label scale (Critical / Important / Suggestion / Nit / FYI). Reject any subagent output that invents its own. **Exception:** `devrites-simplifier-reviewer` deliberately emits only Suggestion / Nit / FYI (it is non-blocking by design), that is a valid subset of the scale, not an invented one; do not reject it during reconciliation.
|
|
151
|
+
5. **Consensus roll-up (after the verbatim per-axis record).** Keep every axis's findings verbatim under its `## <axis>` heading (above), then add one deduped roll-up the gate reads: where **≥2 axes flag the same `file:line`**, raise it to the top and mark it *consensus*: independent corroboration raises confidence. A lone low-confidence finding with no `file:line` or evidence anchor drops out of the roll-up (it stays in its per-axis section). The roll-up reduces noise without hiding any axis: the verbatim sections are the audit trail; the roll-up is the actionable summary the gate acts on.
|
|
152
152
|
|
|
153
153
|
## Model tier
|
|
154
154
|
|
|
155
|
-
Every reviewer in this fan-out runs at **ceiling tier
|
|
155
|
+
Every reviewer in this fan-out runs at **ceiling tier**: the orchestrator's own model, inherited
|
|
156
156
|
by declaring no `model:` in the agent definition (see
|
|
157
157
|
[`model-tiers.md`](model-tiers.md)). Adversarial review is exactly where a cheaper model costs the
|
|
158
158
|
most: a missed Critical is far more expensive than the tokens saved. Do not downgrade a reviewer to
|
|
@@ -161,5 +161,5 @@ save cost. Extraction-tier savings belong to scouts (archive-search, footprint),
|
|
|
161
161
|
## Fallback
|
|
162
162
|
|
|
163
163
|
If the harness has **no subagent primitive at all** (neither Claude's `Task` nor Codex's
|
|
164
|
-
`spawn_agent
|
|
165
|
-
qualify), the caller runs the relevant subagent discipline **inline** in its own context and flags the result as a fallback (not an independent review). The seal weighs the fallback differently
|
|
164
|
+
`spawn_agent`: an absent tool on one harness while the other's equivalent exists does NOT
|
|
165
|
+
qualify), the caller runs the relevant subagent discipline **inline** in its own context and flags the result as a fallback (not an independent review). The seal weighs the fallback differently: see [`../../rite-seal/reference/risk-and-rollback.md`](../../rite-seal/reference/risk-and-rollback.md). This is the [`model-tiers.md`](model-tiers.md) degradation rule applied to the review panel: no subagent primitive → run inline under the same discipline and budget.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# DevRites rules
|
|
2
2
|
|
|
3
3
|
Stack-agnostic engineering rules that DevRites installs to `.agents/skills/devrites-lib/reference/standards/`. They encode
|
|
4
|
-
the standards the DevRites workflow holds code to
|
|
4
|
+
the standards the DevRites workflow holds code to: quality, safety, testing, and review
|
|
5
5
|
discipline that apply in any language.
|
|
6
6
|
|
|
7
7
|
These are **common** by design: nothing here assumes a specific framework or language.
|
|
8
8
|
Project-specific conventions always win where they exist (DevRites reads the codebase and
|
|
9
9
|
prefers what's already there).
|
|
10
10
|
|
|
11
|
-
## Loading model
|
|
11
|
+
## Loading model: progressive disclosure
|
|
12
12
|
|
|
13
13
|
To keep context lean, the rules follow progressive disclosure: each DevRites `rite-*`
|
|
14
14
|
skill Reads `.agents/skills/devrites-lib/reference/standards/core.md` as its first step;
|
|
@@ -25,20 +25,20 @@ the remaining rule files load on demand by the phase that needs them.
|
|
|
25
25
|
| Rule | Covers | Typical phase |
|
|
26
26
|
|---|---|---|
|
|
27
27
|
| `coding-style.md` | Naming, function shape, guard clauses, comments, simplicity, reuse-first. | `$rite-build`, `$rite-polish` Phase 1. |
|
|
28
|
-
| `prose-style.md` | Human-voice writing for artifacts + replies; two registers (prose vs technical); the LLM-tell cut-list. Depth in the `devrites-prose-craft` skill. | Any phase that writes prose
|
|
28
|
+
| `prose-style.md` | Human-voice writing for artifacts + replies; two registers (prose vs technical); the LLM-tell cut-list. Depth in the `devrites-prose-craft` skill. | Any phase that writes prose: `$rite-spec`, `$rite-define`, `$rite-review`, `$rite-seal`, `$rite-ship`; `$rite-polish` Phase 1 as the catch. |
|
|
29
29
|
| `error-handling.md` | Fail fast, no silent catches, meaningful messages, fail closed. | `$rite-build`, `$rite-polish` (backend), `$rite-review`. |
|
|
30
30
|
| `testing.md` | Pyramid, behavior over implementation, determinism. | `$rite-build`, `$rite-prove`, `$rite-review`. |
|
|
31
|
-
| `spec-grammar.md` | Optional, recommended structure for behavioral acceptance
|
|
31
|
+
| `spec-grammar.md` | Optional, recommended structure for behavioral acceptance: `### Requirement:` (SHALL/MUST) + `#### Scenario:` (WHEN/THEN), validated deterministically by `devrites-engine spec-validate`. Progressive rigor; flat `AC-###` bullets stay valid. | `$rite-spec` readiness gate; `$rite-prove`, `$rite-review` consume the scenario hooks. |
|
|
32
32
|
| `code-review.md` | Small PRs, severity labels, what to check, actionable feedback. | `$rite-review`, `$rite-seal`. |
|
|
33
33
|
| `edge-case-trace.md` | Mechanical branch/boundary sweep, fixed-set siblings, and deletion-contract checks. | `$rite-review`, `$rite-seal`, `devrites-doubt`. |
|
|
34
34
|
| `security.md` | Untrusted input, least privilege, secrets, three-tier trust boundary, fail closed. | When input / auth / data / integrations are in scope. |
|
|
35
35
|
| `performance.md` | Measure first, common pitfalls, prove the win. | When perf is in scope. |
|
|
36
|
-
| `observability.md` | Structured logs, metrics/SLIs, traces, symptom-based alerts, verify-the-telemetry-fires
|
|
37
|
-
| `developer-experience.md` | DX as a measured axis
|
|
36
|
+
| `observability.md` | Structured logs, metrics/SLIs, traces, symptom-based alerts, verify-the-telemetry-fires: proof a feature works in prod. | When the change has a runtime surface (endpoint, job, integration, user flow); `$rite-prove`, `$rite-seal`. |
|
|
37
|
+
| `developer-experience.md` | DX as a measured axis: the predict-at-vet / measure-at-prove / reconcile-at-seal boomerang; scorecard (TTHW, getting-started, error-message quality, ergonomics, docs); severity by who-pays. Conditional + greenfield no-op. | When a developer-facing surface is in scope (public API, CLI, SDK/library, webhook, config, error messages, getting-started); `$rite-vet`, `$rite-prove`, `$rite-seal`. |
|
|
38
38
|
| `patterns.md` | SOLID, composition, loose coupling, avoid over-engineering. | `$rite-build`, simplification audit. |
|
|
39
39
|
| `git-workflow.md` | Conventional Commits, atomic commits, small PRs. | `$rite-ship` commit / push / tag steps. |
|
|
40
|
-
| `hooks.md` | Stage checks by cost, fast local hooks, secret scanning. | Reference-only
|
|
41
|
-
| `ci-cd.md` | Shift-left + faster-is-safer, the no-skip gate pipeline, the CI-failure loop, Build Cop, feature-flags decouple deploy from release, secret tiers, the pipeline-speed ladder. | Reference
|
|
40
|
+
| `hooks.md` | Stage checks by cost, fast local hooks, secret scanning. | Reference-only: read when setting up the project's git hooks; not auto-loaded by any phase. |
|
|
41
|
+
| `ci-cd.md` | Shift-left + faster-is-safer, the no-skip gate pipeline, the CI-failure loop, Build Cop, feature-flags decouple deploy from release, secret tiers, the pipeline-speed ladder. | Reference: read when setting up or changing a build/deploy pipeline; `$rite-ship` when CI/CD is in scope. |
|
|
42
42
|
| `documentation.md` | Explain why, keep current, record decisions. | `$rite-spec`, `$rite-define`, `$rite-seal`. |
|
|
43
43
|
| `elicitation.md` | A move-set of named reasoning techniques (Steelman, Delphi, Red-Team/Blue-Team, Assumption Audit, Pre-Mortem…) selected per section by risk, to deepen a spec or plan on demand. | `$rite-temper`, `$rite-vet`; any section that needs sharper thinking. |
|
|
44
44
|
| `development-workflow.md` | Small batches, trunk-always-green, definition of done. | `$rite-define`, `$rite-plan`. |
|
|
@@ -48,7 +48,7 @@ the remaining rule files load on demand by the phase that needs them.
|
|
|
48
48
|
| `context-hygiene.md` | `/clear` vs `/compact`, lost-in-the-middle, phase-aware hygiene footer. | Phase-end hygiene footer; choosing `/clear` vs `/compact`. |
|
|
49
49
|
| `anti-patterns.md` | Pack-wide rationalizations + red flags the agent reaches for. | Loaded by each `rite-*/reference/anti-patterns.md`; loaded directly when reluctance is broader than the active phase. |
|
|
50
50
|
| `afk-hitl.md` | AFK vs HITL contract: `.devrites/AFK` sentinel format, `questions.md` schema, four-gate taxonomy (advisory / validating / blocking / escalating), AFK-never-silently-accepts boundaries. | `$rite-build`, `$rite-status`, `$rite-resolve`, `devrites-doubt`; anywhere a pause-or-proceed decision happens. |
|
|
51
|
-
| `tooling.md` | Optional external tools
|
|
51
|
+
| `tooling.md` | Optional external tools: code intelligence (codebase-memory-mcp first → cross-verify with codegraph + graphify → standard methods LSP / `Read`/`Grep`/`Glob`), up-to-date library docs (context7), architecture/ADR memory. Recommended, not required. | Any phase doing structural lookups (callers / impact / placement) or relying on external library/framework facts. |
|
|
52
52
|
| `skill-authoring.md` | Skill descriptions, progressive disclosure, completion criteria, and pruning rules for keeping DevRites skills predictable and cheap. | When creating or editing DevRites skills or reviewing skill pack quality. |
|
|
53
53
|
| `definition-of-done.md` | Done means acceptance proven, evidence recorded, drift resolved, and handoff/ship state clean. | `$rite-prove`, `$rite-seal`, `$rite-ship`. |
|
|
54
54
|
| `review-checklist.md` | Compact reviewer pass/fail checklist. | `$rite-review`, `$rite-seal`. |
|
|
@@ -57,5 +57,5 @@ the remaining rule files load on demand by the phase that needs them.
|
|
|
57
57
|
| `security-checklist.md` | Security review checklist. | Auth/input/data/integration changes. |
|
|
58
58
|
|
|
59
59
|
How they're used: DevRites skills follow these rules; you and Claude can reference them
|
|
60
|
-
directly. They are guidance, not enforced gates
|
|
60
|
+
directly. They are guidance, not enforced gates: the enforced gates live in the
|
|
61
61
|
workflow skills (Spec Drift Guard, readiness gates, the seal).
|