devrites 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +282 -533
- package/SECURITY.md +26 -26
- package/docs/adr/README.md +7 -9
- package/docs/agents/domain.md +5 -5
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +1 -1
- package/docs/agents/triage-labels.md +2 -2
- package/docs/architecture.md +45 -45
- package/docs/cli.md +11 -11
- package/docs/command-map.md +33 -33
- package/docs/engine/agent-contract.md +6 -6
- package/docs/engine/commands.md +66 -65
- package/docs/engine/state-schema.md +15 -15
- package/docs/engine/workspace-schema.md +7 -7
- package/docs/extensions.md +17 -17
- package/docs/flow.md +17 -17
- package/docs/harness-compliance.md +2 -2
- package/docs/orchestration.md +21 -20
- package/docs/release.md +22 -5
- package/docs/research/go-authoritative-workflow-schema-and-quality-2026-07-20.md +3 -3
- package/docs/skills.md +77 -52
- package/docs/usage.md +33 -32
- package/engine/Makefile +2 -2
- package/engine/commands.go +3 -3
- package/engine/harnessmatrix.go +2 -2
- package/engine/hookpolicy.go +9 -9
- package/engine/hooks.go +11 -11
- package/engine/hooks_workspace.go +11 -11
- package/engine/internal/doctor/doctor.go +7 -7
- package/engine/internal/gate/gate.go +11 -11
- package/engine/internal/harness/compliance.go +1 -1
- package/engine/internal/harness/harness.go +7 -7
- package/engine/internal/install/install.go +95 -24
- package/engine/internal/install/install_test.go +111 -3
- package/engine/internal/iohooks/detach_unix.go +1 -1
- package/engine/internal/iohooks/iohooks.go +8 -8
- package/engine/internal/lib/adoption.go +1 -1
- package/engine/internal/lib/analyze.go +15 -15
- package/engine/internal/lib/archivesearch.go +3 -3
- package/engine/internal/lib/budget.go +3 -3
- package/engine/internal/lib/buildreadiness.go +6 -6
- package/engine/internal/lib/checkacceptance.go +10 -10
- package/engine/internal/lib/closeout.go +5 -5
- package/engine/internal/lib/conventions.go +3 -3
- package/engine/internal/lib/coverage.go +4 -4
- package/engine/internal/lib/doubtcoverage.go +9 -9
- package/engine/internal/lib/evidencefresh.go +6 -6
- package/engine/internal/lib/extensions.go +9 -9
- package/engine/internal/lib/footprint.go +13 -13
- package/engine/internal/lib/jsonout.go +2 -2
- package/engine/internal/lib/lanes.go +2 -2
- package/engine/internal/lib/learnings.go +9 -9
- package/engine/internal/lib/ledger.go +8 -8
- package/engine/internal/lib/ledger_test.go +5 -5
- package/engine/internal/lib/mutationgate.go +4 -4
- package/engine/internal/lib/overrides.go +9 -9
- package/engine/internal/lib/overrides_test.go +2 -2
- package/engine/internal/lib/packageexistence.go +5 -5
- package/engine/internal/lib/preamble.go +6 -6
- package/engine/internal/lib/progress.go +5 -5
- package/engine/internal/lib/reconcile.go +80 -20
- package/engine/internal/lib/reconcile_test.go +13 -5
- package/engine/internal/lib/resolve.go +3 -3
- package/engine/internal/lib/reviewerstats.go +2 -2
- package/engine/internal/lib/reviewintegrity.go +13 -13
- package/engine/internal/lib/reviewintegrity_test.go +6 -6
- package/engine/internal/lib/runbook.go +1 -1
- package/engine/internal/lib/session.go +1 -1
- package/engine/internal/lib/session_test.go +2 -2
- package/engine/internal/lib/specparse.go +4 -4
- package/engine/internal/lib/specskeleton.go +2 -2
- package/engine/internal/lib/specvalidate.go +13 -13
- package/engine/internal/lib/stuck.go +13 -13
- package/engine/internal/lib/templates/conventions_ledger_header.md +1 -1
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -1
- package/engine/internal/lib/testintegrity.go +9 -9
- package/engine/internal/lib/tickafk.go +4 -4
- package/engine/internal/migrate/migrate.go +2 -2
- package/engine/internal/migrate/migrate_test.go +1 -0
- package/engine/internal/orient/firstrun.go +8 -8
- package/engine/internal/orient/orient.go +5 -5
- package/engine/internal/state/concurrency_test.go +4 -4
- package/engine/internal/state/feature.go +6 -6
- package/engine/internal/state/lock_unix.go +1 -1
- package/engine/internal/state/schema.go +1 -1
- package/engine/internal/state/snapshot.go +2 -2
- package/engine/internal/state/write.go +1 -1
- package/engine/internal/version/version.go +1 -1
- package/engine/main.go +5 -5
- package/engine/subagent_orient_context.txt +4 -4
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +2 -2
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +4 -4
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +3 -3
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +3 -3
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +1 -1
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +1 -1
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +1 -1
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +1 -1
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/bare.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +1 -1
- package/engine/testdata/golden/TestParityCursor/red.golden +2 -2
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +1 -1
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/mine.golden +1 -1
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +1 -1
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +1 -1
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +1 -1
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +1 -1
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/batch.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +1 -1
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +1 -1
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +1 -1
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +1 -1
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +1 -1
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +1 -1
- package/engine/testdata/golden/TestParityTickAfk/none.golden +1 -1
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +1 -1
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +1 -1
- package/engine/tests/adr_0004_required_by_phase_test.go +2 -2
- package/engine/tests/adr_0006_clock_seam_test.go +1 -1
- package/engine/tests/budget_test.go +1 -1
- package/engine/tests/canonical_ac_ids_test.go +2 -2
- package/engine/tests/cli_test.go +1 -1
- package/engine/tests/concurrency_cli_test.go +1 -1
- package/engine/tests/gate_test.go +4 -4
- package/engine/tests/hook_test.go +3 -3
- package/engine/tests/hooks_io_test.go +1 -1
- package/engine/tests/lib_parity_test.go +29 -29
- package/engine/tests/meta_test.go +2 -2
- package/engine/tests/parity_closeout_test.go +1 -1
- package/engine/tests/parity_learnings_test.go +2 -2
- package/engine/tests/parity_mutationgate_test.go +2 -2
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/parity_test.go +3 -3
- package/engine/tests/parity_tickafk_test.go +1 -1
- package/engine/validatepack.go +5 -5
- package/engine/validatepackskills.go +9 -9
- package/pack/.claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/.claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/.claude/agents/devrites-forge-judge.md +26 -26
- package/pack/.claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/.claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/.claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/.claude/agents/devrites-retrospector.md +19 -19
- package/pack/.claude/agents/devrites-security-auditor.md +15 -15
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/.claude/agents/devrites-slice-wright.md +52 -51
- package/pack/.claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/.claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/.claude/agents/devrites-test-analyst.md +13 -13
- package/pack/.claude/settings.json +1 -1
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/.claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/.claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/.claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/.claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/.claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/.claude/skills/rite/SKILL.md +7 -7
- package/pack/.claude/skills/rite/reference/menu.md +6 -6
- package/pack/.claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/.claude/skills/rite-build/SKILL.md +22 -22
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/.claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/.claude/skills/rite-build/reference/output.md +1 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/.claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/.claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/.claude/skills/rite-define/SKILL.md +25 -25
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/.claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/.claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/.claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/.claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/.claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/.claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/.claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/.claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/.claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/.claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/.claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/.claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/.claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/.claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/.claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/.claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/.claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/.claude/skills/rite-review/SKILL.md +34 -34
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/.claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/.claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/.claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/.claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/.claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/.claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/.claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/.claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/.claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/.claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/.claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/.claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/.claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/.claude/skills/rite-status/SKILL.md +13 -13
- package/pack/.claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/.claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/.claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/.claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/.claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/.claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/claude/agents/devrites-code-reviewer.md +21 -22
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +6 -6
- package/pack/generated/claude/agents/devrites-forge-judge.md +26 -26
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +17 -17
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +19 -18
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +29 -27
- package/pack/generated/claude/agents/devrites-retrospector.md +19 -19
- package/pack/generated/claude/agents/devrites-security-auditor.md +15 -15
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +14 -14
- package/pack/generated/claude/agents/devrites-slice-wright.md +52 -51
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +11 -11
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +21 -21
- package/pack/generated/claude/agents/devrites-test-analyst.md +13 -13
- package/pack/generated/claude/settings.json +1 -1
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +12 -12
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +7 -7
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +14 -14
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +27 -27
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +5 -5
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +6 -6
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +8 -8
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +33 -33
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/claude/skills/rite/SKILL.md +7 -7
- package/pack/generated/claude/skills/rite/reference/menu.md +6 -6
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +15 -15
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/claude/skills/rite-build/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/claude/skills/rite-converge/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-define/SKILL.md +25 -25
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-explain/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/claude/skills/rite-frame/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-learn/SKILL.md +23 -23
- package/pack/generated/claude/skills/rite-plan/SKILL.md +21 -21
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/claude/skills/rite-polish/SKILL.md +11 -11
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/claude/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/claude/skills/rite-pov/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +14 -14
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -17
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +22 -22
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/claude/skills/rite-review/SKILL.md +34 -34
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/claude/skills/rite-seal/SKILL.md +26 -26
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/claude/skills/rite-ship/SKILL.md +12 -12
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +45 -45
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/claude/skills/rite-status/SKILL.md +13 -13
- package/pack/generated/claude/skills/rite-temper/SKILL.md +29 -29
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/claude/skills/rite-vet/SKILL.md +31 -31
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +18 -18
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +21 -22
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +6 -6
- package/pack/generated/codex/agents/devrites-forge-judge.toml +26 -26
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +17 -17
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +19 -18
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +29 -27
- package/pack/generated/codex/agents/devrites-retrospector.toml +19 -19
- package/pack/generated/codex/agents/devrites-security-auditor.toml +15 -15
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +14 -14
- package/pack/generated/codex/agents/devrites-slice-wright.toml +52 -51
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +11 -11
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +21 -21
- package/pack/generated/codex/agents/devrites-test-analyst.toml +13 -13
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +15 -15
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +10 -10
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +19 -19
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +16 -16
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +2 -2
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +3 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +4 -4
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +20 -20
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +17 -17
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +25 -25
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +6 -6
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +44 -44
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +9 -9
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +13 -13
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +21 -21
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -36
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +33 -33
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +37 -37
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +12 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +7 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +24 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +23 -23
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -18
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +29 -29
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +10 -10
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +26 -26
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +4 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +9 -9
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +3 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +15 -15
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +8 -8
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +5 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +31 -31
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +25 -25
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +30 -30
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +40 -40
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +26 -26
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +8 -8
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +9 -9
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +11 -11
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +36 -36
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +6 -6
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +9 -9
- package/pack/generated/codex/skills/rite/SKILL.md +10 -10
- package/pack/generated/codex/skills/rite/reference/menu.md +6 -6
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +9 -9
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -7
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -7
- package/pack/generated/codex/skills/rite-build/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +9 -9
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +14 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +8 -8
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/forge.md +28 -29
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +2 -2
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/output.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +44 -44
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +6 -6
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +23 -23
- package/pack/generated/codex/skills/rite-converge/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +7 -7
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +14 -14
- package/pack/generated/codex/skills/rite-customize/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -28
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-define/reference/gates.md +13 -13
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +1 -1
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-explain/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +16 -16
- package/pack/generated/codex/skills/rite-frame/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +13 -13
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-learn/SKILL.md +26 -26
- package/pack/generated/codex/skills/rite-plan/SKILL.md +24 -24
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +1 -1
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +3 -3
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +9 -9
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -3
- package/pack/generated/codex/skills/rite-polish/SKILL.md +14 -14
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +13 -13
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +4 -4
- package/pack/generated/codex/skills/rite-polish/reference/code.md +26 -26
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +31 -31
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +23 -23
- package/pack/generated/codex/skills/rite-pov/SKILL.md +6 -6
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +5 -5
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +17 -17
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-prove/SKILL.md +20 -20
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +2 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +4 -4
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +6 -6
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +25 -25
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +21 -21
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +7 -7
- package/pack/generated/codex/skills/rite-review/SKILL.md +37 -37
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +22 -22
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +8 -8
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -14
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +9 -9
- package/pack/generated/codex/skills/rite-seal/SKILL.md +29 -29
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +8 -8
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +9 -9
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +43 -43
- package/pack/generated/codex/skills/rite-ship/SKILL.md +15 -15
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +5 -5
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +22 -22
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +10 -10
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +9 -9
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +11 -11
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +1 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +48 -48
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +4 -4
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +6 -6
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +3 -3
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +21 -21
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +9 -9
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +8 -8
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +19 -19
- package/pack/generated/codex/skills/rite-status/SKILL.md +16 -16
- package/pack/generated/codex/skills/rite-temper/SKILL.md +32 -32
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +11 -11
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +20 -20
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +16 -16
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +10 -10
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +14 -14
- package/pack/generated/codex/skills/rite-vet/SKILL.md +34 -34
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +10 -10
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +14 -14
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +9 -9
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +28 -28
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +21 -21
- package/package.json +2 -2
- package/scripts/build-binaries.sh +1 -1
- package/scripts/build-host-artifacts.sh +1 -1
- package/scripts/build-release-tarball.sh +1 -1
- package/scripts/check-cross-refs.py +8 -8
- package/scripts/check-invocation-integrity.py +4 -4
- package/scripts/check-no-global-writes.sh +2 -2
- package/scripts/check-reply-contract.sh +1 -1
- package/scripts/check-rule-uniqueness.sh +2 -2
- package/scripts/codex-generate.sh +5 -5
- package/scripts/devrites-detect.sh +33 -33
- package/scripts/eval-runner.py +7 -7
- package/scripts/grade-feature.sh +14 -14
- package/scripts/install-lib.sh +2 -2
- package/scripts/pin.sh +12 -12
- package/scripts/run-behavioral-evals.sh +12 -12
- package/scripts/run-evals.sh +1 -1
- package/scripts/run-outcome-evals.sh +12 -12
- package/scripts/scan-pack-security.py +4 -4
- package/scripts/scan-supply-chain-iocs.py +7 -7
- package/scripts/skills-inventory.mjs +7 -8
- package/scripts/sync-version.sh +2 -2
- package/scripts/validate-workflow-security.py +12 -6
- package/scripts/validate-workspace-schema.py +2 -2
- package/scripts/validate.sh +7 -7
|
@@ -11,13 +11,13 @@ This is the Codex mirror of a DevRites skill. In Codex:
|
|
|
11
11
|
|
|
12
12
|
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
13
13
|
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
14
|
-
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here
|
|
15
|
-
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review
|
|
14
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here: Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
15
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review**: an inline pass shares the calling context and is weaker evidence.
|
|
16
16
|
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
17
|
-
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers
|
|
17
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers: NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
# $rite-seal
|
|
20
|
+
# $rite-seal: GO / NO-GO
|
|
21
21
|
|
|
22
22
|
The decision gate before shipping. **Read the active workspace first**; if none, tell
|
|
23
23
|
the user to run `$rite-spec <feature>`. Produces `seal.md` with a clear verdict.
|
|
@@ -25,24 +25,24 @@ the user to run `$rite-spec <feature>`. Produces `seal.md` with a clear verdict.
|
|
|
25
25
|
live in `$rite-ship`, which refuses to run without a GO recorded here.
|
|
26
26
|
|
|
27
27
|
## Rules consulted (read on demand from `.agents/skills/devrites-lib/reference/standards/`)
|
|
28
|
-
**Step 0:** Read `.agents/skills/devrites-lib/reference/standards/core.md` first. The other rule files load on demand
|
|
28
|
+
**Step 0:** Read `.agents/skills/devrites-lib/reference/standards/core.md` first. The other rule files load on demand:
|
|
29
29
|
pull these via `Read` before sealing:
|
|
30
|
-
- `agents.md
|
|
31
|
-
- `code-review.md
|
|
32
|
-
- `review-checklist.md
|
|
33
|
-
- `test-proof-checklist.md
|
|
34
|
-
- `browser-proof-checklist.md
|
|
35
|
-
- `security-checklist.md
|
|
36
|
-
- `principles.md
|
|
37
|
-
- `documentation.md
|
|
38
|
-
- `observability.md
|
|
39
|
-
- `deprecation.md
|
|
30
|
+
- `agents.md`: review-subagent fan-out at seal.
|
|
31
|
+
- `code-review.md`: severity labels (Critical / Important / Suggestion / Nit / FYI).
|
|
32
|
+
- `review-checklist.md`: compact final review pass/fail sweep.
|
|
33
|
+
- `test-proof-checklist.md`: compact proof-quality gate for tests and evidence.
|
|
34
|
+
- `browser-proof-checklist.md`: for UI scope, the browser-state and Visual Verdict gate.
|
|
35
|
+
- `security-checklist.md`: when input / auth / data / integrations / secrets are in scope.
|
|
36
|
+
- `principles.md`: declared project invariants (`.devrites/principles.md`) are a pass/fail gate; a diff that violates one with no recorded, human-approved exception is a NO-GO.
|
|
37
|
+
- `documentation.md`: record decisions in `decisions.md` before sealing.
|
|
38
|
+
- `observability.md`: a runtime surface that ships blind is an Important finding.
|
|
39
|
+
- `deprecation.md`: when the diff removes / migrates code, API, or data (read with the
|
|
40
40
|
risk-and-rollback step below).
|
|
41
|
-
- `definition-of-done.md
|
|
41
|
+
- `definition-of-done.md`: standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
## Operating rules
|
|
45
|
-
- Evidence over confidence
|
|
45
|
+
- Evidence over confidence: a criterion is met only if evidence proves it.
|
|
46
46
|
- Spec Drift Guard applies: unresolved drift is a NO-GO.
|
|
47
47
|
- **Honest verdict.** DO NOT round a NO-GO up to GO to be agreeable.
|
|
48
48
|
|
|
@@ -56,15 +56,15 @@ Read `review.md` and the latest reviewer outputs.
|
|
|
56
56
|
| `Critical == 0` and `Important > 0` and acceptance proven and drift resolved | Render interactive prompt: *"`Important > 0` open. Proceed to seal? [y/N]"*. Default **N**. If the user types `y`, GO; otherwise NO-GO with the open Important findings listed as blockers-by-policy. |
|
|
57
57
|
| `Critical > 0` | **NO-GO**, no exceptions. List every Critical with `file:line` and fix direction. |
|
|
58
58
|
| Any acceptance criterion unproven, any bespoke `Prohibitions (must-NOT)` `resolved/test` row lacking linked proof, or any `plan.md` Key links row with no covering `EVID-###` wiring check (built-but-not-wired; `none declared` → n/a) | **NO-GO**, list the unproven criteria/prohibitions/links. |
|
|
59
|
-
| Any criterion tagged `proof: judgment` in `evidence.md` (untagged reads `judgment`) | Judgment proof needs a human eye. HITL: enumerate them in the verdict digest
|
|
60
|
-
| Fan-out roster incomplete
|
|
61
|
-
| Silent review axis
|
|
62
|
-
| A declared extension check unaddressed
|
|
63
|
-
| Visual Verdict `FAIL` on an acceptance-mapped UI criterion (`browser-evidence.md`) | **NO-GO
|
|
59
|
+
| Any criterion tagged `proof: judgment` in `evidence.md` (untagged reads `judgment`) | Judgment proof needs a human eye. HITL: enumerate them in the verdict digest: the human's GO covers them. AFK: **no auto-GO**: append a `gate: validating` question listing them and stop. |
|
|
60
|
+
| Fan-out roster incomplete: `devrites-engine footprint roster` rc=3 (a reviewer neither dispatched nor skip-recorded) | **NO-GO** on the review's *completeness*, not a verdict on the diff: dispatch the missing reviewer or record a justified skip, then re-seal. Same standing as an unproven criterion. |
|
|
61
|
+
| Silent review axis (`devrites-engine review-integrity` rc=1 (an adversarial axis in `review.md` reported nothing and justified nothing) | **Important**) a suspected rubber-stamp, on the review's *completeness* not the diff. Re-run that axis or record its `No-findings:` justification (`code-review.md` § Zero findings is suspicious), then re-seal. |
|
|
62
|
+
| A declared extension check unaddressed (a valid `.devrites/extensions/*/component.yaml` declares `checks: at: seal` and `seal.md` records neither the check's outcome nor a skip justification | **Important**) same standing as a silent axis, on the review's *completeness*. Address the check's instruction or record why it doesn't apply, then re-seal. Checks are additive-only (an extension raises the bar, never lowers it); an extension that fails `extensions validate` has inactive checks, not a blocker. |
|
|
63
|
+
| Visual Verdict `FAIL` on an acceptance-mapped UI criterion (`browser-evidence.md`) | **NO-GO**: an unmet acceptance criterion. A declared-state `FAIL` is Important (the `Important > 0` row). UI build with a `design-brief.md` but no Visual Verdict → Important evidence gap. No brief → not applicable. |
|
|
64
64
|
| Diff violates a declared project principle (`.devrites/principles.md`) with no recorded, human-approved exception | **NO-GO**, list each violated principle with `file:line`. Same standing as an unproven criterion (absent / empty file → none declared → not a blocker). |
|
|
65
65
|
| Unresolved drift in `drift.md` | **NO-GO**, route through `$rite-plan` first. |
|
|
66
|
-
| Any `questions.md` entry with `gate: validating` and `status: open` | **NO-GO** regardless of behavior impact
|
|
67
|
-
| A stood decision (boundary / data-model / auth / public-API / migration / branching) in the `decisions.md` `## Decisions stood` ledger with no recorded `devrites-doubt` verdict
|
|
66
|
+
| Any `questions.md` entry with `gate: validating` and `status: open` | **NO-GO** regardless of behavior impact: an open validating gate is merge-blocking by definition. A slice marked `built (pending review)` is not done. |
|
|
67
|
+
| A stood decision (boundary / data-model / auth / public-API / migration / branching) in the `decisions.md` `## Decisions stood` ledger with no recorded `devrites-doubt` verdict: `doubt: MISSING` / `doubt-coverage` rc=3 | **Important**. **NO-GO** when the undoubted decision is irreversible-risk (auth / public-API / migration), the same standing as an unproven acceptance criterion. Severity rides the unverified **decision**, not the exit code: `doubt-coverage` rc=1 (zero doubt dispatched) is a **prompt to verify**, not itself a finding: confirm against the ledger, where every-slice-trivial (`- none`) passes and a skipped triggering decision is the finding. |
|
|
68
68
|
| `devrites-engine docs-stale` warns that user-facing CLI/API/install/docs-referenced code changed without README/docs updates | **FYI** unless the spec promised docs or users need docs to satisfy acceptance; then escalate to Important. |
|
|
69
69
|
| Outside voice (`devrites-engine outside-voice`) is unavailable in `auto` mode | Advisory only; record `outside-voice: skipped-unavailable`. Disabled mode records `outside-voice: disabled`. |
|
|
70
70
|
|
|
@@ -78,8 +78,8 @@ devrites-engine outside-voice; echo "outside-voice rc=$?"
|
|
|
78
78
|
If outside voice is `available`, ask the same artifacts/diff second opinion;
|
|
79
79
|
findings stay advisory until verified with line quotes or accepted into the normal review pipeline.
|
|
80
80
|
If `.devrites/extensions/` exists, read each valid extension's `component.yaml` for `checks:
|
|
81
|
-
at: seal` entries and record every declared check's outcome (or skip justification) in `seal.md
|
|
82
|
-
|
|
81
|
+
at: seal` entries and record every declared check's outcome (or skip justification) in `seal.md`.
|
|
82
|
+
The severity gate treats an unaddressed one as Important.
|
|
83
83
|
For developer-facing surfaces, compare `devex.md` predicted TTHW against the measured proof path and
|
|
84
84
|
record the boomerang result.
|
|
85
85
|
|
|
@@ -91,17 +91,17 @@ review-integrity, verdict, convention, and learning steps for this gate.
|
|
|
91
91
|
## On GO → hand off to $rite-ship
|
|
92
92
|
|
|
93
93
|
`$rite-seal` makes the **decision** and stops. It does **not** run `git commit`,
|
|
94
|
-
`git push`, `git tag`, publish, or deploy
|
|
94
|
+
`git push`, `git tag`, publish, or deploy. Those moved to `$rite-ship`, which renders
|
|
95
95
|
the type-GO prompt and refuses to run without a GO recorded here. Keeping the decision
|
|
96
96
|
and the irreversible action as two separately-auditable steps is the point: a GO seal
|
|
97
97
|
is a verdict, not an authorization to push.
|
|
98
98
|
|
|
99
99
|
On **GO**: write `seal.md`, set `state.md` `Next step: $rite-ship`, and tell the user
|
|
100
|
-
the feature is cleared to ship. Do **not** set phase `done
|
|
100
|
+
the feature is cleared to ship. Do **not** set phase `done`: `$rite-ship` marks done
|
|
101
101
|
after the task is shipped and archived. The `Important > 0` interactive y/N earlier in
|
|
102
102
|
the gate is the one off-ramp seal still owns; the type-GO off-ramp now lives in ship.
|
|
103
103
|
For a **UI feature**, note in the hand-off that `$rite-ship` offers an optional
|
|
104
|
-
**design-memory** rollup
|
|
104
|
+
**design-memory** rollup: persist this feature's proven design language into a project
|
|
105
105
|
`DESIGN.md` so later features inherit it (`../rite-ship/reference/design-memory.md`).
|
|
106
106
|
|
|
107
107
|
## Output
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# rite-seal
|
|
1
|
+
# rite-seal: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing the final GO/NO-GO decision, or when tempted to round
|
|
4
4
|
NO-GO up to GO. (The irreversible push/tag/deploy and its type-GO gate now live in
|
|
5
|
-
`$rite-ship
|
|
5
|
+
`$rite-ship`: see that skill's anti-patterns for the type-GO discipline.)
|
|
6
6
|
|
|
7
7
|
Pack-wide rationalizations + red flags (incl. user-wants-it-bypass-gate):
|
|
8
8
|
see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
@@ -11,12 +11,12 @@ see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-pat
|
|
|
11
11
|
|
|
12
12
|
| Excuse | Rebuttal |
|
|
13
13
|
|---|---|
|
|
14
|
-
| "All Important findings are minor; just GO." | `Important > 0` triggers an interactive y/N
|
|
14
|
+
| "All Important findings are minor; just GO." | `Important > 0` triggers an interactive y/N: do not bypass the prompt, present it. |
|
|
15
15
|
| "User clearly wants this to ship." | Ship is evidence-driven, not consent-driven. A Critical finding outranks "the user said go". |
|
|
16
16
|
| "Drift is small; resolve it inline and seal." | Unresolved drift = NO-GO, no exceptions. Route through `$rite-plan` to repair, then seal. |
|
|
17
|
-
| "Reviewer findings overlap; average them away." | Surface disagreements explicitly. Averaging hides where the reviewers
|
|
18
|
-
| "Carry the old reviewer verdicts though the diff changed." | If the diff changed since `$rite-review`, re-run the Spec + Code axes
|
|
19
|
-
| "Build never doubted a decision, but the wright seemed confident
|
|
17
|
+
| "Reviewer findings overlap; average them away." | Surface disagreements explicitly. Averaging hides where the reviewers disagree. |
|
|
18
|
+
| "Carry the old reviewer verdicts though the diff changed." | If the diff changed since `$rite-review`, re-run the Spec + Code axes: don't carry stale verdicts forward. |
|
|
19
|
+
| "Build never doubted a decision, but the wright seemed confident. GO without checking." | Doubt is a gate, not a vibe. `doubt-coverage` rc=1 (or a stood boundary / data-model / auth / public-API / migration decision in `decisions.md` with no recorded `devrites-doubt` verdict) is an Important finding, escalating to NO-GO when the undoubted decision is irreversible-risk (auth / public-API / migration). An empty `Decisions stood` on every slice passes only when confirmed against `decisions.md`, never assumed. |
|
|
20
20
|
|
|
21
21
|
## Red Flags
|
|
22
22
|
|
|
@@ -25,5 +25,5 @@ see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-pat
|
|
|
25
25
|
- Reviewer subagents spawned with the author's reasoning attached (defeats the fresh-context point).
|
|
26
26
|
- `seal.md` written before walking *every* acceptance criterion one by one.
|
|
27
27
|
- A NO-GO rounded up to GO "to be agreeable".
|
|
28
|
-
- Unresolved drift, unresolved questions, or pending tasks
|
|
29
|
-
- `doubt-coverage` rc=1 left unexamined, or a stood irreversible-risk decision (auth / public-API / migration) carrying no recorded `devrites-doubt` verdict
|
|
28
|
+
- Unresolved drift, unresolved questions, or pending tasks, and you're sealing anyway.
|
|
29
|
+
- `doubt-coverage` rc=1 left unexamined, or a stood irreversible-risk decision (auth / public-API / migration) carrying no recorded `devrites-doubt` verdict, and you're sealing GO anyway.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Recording proven conventions (the ledger, on GO)
|
|
2
2
|
|
|
3
|
-
Loaded on demand by `$rite-seal` step 9. On a **GO** seal
|
|
3
|
+
Loaded on demand by `$rite-seal` step 9. On a **GO** seal (and only then) promote the
|
|
4
4
|
durable project conventions this feature *proved* into the local conventions ledger
|
|
5
5
|
(`.devrites/conventions.md`). Orient reads it on later slices so the wright stops
|
|
6
6
|
re-deriving the same idioms every time.
|
|
@@ -11,14 +11,14 @@ The discipline mirrors DevRites' whole thesis: a convention is not "learned" unt
|
|
|
11
11
|
## What to promote
|
|
12
12
|
|
|
13
13
|
Durable, reusable facts about *this codebase* that a future slice would otherwise
|
|
14
|
-
re-discover
|
|
14
|
+
re-discover: each as one entry:
|
|
15
15
|
|
|
16
|
-
- **Commands
|
|
16
|
+
- **Commands:** the real build / test / typecheck / lint commands and how tests are run
|
|
17
17
|
(runner, file layout, co-location).
|
|
18
|
-
- **Idioms
|
|
18
|
+
- **Idioms:** naming + casing, layering, the error model, the result/exception style, the
|
|
19
19
|
http/client/data-access pattern.
|
|
20
|
-
- **Placement
|
|
21
|
-
- **Gotchas
|
|
20
|
+
- **Placement:** where a kind of thing lives (where new endpoints / components / migrations go).
|
|
21
|
+
- **Gotchas:** a non-obvious constraint this feature hit and proved (ordering requirement,
|
|
22
22
|
a "don't call X before Y", a framework quirk verified against the source).
|
|
23
23
|
|
|
24
24
|
Do **not** promote: feature-specific details, one-off decisions (those live in
|
|
@@ -27,8 +27,8 @@ If it isn't both *durable* and *proven by the evidence*, leave it out.
|
|
|
27
27
|
|
|
28
28
|
## How (deterministic band, idempotent, graceful)
|
|
29
29
|
|
|
30
|
-
For each convention, run the store. The confidence band is **earned**
|
|
31
|
-
many independent sealed slices corroborated the entry
|
|
30
|
+
For each convention, run the store. The confidence band is **earned** (computed from how
|
|
31
|
+
many independent sealed slices corroborated the entry) never set by you. Re-sealing the
|
|
32
32
|
same slice is idempotent (it won't double-count). If the `devrites-engine` binary is absent
|
|
33
33
|
the step is skipped with a notice; the ledger is an enhancement, never a gate.
|
|
34
34
|
|
|
@@ -7,38 +7,38 @@ Walk `spec.md` → "Acceptance criteria" one by one. For each:
|
|
|
7
7
|
- Find the proving evidence in `evidence.md` / `browser-evidence.md` (command output,
|
|
8
8
|
observation, screenshot described).
|
|
9
9
|
- Mark `[x]` + the evidence, or `[ ] unproven` + why.
|
|
10
|
-
- A criterion "proven" only by reading the code is **not proven
|
|
10
|
+
- A criterion "proven" only by reading the code is **not proven**: require a runtime/
|
|
11
11
|
test artifact, or downgrade it.
|
|
12
12
|
- Hold the claim→evidence line: **"tests pass" is not "the feature works"** (the acceptance
|
|
13
13
|
walk is); **"bug fixed"** requires the original-symptom test now passing, not "code changed,
|
|
14
|
-
assumed fixed"; **"the agent reported success"** is never evidence
|
|
14
|
+
assumed fixed"; **"the agent reported success"** is never evidence: the command output is.
|
|
15
15
|
|
|
16
16
|
Tag each new-workspace criterion `AC-###` in `spec.md` and carry the same id onto its checked line in
|
|
17
|
-
`seal.md`, then grade coverage deterministically
|
|
17
|
+
`seal.md`, then grade coverage deterministically: every spec criterion id must be checked:
|
|
18
18
|
```bash
|
|
19
19
|
devrites-engine check-acceptance .devrites/work/<slug> # exit 1 = a criterion is uncovered/unproven → NO-GO
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Cross-check the artifacts
|
|
23
23
|
- `tasks.md`: are all slices in scope `built` AND is feature acceptance proven
|
|
24
|
-
(`evidence.md`)? Acceptance proof lives at the feature level, not per slice
|
|
24
|
+
(`evidence.md`)? Acceptance proof lives at the feature level, not per slice: a slice
|
|
25
25
|
is `built`, the feature is proven. Any pending slice that's part of this feature's
|
|
26
26
|
definition of done is a gap.
|
|
27
27
|
- `review.md`: are all **Critical** and **Important** findings resolved (or accepted)?
|
|
28
28
|
- `drift.md`: every entry marked resolved? Open drift blocks.
|
|
29
29
|
- `questions.md`: any open question that changes behavior? Blocks. **Any entry with
|
|
30
|
-
`gate: validating` and `status: open` is a NO-GO regardless of behavior impact
|
|
30
|
+
`gate: validating` and `status: open` is a NO-GO regardless of behavior impact**: an
|
|
31
31
|
open validating gate is merge-blocking by definition; a slice marked
|
|
32
32
|
`built (pending review)` is not done.
|
|
33
33
|
- `polish-report.md` (if UI): normalize+polish done, browser evidence present.
|
|
34
34
|
- `references/` (if the spec gathered design references): does the built UI **match the
|
|
35
35
|
agreed references**? A mismatch on a referenced screen is a finding.
|
|
36
36
|
|
|
37
|
-
## Evidence freshness
|
|
37
|
+
## Evidence freshness: a GATE, not a courtesy
|
|
38
38
|
Evidence must post-date the code it proves. **If `evidence.md` or `browser-evidence.md`
|
|
39
39
|
predates the latest edit to any file in `touched-files.md`** (e.g. a polish- or
|
|
40
40
|
review-phase edit landed after `$rite-prove`), a fresh `$rite-prove` run is **REQUIRED
|
|
41
|
-
before GO
|
|
41
|
+
before GO**: stale evidence is not proof. Compare the evidence timestamps against the
|
|
42
42
|
touched-files mtimes; if any code edit is newer, the proof is stale and this is a NO-GO
|
|
43
43
|
until re-proven. Record the fresh result.
|
|
44
44
|
|
|
@@ -47,7 +47,7 @@ Run the deterministic check rather than eyeballing mtimes:
|
|
|
47
47
|
devrites-engine evidence-fresh # exit 3 = STALE proof → NO-GO until $rite-prove re-runs
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
## Test integrity & mutation
|
|
50
|
+
## Test integrity & mutation: the suite must be real
|
|
51
51
|
Stale proof isn't the only path to a false GO; a *weakened* test suite is. Run the deterministic
|
|
52
52
|
gates:
|
|
53
53
|
```bash
|
|
@@ -55,7 +55,7 @@ devrites-engine test-integrity; echo "test-integrity rc=$?" # exit 3 = a test
|
|
|
55
55
|
devrites-engine mutation-gate # changed-files mutation score — band the verdict; survivors are unproven behaviours
|
|
56
56
|
devrites-engine package-existence; echo "package-existence rc=$?" # exit 3 = a new import isn't declared in any manifest (hallucinated/typo-squatted dep) → Critical NO-GO
|
|
57
57
|
```
|
|
58
|
-
A test weakened since the slice base is a **Critical NO-GO
|
|
58
|
+
A test weakened since the slice base is a **Critical NO-GO**: the suite went green by lowering the
|
|
59
59
|
bar, not by the code being right. Record the mutation score in `seal.md`; under
|
|
60
60
|
`DEVRITES_MUTATION=enforce` a sub-threshold score blocks GO.
|
|
61
61
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The seal verdict is binary and evidence-based. When in doubt, NO-GO with a clear blocker
|
|
4
4
|
list beats a hopeful GO. The **authoritative gate is the severity table in
|
|
5
|
-
[`../SKILL.md`](../SKILL.md) ("Severity gate")**; this file is the rationale behind it
|
|
5
|
+
[`../SKILL.md`](../SKILL.md) ("Severity gate")**; this file is the rationale behind it: keep
|
|
6
6
|
the two in sync.
|
|
7
7
|
|
|
8
8
|
## NO-GO if any of these hold
|
|
@@ -14,20 +14,20 @@ the two in sync.
|
|
|
14
14
|
- A **security-critical issue** remains (auth bypass, data exposure, injection).
|
|
15
15
|
- A **data migration or destructive change lacks a rollback plan**.
|
|
16
16
|
- A **declared project principle is violated** (`.devrites/principles.md`) with no recorded,
|
|
17
|
-
human-approved exception
|
|
17
|
+
human-approved exception: same standing as an unproven criterion (absent / empty file →
|
|
18
18
|
none declared → not a blocker).
|
|
19
|
-
- A **stood decision was never independently doubted
|
|
20
|
-
`decisions.md`
|
|
19
|
+
- A **stood decision was never independently doubted**. This means a `## Decisions stood` entry in
|
|
20
|
+
`decisions.md` carries `doubt: MISSING`, or `devrites-engine doubt-coverage` returns rc=3, when that decision
|
|
21
21
|
is irreversible-risk (auth / public-API / migration). Severity rides the undoubted decision,
|
|
22
22
|
not the exit code.
|
|
23
|
-
- Any `questions.md` entry with `gate: validating` and `status: open
|
|
23
|
+
- Any `questions.md` entry with `gate: validating` and `status: open`. **NO-GO
|
|
24
24
|
regardless of behavior impact** (an open validating gate is merge-blocking by
|
|
25
25
|
definition). A slice marked `built (pending review)` is not done.
|
|
26
|
-
- A **test was weakened to go green** (`devrites-engine test-integrity` exit 3
|
|
26
|
+
- A **test was weakened to go green** (`devrites-engine test-integrity` exit 3: a test deleted, skipped,
|
|
27
27
|
`xfail`-ed, or de-asserted since the slice base). A suite that passes on a lowered bar is not
|
|
28
28
|
proof; this is a Critical NO-GO.
|
|
29
29
|
- Under `DEVRITES_MUTATION=enforce`, a **mutation score below threshold** (`devrites-engine mutation-gate`
|
|
30
|
-
exit 3
|
|
30
|
+
exit 3: survived mutants are behaviours no test checks).
|
|
31
31
|
|
|
32
32
|
## GO requires
|
|
33
33
|
- Every critical acceptance criterion checked with evidence attached.
|
|
@@ -39,12 +39,12 @@ the two in sync.
|
|
|
39
39
|
|
|
40
40
|
## Important findings (`Critical == 0`, `Important > 0`)
|
|
41
41
|
Open `Important` findings do not auto-pass. With acceptance proven and drift resolved, render
|
|
42
|
-
the interactive prompt *"`Important > 0` open. Proceed to seal? [y/N]"
|
|
42
|
+
the interactive prompt *"`Important > 0` open. Proceed to seal? [y/N]"*: default **N**. `y`
|
|
43
43
|
→ GO; otherwise NO-GO with the open Important findings listed as blockers-by-policy. Don't
|
|
44
44
|
silently fold Important findings into a GO.
|
|
45
45
|
|
|
46
46
|
## Conditional GO
|
|
47
|
-
If only **non-blocking follow-ups** remain, it's a GO with a recorded follow-up list
|
|
47
|
+
If only **non-blocking follow-ups** remain, it's a GO with a recorded follow-up list:
|
|
48
48
|
not a NO-GO. Distinguish "must fix to ship" (blocker) from "should do next" (follow-up).
|
|
49
49
|
|
|
50
50
|
## Honesty
|
|
@@ -31,7 +31,7 @@ footprints must account for the whole roster; learnings run only on GO; progress
|
|
|
31
31
|
is rendered before the final response from [`output.md`](output.md). Seal decides
|
|
32
32
|
only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
33
33
|
|
|
34
|
-
1. **Run the shared orientation preamble
|
|
34
|
+
1. **Run the shared orientation preamble:** it prints `state.md`, the artifacts present,
|
|
35
35
|
the run mode (HITL/AFK), and the open-question tally by gate, so you orient deterministically
|
|
36
36
|
instead of re-deriving state from raw Markdown:
|
|
37
37
|
```bash
|
|
@@ -44,11 +44,11 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
44
44
|
(see `.agents/skills/devrites-lib/reference/standards/tooling.md`), use it for
|
|
45
45
|
blast-radius checks on the final diff in step 5; context7 if available can confirm a current
|
|
46
46
|
external-API signature a reviewer flags.
|
|
47
|
-
2. Check **acceptance criteria one by one
|
|
47
|
+
2. Check **acceptance criteria one by one**: first run `devrites-engine spec-validate .devrites/work/<slug>`;
|
|
48
48
|
unresolved or unproven `resolved/test` prohibitions are a NO-GO until the linked evidence exists.
|
|
49
49
|
Then use [final-evidence](final-evidence.md).
|
|
50
50
|
Each gets a checkbox + the evidence that proves it (or "unproven"). Verify each criterion
|
|
51
|
-
**independently against the evidence artifact
|
|
51
|
+
**independently against the evidence artifact**: the slice report or the build narrative is not
|
|
52
52
|
proof; the `devrites-spec-reviewer` + `devrites-test-analyst` fan-out in step 7 is the
|
|
53
53
|
independent cross-check (a verifier that never saw the optimistic narrative).
|
|
54
54
|
3. Verify tests, build/typecheck/lint, and browser proof are present and green for the
|
|
@@ -57,33 +57,33 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
57
57
|
criterion is an unmet acceptance criterion (NO-GO, per the severity gate), a declared-state
|
|
58
58
|
`FAIL` is **Important**, and a UI build whose brief exists but whose verdict is **absent** is an
|
|
59
59
|
Important evidence gap (the scorecard should have been emitted at browser-proof).
|
|
60
|
-
4. Check unresolved **questions** and **drift
|
|
60
|
+
4. Check unresolved **questions** and **drift**: any open item that changes product
|
|
61
61
|
behavior blocks. **Any `questions.md` entry with `gate: validating` and `status: open`
|
|
62
62
|
is a NO-GO regardless of behavior impact** (an open validating gate is merge-blocking by
|
|
63
63
|
definition); a slice marked `built (pending review)` is not done.
|
|
64
|
-
4a. **Doubt coverage
|
|
64
|
+
4a. **Doubt coverage: every stood decision was independently doubted.** Run the deterministic
|
|
65
65
|
check, then judge it against `decisions.md`:
|
|
66
66
|
```bash
|
|
67
67
|
devrites-engine doubt-coverage <slug>; echo "doubt-coverage rc=$?"
|
|
68
68
|
```
|
|
69
|
-
The script reads two records `$rite-build` writes
|
|
69
|
+
The script reads two records `$rite-build` writes: the `## Decisions stood` ledger in
|
|
70
70
|
`decisions.md` (each entry ends `— doubt: <accept | reject-resolved | MISSING>`) and the `doubt`
|
|
71
71
|
footprint. Read the exit code:
|
|
72
|
-
- **rc=3
|
|
72
|
+
- **rc=3:** the ledger records a stood decision with `doubt: MISSING`: doubt was definitively
|
|
73
73
|
skipped for a decision on record. **Important**; **NO-GO** when that decision is irreversible-risk
|
|
74
74
|
(auth / public-API / migration). This is the per-slice skip the footprint count alone can't catch.
|
|
75
|
-
- **rc=1
|
|
76
|
-
against the ledger
|
|
75
|
+
- **rc=1:** zero doubt dispatched across the build. A **prompt to verify, not a finding**: confirm
|
|
76
|
+
against the ledger: an every-slice-trivial feature (`- none`) is a valid pass; a stood triggering
|
|
77
77
|
decision (boundary / data-model / auth / public-API / migration / branching) with no verdict is
|
|
78
78
|
the finding, same severity as rc=3.
|
|
79
|
-
- **rc=0
|
|
79
|
+
- **rc=0:** covered, or not assessable (an inline build logs no dispatch: verify the ledger's
|
|
80
80
|
verdicts by hand).
|
|
81
81
|
Either way, walk the `## Decisions stood` ledger yourself: severity rides the unverified
|
|
82
82
|
**decision**, never the exit code alone.
|
|
83
|
-
5. Check **security, data, migration, rollback** risk
|
|
83
|
+
5. Check **security, data, migration, rollback** risk:
|
|
84
84
|
[risk-and-rollback](risk-and-rollback.md). If `strategy.md` exists (from
|
|
85
85
|
`$rite-temper`), confirm its **top pre-mortem risks are mitigated** in the diff/evidence and
|
|
86
|
-
that no **Non-goal / deferred item crept into the diff** (scope creep)
|
|
86
|
+
that no **Non-goal / deferred item crept into the diff** (scope creep): either is a finding
|
|
87
87
|
(an unmitigated top risk or smuggled-in out-of-scope work).
|
|
88
88
|
- **Principles** (`principles.md`): score the final diff against each declared invariant in
|
|
89
89
|
`.devrites/principles.md`. A violation with no matching, human-approved exception in the
|
|
@@ -91,20 +91,20 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
91
91
|
trigger) or wider than its stated scope is itself a finding. No file / no principles → skip.
|
|
92
92
|
- **Observability** (`observability.md`): if the diff added a runtime surface (endpoint,
|
|
93
93
|
job, integration, user flow, error path), a feature shipping with no way to debug it in
|
|
94
|
-
prod is an **Important** finding, not a pass
|
|
94
|
+
prod is an **Important** finding, not a pass: `evidence.md` should show telemetry observed
|
|
95
95
|
to emit (`$rite-prove` step 5b).
|
|
96
96
|
- **Developer experience** (`developer-experience.md`): if the diff ships a developer-facing
|
|
97
97
|
surface, reconcile `devex.md` (the `$rite-vet` predicted scorecard vs the `$rite-prove`
|
|
98
|
-
measured one
|
|
98
|
+
measured one: the boomerang). A broken public dev contract (a documented command that errors,
|
|
99
99
|
a getting-started flow that can't complete) or an unexplained measured DX regression is
|
|
100
|
-
**Important
|
|
100
|
+
**Important**. **Critical** on a frozen public surface (`principles.md`). No surface → skip.
|
|
101
101
|
- **Removal / migration** (`deprecation.md`): if the diff deletes or migrates code, an API,
|
|
102
102
|
or data, confirm it followed expand→contract, proved the old path unused before removing it,
|
|
103
103
|
and carries a rollback for every destructive step. A surprise deletion or a one-shot
|
|
104
104
|
breaking migration is a finding (and trips the irreversible-risk gate, `afk-hitl.md`).
|
|
105
105
|
6. Check **frontend polish** if UI is involved (states, a11y, responsive, design-system,
|
|
106
106
|
browser evidence).
|
|
107
|
-
7. **Independent review
|
|
107
|
+
7. **Independent review:** seal is the final gate, not a re-run of `$rite-review`.
|
|
108
108
|
It **always re-spawns** the axes `$rite-review` did not cover: `devrites-test-analyst`,
|
|
109
109
|
`devrites-security-auditor`, `devrites-performance-reviewer`, and
|
|
110
110
|
`devrites-frontend-reviewer` (UI). It **only re-runs the Spec and Code-review axes**
|
|
@@ -112,60 +112,60 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
112
112
|
`$rite-review` ran (compare against `review.md`); if the diff is unchanged, carry
|
|
113
113
|
review's verdicts on those axes forward rather than re-litigating them.
|
|
114
114
|
If subagents are available, fan out **in parallel** (one `Task` block, multiple tool
|
|
115
|
-
calls) to the **roster
|
|
115
|
+
calls) to the **roster**: the seven reviewers and their checkable triggers are the single
|
|
116
116
|
source in [`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md) (dispatch
|
|
117
|
-
shape + reconciliation there too; `.agents/skills/devrites-lib/reference/standards/agents.md
|
|
117
|
+
shape + reconciliation there too; `.agents/skills/devrites-lib/reference/standards/agents.md`. "Run independent reviewers in
|
|
118
118
|
parallel"). Dispatch every always-on reviewer and every conditional whose trigger the diff
|
|
119
|
-
meets; `devrites-devex-reviewer` runs in **measure mode
|
|
119
|
+
meets; `devrites-devex-reviewer` runs in **measure mode**: grade the measured DX scorecard
|
|
120
120
|
and reconcile the boomerang against the `$rite-vet` prediction. Give each the workspace path +
|
|
121
121
|
diff *without the author's reasoning*. If subagents are unavailable, run the equivalent
|
|
122
122
|
reviews sequentially yourself and flag each as a fallback.
|
|
123
123
|
The reviewer **AGENTS** here (fresh context, no author reasoning) are the seal
|
|
124
124
|
GATE; `devrites-audit` is the inline single-axis pass run during build/polish.
|
|
125
|
-
The two paths are intentional, not divergent
|
|
125
|
+
The two paths are intentional, not divergent: the inline audit catches issues
|
|
126
126
|
early; the fresh-context agents are the independent gate before ship.
|
|
127
|
-
**Footprint
|
|
128
|
-
`devrites-engine footprint log <slug> reviewer devrites-<x>-reviewer` (the reviewer's **exact agent name
|
|
127
|
+
**Footprint: account for the whole roster.** For each reviewer you dispatch, append
|
|
128
|
+
`devrites-engine footprint log <slug> reviewer devrites-<x>-reviewer` (the reviewer's **exact agent name**:
|
|
129
129
|
the roster gate matches on it, so a freehand label like `spec` will read as unaccounted); for
|
|
130
130
|
each roster reviewer you consciously do **not** dispatch, append
|
|
131
131
|
`devrites-engine footprint log <slug> skip devrites-<x>-reviewer` and note the one-line reason in `seal.md`.
|
|
132
|
-
A conditional reviewer that does not apply is a *recorded skip*, never a silent omission
|
|
132
|
+
A conditional reviewer that does not apply is a *recorded skip*, never a silent omission: step 7b
|
|
133
133
|
proves the roster complete before the verdict.
|
|
134
|
-
7a. **Reconcile findings
|
|
135
|
-
(1
|
|
134
|
+
7a. **Reconcile findings: confidence over volume.** Band each reviewer finding by confidence
|
|
135
|
+
(1-10); a low-confidence (≤4) finding that can't be verified against the diff is **suppressed**
|
|
136
136
|
to a `Suppressed (low-confidence): n` line, not a blocker. Every Critical/Important must cite
|
|
137
137
|
the `file:line` (or spec line) that proves it. Surface genuine cross-reviewer disagreement
|
|
138
138
|
**explicitly** rather than averaging it away, and don't let a pile of low-confidence nits
|
|
139
|
-
inflate the verdict
|
|
139
|
+
inflate the verdict: the gate is `Critical == 0` + acceptance + drift, not "few findings".
|
|
140
140
|
(A seal that fires noise teaches the next one to be ignored.)
|
|
141
|
-
7b. **Account for the roster
|
|
141
|
+
7b. **Account for the roster: no reviewer silently skipped.** Before the verdict, prove every
|
|
142
142
|
roster reviewer carries a decision (dispatched or skip-recorded in step 7's footprint):
|
|
143
143
|
```bash
|
|
144
144
|
devrites-engine footprint roster <slug>; echo "roster rc=$?"
|
|
145
145
|
```
|
|
146
|
-
- **rc=3
|
|
147
|
-
this gate exists to catch. **NO-GO** on the review's *completeness* (not the diff)
|
|
146
|
+
- **rc=3:** a roster reviewer was neither dispatched nor skip-recorded: the silent omission
|
|
147
|
+
this gate exists to catch. **NO-GO** on the review's *completeness* (not the diff): dispatch
|
|
148
148
|
the missing reviewer or record a justified skip, then re-run. Same standing as an unproven
|
|
149
149
|
criterion (severity gate).
|
|
150
|
-
- **rc=1
|
|
150
|
+
- **rc=1:** an always-on axis (Spec / Code-review) was skip-recorded: legitimate **only** as a
|
|
151
151
|
carry-forward of `$rite-review`'s verdict on an **unchanged** diff (step 7). Confirm that;
|
|
152
152
|
otherwise dispatch it.
|
|
153
|
-
- **rc=0
|
|
154
|
-
7c. **No silent reviewer
|
|
153
|
+
- **rc=0:** every reviewer accounted for; proceed.
|
|
154
|
+
7c. **No silent reviewer: a zero-findings axis is justified, not assumed.** Confirm no adversarial
|
|
155
155
|
axis rubber-stamped: an axis that reported nothing must carry a `No-findings:` justification.
|
|
156
156
|
```bash
|
|
157
157
|
devrites-engine review-integrity <slug>; echo "review-integrity rc=$?"
|
|
158
158
|
```
|
|
159
|
-
- **rc=1
|
|
159
|
+
- **rc=1:** an axis in `review.md` is silent (no finding, no justification): **Important** on the
|
|
160
160
|
review's completeness. Re-run that axis or record its `No-findings:` account, then re-seal.
|
|
161
|
-
- **rc=0
|
|
162
|
-
freeform one, is a clean pass
|
|
161
|
+
- **rc=0:** every axis has findings or a justified clean bill; proceed. (No `review.md`, or a
|
|
162
|
+
freeform one, is a clean pass: the gate keys on per-axis sections.)
|
|
163
163
|
Then write stable finding IDs for learning and recurring-dismissal correlation:
|
|
164
164
|
```bash
|
|
165
165
|
devrites-engine review-fingerprints --write <slug>
|
|
166
166
|
```
|
|
167
|
-
8. Decide GO / NO-GO
|
|
168
|
-
**fan-out footprint** into `seal.md` and the output
|
|
167
|
+
8. Decide GO / NO-GO: [go-no-go](go-no-go.md), and write `seal.md`. Then render the
|
|
168
|
+
**fan-out footprint** into `seal.md` and the output: deterministic run-weight (subagents
|
|
169
169
|
dispatched · slices · wall-clock), **never a token or dollar figure** (DevRites can't
|
|
170
170
|
truthfully source one):
|
|
171
171
|
```bash
|
|
@@ -178,20 +178,20 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
178
178
|
"acceptance": "<proven>/<total>", "test_integrity": "ok | weakened", "mutation": "<score | n/a>",
|
|
179
179
|
"blockers": ["<one line each, empty on GO>"] }
|
|
180
180
|
```
|
|
181
|
-
9. **On GO only
|
|
181
|
+
9. **On GO only: record proven conventions** to the local ledger
|
|
182
182
|
(`.devrites/conventions.md`) so later slices stop re-deriving this project's idioms:
|
|
183
183
|
the durable, *evidence-proven* commands / idioms / placement / gotchas this feature
|
|
184
184
|
established. Evidence-gated like the seal itself; the band is earned, not guessed; the
|
|
185
185
|
step degrades gracefully when unavailable. Full contract + command:
|
|
186
186
|
[conventions-ledger](conventions-ledger.md). (Skip entirely on NO-GO.)
|
|
187
|
-
9a. **On GO only
|
|
187
|
+
9a. **On GO only: auto-capture learnings** (`.devrites/learnings.md`). Learning is automatic, not a
|
|
188
188
|
command anyone must remember: append this feature's durable signal so the **next** feature's
|
|
189
|
-
review starts warmer
|
|
189
|
+
review starts warmer: (a) any reviewer finding the gate **dismissed as intentional here** (a
|
|
190
190
|
"don't re-flag X in this project" class, tag `dismiss`); (b) a recurring correction or dead-end
|
|
191
191
|
worth not repeating (tag `note`). The review skills load this ledger **before** they fan out, so a
|
|
192
|
-
dismissed-finding class stops recurring. It is an untrusted prior
|
|
192
|
+
dismissed-finding class stops recurring. It is an untrusted prior: live code always overrides
|
|
193
193
|
(`.agents/skills/devrites-lib/reference/standards/security.md`). Promotion of a recurring lesson to a *project rule* stays the
|
|
194
|
-
human's call (`$rite-learn
|
|
194
|
+
human's call (`$rite-learn`: propose, don't impose). Skip on NO-GO.
|
|
195
195
|
```bash
|
|
196
196
|
devrites-engine learnings add "<slug>" "<dismissed-as-intentional class or dead-end>" dismiss
|
|
197
197
|
```
|
|
@@ -208,4 +208,4 @@ only; `$rite-ship` owns irreversible git/publish/deploy actions.
|
|
|
208
208
|
Loaded on demand from [`seal-template.md`](seal-template.md). Fill in
|
|
209
209
|
each section + write to `.devrites/work/<slug>/seal.md` as the durable record.
|
|
210
210
|
|
|
211
|
-
> **Mid-flight discipline.** When tempted to round NO-GO up to GO, bypass the y/N prompt, average reviewer disagreements, or seal with unresolved drift
|
|
211
|
+
> **Mid-flight discipline.** When tempted to round NO-GO up to GO, bypass the y/N prompt, average reviewer disagreements, or seal with unresolved drift: see [`anti-patterns`](anti-patterns.md). Load it the moment you reach for the excuse.
|