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
|
@@ -5,7 +5,7 @@ argument-hint: "[scope: slice N | feature] [--full]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# /rite-review
|
|
8
|
+
# /rite-review: feature-scoped review
|
|
9
9
|
|
|
10
10
|
Senior review of the **active feature scope only**. **Read the active workspace first**;
|
|
11
11
|
if none, tell the user to run `/rite-spec <feature>`.
|
|
@@ -19,14 +19,14 @@ if none, tell the user to run `/rite-spec <feature>`.
|
|
|
19
19
|
|
|
20
20
|
## Rules consulted (read on demand from `.claude/skills/devrites-lib/reference/standards/`)
|
|
21
21
|
Pull these via `Read` when the diff demands them:
|
|
22
|
-
- `code-review.md
|
|
23
|
-
- `review-checklist.md
|
|
24
|
-
- `principles.md
|
|
25
|
-
- `testing.md
|
|
26
|
-
- `agents.md
|
|
27
|
-
- `security.md
|
|
28
|
-
- `security-checklist.md
|
|
29
|
-
- `performance.md
|
|
22
|
+
- `code-review.md`: small PRs, severity labels, tests-first review focus.
|
|
23
|
+
- `review-checklist.md`: compact pass/fail sweep before reporting the verdict.
|
|
24
|
+
- `principles.md`: declared project invariants (`.devrites/principles.md`); a diff that violates one with no recorded exception is a Critical, blocking finding.
|
|
25
|
+
- `testing.md`: confirm the tests prove the spec, not just pass.
|
|
26
|
+
- `agents.md`: when to fan out to which review subagent.
|
|
27
|
+
- `security.md`: when input / auth / data / integrations / secrets are in scope.
|
|
28
|
+
- `security-checklist.md`: for the same security-sensitive scope, the compact trust-boundary sweep.
|
|
29
|
+
- `performance.md`: only when perf is relevant or a regression risk is visible.
|
|
30
30
|
|
|
31
31
|
## Operating rules
|
|
32
32
|
- **Feature scope only.** Review touched files + the diff. **NO whole-project refactors,
|
|
@@ -34,7 +34,7 @@ Pull these via `Read` when the diff demands them:
|
|
|
34
34
|
asking. Spec Drift Guard applies.
|
|
35
35
|
- **Reviews the finished product.** `/rite-polish` has already done **code simplification**
|
|
36
36
|
+ UI normalize/polish. Review judges; if it reveals a real complexity issue polish
|
|
37
|
-
missed, flag it as a finding
|
|
37
|
+
missed, flag it as a finding: don't re-run a simplification sweep here.
|
|
38
38
|
- Findings are labeled (below). Re-prove after any change you make.
|
|
39
39
|
|
|
40
40
|
## Workflow
|
|
@@ -42,18 +42,18 @@ Pull these via `Read` when the diff demands them:
|
|
|
42
42
|
on-demand rules above as the diff demands them.
|
|
43
43
|
Then run `devrites-engine preamble` for deterministic workspace orientation.
|
|
44
44
|
1. Read `spec.md`, `tasks.md`, `state.md`, `decisions.md`, `evidence.md`,
|
|
45
|
-
`touched-files.md`, `.devrites/principles.md` (if present
|
|
45
|
+
`touched-files.md`, `.devrites/principles.md` (if present: the binding invariants to score
|
|
46
46
|
the diff against), and the `git diff`. For "what would this change break"
|
|
47
|
-
questions, prefer a code-intelligence index if available
|
|
47
|
+
questions, prefer a code-intelligence index if available (codebase-memory-mcp first,
|
|
48
48
|
cross-checked with codegraph + graphify, else standard methods (LSP / Read/Grep/Glob); see
|
|
49
|
-
`.claude/skills/devrites-lib/reference/standards/tooling.md`
|
|
49
|
+
`.claude/skills/devrites-lib/reference/standards/tooling.md`) over file reads;
|
|
50
50
|
they answer impact/callers in one call. When a finding hinges on an external library's
|
|
51
51
|
current API, context7 if available can confirm the signature.
|
|
52
|
-
2. **Review tests first
|
|
52
|
+
2. **Review tests first:** do they prove the acceptance criteria? Missing,
|
|
53
53
|
weak, or wrong tests are the first findings.
|
|
54
54
|
**Completion:** every acceptance criterion maps to a proven test or a labeled finding.
|
|
55
55
|
3. **Spec ↔ Code-review split (parallel sub-agents, fresh context).** A change can pass
|
|
56
|
-
one axis and fail the other
|
|
56
|
+
one axis and fail the other: code that follows every project standard but
|
|
57
57
|
implements the wrong thing (Code-review pass, Spec fail), or code that does exactly
|
|
58
58
|
what the spec asked but breaks project conventions (Spec pass, Code-review fail).
|
|
59
59
|
Running them serially in one context lets one mask the other. So:
|
|
@@ -74,16 +74,16 @@ Pull these via `Read` when the diff demands them:
|
|
|
74
74
|
where 20 would do) and the silent-failure bugs (a missing value coerced to 0/''/[],
|
|
75
75
|
a dropped Result/err return, off-by-one / boundary, logic that contradicts the
|
|
76
76
|
comment/docstring/name). Per hunk, check whether working code was deleted that the
|
|
77
|
-
task did not ask to remove. Score the diff against `.devrites/principles.md
|
|
77
|
+
task did not ask to remove. Score the diff against `.devrites/principles.md`: a change
|
|
78
78
|
that breaks a declared invariant with no recorded, human-approved exception is a Critical.
|
|
79
79
|
Distinguish hard documented-standard violations from baseline smells; smells are judgment
|
|
80
80
|
calls unless a DevRites or project standard makes them binding."
|
|
81
81
|
- **Do NOT merge or re-rank** their findings. Present them under separate
|
|
82
82
|
`## Spec` and `## Code review` sub-sections in `review.md`. Surface contradictions
|
|
83
83
|
between the axes explicitly (e.g. "Spec axis says complete, Code-review axis says
|
|
84
|
-
untestable")
|
|
84
|
+
untestable"): `/rite-seal` decides what blocks.
|
|
85
85
|
4. **Reconcile, don't re-review.** With the two parallel reports in hand, the inline
|
|
86
|
-
lead reconciles
|
|
86
|
+
lead reconciles. It does **not** re-run the code-review axes over correctness /
|
|
87
87
|
readability / architecture / maintainability that `devrites-code-reviewer` already
|
|
88
88
|
covered. Stay in scope ([feature-scoped-review](reference/feature-scoped-review.md)).
|
|
89
89
|
Add only what the dispatched agents could not, then resolve overlaps and
|
|
@@ -92,13 +92,13 @@ Pull these via `Read` when the diff demands them:
|
|
|
92
92
|
- **UI feature?** Apply the **UX rubric**
|
|
93
93
|
([nielsen-heuristics](reference/nielsen-heuristics.md)) and the
|
|
94
94
|
**cognitive-load lens** ([cognitive-load](reference/cognitive-load.md)) on the
|
|
95
|
-
UX axis
|
|
95
|
+
UX axis: surface heuristics scoring ≤ 2 and any cognitive-load findings
|
|
96
96
|
(extraneous noise, missing progressive disclosure, vocabulary drift) at the
|
|
97
97
|
appropriate severity.
|
|
98
|
-
5. **Security
|
|
98
|
+
5. **Security:** apply `devrites-audit security`
|
|
99
99
|
([security-review](reference/security-review.md)) when user input, auth, data
|
|
100
100
|
storage, external integrations, secrets, or permissions are involved.
|
|
101
|
-
6. **Performance
|
|
101
|
+
6. **Performance:** apply `devrites-audit perf`
|
|
102
102
|
([performance-review](reference/performance-review.md)) only when performance is
|
|
103
103
|
relevant or a regression risk is visible (measure first).
|
|
104
104
|
7. Apply only in-scope fixes; **run verification after changes** (`/rite-prove` logic).
|
|
@@ -108,38 +108,38 @@ Pull these via `Read` when the diff demands them:
|
|
|
108
108
|
devrites-engine review-integrity
|
|
109
109
|
devrites-engine review-fingerprints --write
|
|
110
110
|
```
|
|
111
|
-
Exit 1 means an adversarial axis reported nothing and justified nothing
|
|
111
|
+
Exit 1 means an adversarial axis reported nothing and justified nothing: a suspected
|
|
112
112
|
rubber-stamp. Re-run that axis or add its `No-findings:` justification; do not carry a silent
|
|
113
113
|
axis into `/rite-seal` (where it surfaces as an Important).
|
|
114
114
|
|
|
115
115
|
## Finding labels
|
|
116
|
-
- **Critical
|
|
117
|
-
- **Important
|
|
118
|
-
- **Suggestion
|
|
119
|
-
- **Nit
|
|
120
|
-
- **FYI
|
|
116
|
+
- **Critical:** must fix before seal (correctness/security/data loss).
|
|
117
|
+
- **Important:** should fix before seal (likely bug, real maintainability risk).
|
|
118
|
+
- **Suggestion:** worth doing, not blocking.
|
|
119
|
+
- **Nit:** trivial/style.
|
|
120
|
+
- **FYI:** context, no action implied.
|
|
121
121
|
|
|
122
122
|
**Action decoration (orthogonal to severity).** Also tag each finding with how to act on it:
|
|
123
123
|
`blocking` (fix before seal), `non-blocking` (fix when convenient), or `if-minor` (fix only if the
|
|
124
|
-
change is already small
|
|
124
|
+
change is already small: a pure noise-economics lever). Only a **`blocking` Critical** gates the
|
|
125
125
|
seal; a `non-blocking` / `if-minor` finding is recorded, not a stop.
|
|
126
126
|
|
|
127
127
|
## Confidence + signal-to-noise
|
|
128
|
-
Borrow `/rite-vet`'s discipline so review stays **trusted, not noisy
|
|
128
|
+
Borrow `/rite-vet`'s discipline so review stays **trusted, not noisy**: a reviewer that posts
|
|
129
129
|
18 comments per PR teaches the team to ignore every one (below ~10% false-positive rate devs
|
|
130
130
|
investigate each finding; past ~30% they label the tool noisy and skip it):
|
|
131
|
-
- **Confidence-band each finding** (1
|
|
132
|
-
you can't verify against the code is **suppressed
|
|
131
|
+
- **Confidence-band each finding** (1-10) and state the band. A low-confidence finding (≤4)
|
|
132
|
+
you can't verify against the code is **suppressed**: roll it into one `Suppressed
|
|
133
133
|
(low-confidence): n` line, never raised as Critical/Important.
|
|
134
134
|
- **Verify before you escalate.** Every Critical/Important quotes the spec line or cites the
|
|
135
|
-
`file:line` that proves it
|
|
135
|
+
`file:line` that proves it: no unverified blockers.
|
|
136
136
|
- **Budget the noise.** Roll up trivia ("N style nits") into a single line; tooling already
|
|
137
137
|
catches style. Review's job is correctness + spec fidelity, not a lint dump.
|
|
138
138
|
- **A silent axis is suspicious, not clean.** An adversarial axis that raises nothing must earn
|
|
139
139
|
it: end its `## Spec` / `## Code review` section with a **`No-findings:`** line naming the
|
|
140
140
|
passes it ran (missing/partial/incorrect for spec; edge cases, error paths, the riskiest
|
|
141
141
|
decision, a changed behavior whose test may not cover it for code) and why each came back
|
|
142
|
-
empty. This is the mirror of confidence-banding
|
|
142
|
+
empty. This is the mirror of confidence-banding: banding kills the false positive, this catches
|
|
143
143
|
the false negative ([`code-review.md` § Zero findings is suspicious](../devrites-lib/reference/standards/code-review.md)).
|
|
144
144
|
|
|
145
145
|
## Severity orientation (labels, not score)
|
|
@@ -149,7 +149,7 @@ FYI` counts. There is no composite number — `/rite-seal` gates on
|
|
|
149
149
|
`Critical == 0` and on acceptance + drift. Inventing a number invites gaming;
|
|
150
150
|
the labels do the work.
|
|
151
151
|
|
|
152
|
-
> **Mid-flight discipline.** When tempted to demote a Critical, hide a finding, fix without re-verification, or wander out of scope
|
|
152
|
+
> **Mid-flight discipline.** When tempted to demote a Critical, hide a finding, fix without re-verification, or wander out of scope: see [`anti-patterns`](reference/anti-patterns.md). Load it the moment you reach for the excuse.
|
|
153
153
|
|
|
154
154
|
## Output → `review.md`
|
|
155
155
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# rite-review
|
|
1
|
+
# rite-review: anti-patterns
|
|
2
2
|
|
|
3
3
|
Load this when standing a non-trivial review decision, when tempted to
|
|
4
4
|
demote severity to hide a finding, or when crossing out of feature scope.
|
|
@@ -10,9 +10,9 @@ Pack-wide rationalizations + red flags: see
|
|
|
10
10
|
|
|
11
11
|
| Excuse | Rebuttal |
|
|
12
12
|
|---|---|
|
|
13
|
-
| "Polish already cleaned this up; nothing to flag." | Polish finishes; review judges. If review still spots a real issue, flag it
|
|
13
|
+
| "Polish already cleaned this up; nothing to flag." | Polish finishes; review judges. If review still spots a real issue, flag it: don't re-run polish here. |
|
|
14
14
|
| "Tests pass, so they're adequate." | Adequacy = do they prove acceptance, including failure / boundary / empty paths? A passing test is not automatically a good test. |
|
|
15
|
-
| "Security audit isn't needed for this feature." | If the feature touches user input, auth, data storage, external integrations, secrets, or permissions
|
|
15
|
+
| "Security audit isn't needed for this feature." | If the feature touches user input, auth, data storage, external integrations, secrets, or permissions: yes it is. |
|
|
16
16
|
| "I'll just fix everything I find in scope." | Some fixes belong in `/rite-plan` as drift, not as smuggled redesigns inside review. |
|
|
17
17
|
| "Performance is fine without measuring." | No claim without a number or a specified measurement. "Feels fast" is not a finding. |
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Pack-wide rationalizations + red flags: see
|
|
|
20
20
|
|
|
21
21
|
| Excuse | Rebuttal |
|
|
22
22
|
|---|---|
|
|
23
|
-
| "Demoting a Critical to Important keeps the review clean." | Severity reflects the actual risk to ship
|
|
23
|
+
| "Demoting a Critical to Important keeps the review clean." | Severity reflects the actual risk to ship, not the review you'd like. |
|
|
24
24
|
| "I won't surface this Critical; user can find it later." | Hidden Criticals are the worst-case play. The seal blocks anyway, and now you've burned trust. |
|
|
25
25
|
|
|
26
26
|
## Red Flags
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# Cognitive load
|
|
1
|
+
# Cognitive load: a UX review lens
|
|
2
2
|
|
|
3
3
|
Cognitive load is the total mental effort the interface demands. Overloaded users
|
|
4
4
|
hesitate, misclick, abandon. Reviewing UI without this lens misses a whole class of
|
|
5
5
|
defects that no a11y checker or perf tool will flag.
|
|
6
6
|
|
|
7
7
|
DevRites' `/rite-review` uses this reference when the feature touches UI. It is
|
|
8
|
-
descriptive (helps you spot defects) rather than scored
|
|
8
|
+
descriptive (helps you spot defects) rather than scored: findings raised here
|
|
9
9
|
roll up under the UX axis of the multi-axis review with the usual severity labels.
|
|
10
10
|
|
|
11
11
|
## Three kinds of load
|
|
12
12
|
|
|
13
13
|
| Type | Source | Reviewer's job |
|
|
14
14
|
|---|---|---|
|
|
15
|
-
| **Intrinsic** | The task itself
|
|
16
|
-
| **Extraneous** | Bad design
|
|
17
|
-
| **Germane** | Effort the user spends *forming a mental model* of the product. | **Invest deliberately.** Consistent flows, shared vocabulary, predictable affordances
|
|
15
|
+
| **Intrinsic** | The task itself: its inherent steps, decisions, and required knowledge. | Can't be eliminated, only **structured**: step the user through it, provide defaults, group related decisions, defer what isn't needed yet. |
|
|
16
|
+
| **Extraneous** | Bad design: friction the task doesn't require: noisy hierarchy, redundant choices, jargon, layout that hides the next step. | **Eliminate it ruthlessly.** It's pure waste, and the easiest class of finding to land. |
|
|
17
|
+
| **Germane** | Effort the user spends *forming a mental model* of the product. | **Invest deliberately.** Consistent flows, shared vocabulary, predictable affordances: anything that lets the user re-use what they already learned. |
|
|
18
18
|
|
|
19
|
-
A surface can be intrinsic-heavy *and* extraneously-fine
|
|
19
|
+
A surface can be intrinsic-heavy *and* extraneously-fine. That's a hard task done
|
|
20
20
|
right. A simple surface that still feels heavy is extraneous load disguised as
|
|
21
21
|
"complexity."
|
|
22
22
|
|
|
@@ -27,46 +27,46 @@ Treat each as a finding when present; classify by load type so the fix is obviou
|
|
|
27
27
|
### Extraneous (reduce / remove)
|
|
28
28
|
- **Visual noise** that doesn't earn its place: redundant borders, shadows,
|
|
29
29
|
dividers, gratuitous icons next to every label, colour used decoratively.
|
|
30
|
-
- **Competing primary actions
|
|
30
|
+
- **Competing primary actions:** two or three buttons of equal weight when one
|
|
31
31
|
is clearly the next step.
|
|
32
|
-
- **Jargon and abbreviations** the user doesn't share
|
|
32
|
+
- **Jargon and abbreviations** the user doesn't share: names from the codebase
|
|
33
33
|
or internal team that leaked into the UI.
|
|
34
34
|
- **Restated headings** (the body of a section repeats the section title in
|
|
35
35
|
long-form).
|
|
36
|
-
- **Decision paralysis
|
|
36
|
+
- **Decision paralysis:** too many options when one default + a "more options"
|
|
37
37
|
toggle would do.
|
|
38
|
-
- **Form fields without obvious priority
|
|
38
|
+
- **Form fields without obvious priority:** required vs optional, primary vs
|
|
39
39
|
secondary mixed in a single column with no rhythm.
|
|
40
40
|
- **Premature error messaging** (validation that fires before the user has
|
|
41
41
|
finished typing).
|
|
42
42
|
|
|
43
43
|
### Intrinsic (structure, don't try to eliminate)
|
|
44
|
-
- **No progressive disclosure** on a genuinely complex task
|
|
44
|
+
- **No progressive disclosure** on a genuinely complex task: every field
|
|
45
45
|
visible at once because "the user might need it".
|
|
46
|
-
- **No safe defaults** on multi-step flows
|
|
46
|
+
- **No safe defaults** on multi-step flows: the user has to choose at every step
|
|
47
47
|
even when one path is the obvious answer.
|
|
48
|
-
- **Decisions grouped wrong
|
|
48
|
+
- **Decisions grouped wrong:** "billing address" sandwiched between two
|
|
49
49
|
unrelated sections rather than next to "shipping address".
|
|
50
50
|
- **No scaffolding** (no template, no example input, no recently-used value)
|
|
51
51
|
for tasks that have a high blank-page cost.
|
|
52
52
|
|
|
53
53
|
### Germane (invest in)
|
|
54
|
-
- **Inconsistent vocabulary** across the feature
|
|
54
|
+
- **Inconsistent vocabulary** across the feature: same concept named two ways
|
|
55
55
|
(e.g. "member" in one screen, "user" in the next).
|
|
56
56
|
- **Flow-shape divergence** from neighbouring features (modal where the project
|
|
57
57
|
uses inline; route-change where the project uses an overlay).
|
|
58
|
-
- **Affordances that look interactive but aren't** (and vice versa)
|
|
58
|
+
- **Affordances that look interactive but aren't** (and vice versa): destroys
|
|
59
59
|
the mental model the user is trying to build.
|
|
60
60
|
|
|
61
|
-
## Reviewing a flow
|
|
61
|
+
## Reviewing a flow: three-pass discipline
|
|
62
62
|
|
|
63
63
|
1. **First pass: silent.** Walk the flow without reading any explainer copy.
|
|
64
|
-
Anything that stops you cold without copy is a finding
|
|
64
|
+
Anything that stops you cold without copy is a finding: either extraneous
|
|
65
65
|
load you can't dismiss, or a germane-load problem (the user is missing a
|
|
66
66
|
mental model the UI assumes).
|
|
67
67
|
2. **Second pass: with copy.** Read every label, helper, and error. Does the
|
|
68
68
|
copy resolve the friction the first pass surfaced, or just paper over it?
|
|
69
|
-
"Tooltip explaining a confusing button" is rarely the right fix
|
|
69
|
+
"Tooltip explaining a confusing button" is rarely the right fix: usually
|
|
70
70
|
the button needs a different label.
|
|
71
71
|
3. **Third pass: empty + error.** Run the flow with no data, partial data, and
|
|
72
72
|
the worst inputs (offline / 500 / permission-denied). Most cognitive-load
|
|
@@ -81,12 +81,12 @@ doesn't decide the rewrite strategy.
|
|
|
81
81
|
|
|
82
82
|
## What this lens **doesn't** cover
|
|
83
83
|
|
|
84
|
-
- **Accessibility
|
|
84
|
+
- **Accessibility:** separate axis (WCAG 2.2; see
|
|
85
85
|
[`devrites-frontend-craft/reference/quality-standards.md`](../../devrites-frontend-craft/reference/quality-standards.md)).
|
|
86
|
-
- **Performance
|
|
86
|
+
- **Performance:** separate axis (Core Web Vitals; see
|
|
87
87
|
[`performance-checklist.md`](performance-checklist.md)).
|
|
88
|
-
- **Code quality
|
|
88
|
+
- **Code quality:** covered by the simplification audit
|
|
89
89
|
(`devrites-audit simplify`).
|
|
90
|
-
- **Security
|
|
90
|
+
- **Security:** covered by the security audit (`devrites-audit security`).
|
|
91
91
|
|
|
92
92
|
Cognitive-load findings live on the **UX axis** of the multi-axis review.
|
|
@@ -16,8 +16,8 @@ current diff. This is a hard rule, not a guideline.
|
|
|
16
16
|
- Expand the review into a project audit.
|
|
17
17
|
|
|
18
18
|
## When you spot a real problem outside scope
|
|
19
|
-
Record it as an **[FYI] follow-up** in `review.md` (and suggest a separate feature/issue)
|
|
20
|
-
|
|
19
|
+
Record it as an **[FYI] follow-up** in `review.md` (and suggest a separate feature/issue).
|
|
20
|
+
Don't fix it inline. Drive-by changes balloon the diff, dodge their own review, and
|
|
21
21
|
mix concerns the seal can't cleanly evaluate.
|
|
22
22
|
|
|
23
23
|
## Why scope discipline matters
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Code-review axes
|
|
2
2
|
|
|
3
|
-
The
|
|
4
|
-
|
|
3
|
+
The dispatched `devrites-code-reviewer` always checks tests first, then applies the remaining
|
|
4
|
+
axes under one severity scale (Critical / Important / Suggestion / Nit / FYI).
|
|
5
5
|
The `/rite-review` inline lead **reconciles** the returned report against the Spec
|
|
6
|
-
axis
|
|
6
|
+
axis. It does not re-run these axes itself. This file is the shared definition of
|
|
7
7
|
what "full code-review discipline" covers; use it to judge whether the agent's report
|
|
8
8
|
is complete, and to scope anything the agent could not (e.g. UI-only lenses below).
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ is complete, and to scope anything the agent could not (e.g. UI-only lenses belo
|
|
|
21
21
|
- Can the next engineer understand it without the author? Naming, function length,
|
|
22
22
|
nesting depth, comments that explain *why* not *what*.
|
|
23
23
|
- Structural smells: a conditional **bolted onto an unrelated flow** (wants its own
|
|
24
|
-
helper/state/policy
|
|
24
|
+
helper/state/policy: a design smell, not a nit); **repeated conditionals on the same
|
|
25
25
|
shape** (a missing model or dispatcher).
|
|
26
26
|
|
|
27
27
|
## 3. Architecture
|
|
@@ -31,7 +31,7 @@ is complete, and to scope anything the agent could not (e.g. UI-only lenses belo
|
|
|
31
31
|
reader must hold; a "cleaner" version that leaves that count unchanged isn't cleaner.
|
|
32
32
|
- Is feature-specific logic **leaking into a shared module** instead of its owning layer?
|
|
33
33
|
Is a **type boundary** left implicit by a gratuitous `any`/cast or a silent fallback?
|
|
34
|
-
- **Name the remedy, not just the smell
|
|
34
|
+
- **Name the remedy, not just the smell:** replace a conditional chain with a typed
|
|
35
35
|
dispatcher, separate orchestration from business logic, move feature logic to its owning
|
|
36
36
|
package, delete a pass-through wrapper, split a large file. Prefer the move that removes
|
|
37
37
|
moving pieces over one that re-centralizes the same complexity.
|
|
@@ -42,7 +42,7 @@ is complete, and to scope anything the agent could not (e.g. UI-only lenses belo
|
|
|
42
42
|
|
|
43
43
|
## 5. Performance
|
|
44
44
|
- Obvious N+1s, unnecessary work in hot paths, payload sizes. Hand off to
|
|
45
|
-
`devrites-audit perf` when perf is relevant
|
|
45
|
+
`devrites-audit perf` when perf is relevant: **measure before claiming**.
|
|
46
46
|
|
|
47
47
|
## 6. Maintainability
|
|
48
48
|
- Tests, docs/comments where needed, no dead code added, no TODOs left, consistent
|
|
@@ -54,7 +54,7 @@ is complete, and to scope anything the agent could not (e.g. UI-only lenses belo
|
|
|
54
54
|
|
|
55
55
|
## Sizing & speed
|
|
56
56
|
Prefer reviewing roughly one slice / ~100 lines of meaningful change at a time. Larger
|
|
57
|
-
diffs hide defects
|
|
57
|
+
diffs hide defects: recommend splitting rather than rubber-stamping. Watch **file size,
|
|
58
58
|
not just diff size**: a small diff that pushes an already-large file further past a healthy
|
|
59
|
-
boundary wants decomposition (extract helpers / split modules) *first
|
|
59
|
+
boundary wants decomposition (extract helpers / split modules) *first*: decompose, then
|
|
60
60
|
add.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Nielsen's 10 usability heuristics
|
|
1
|
+
# Nielsen's 10 usability heuristics: DevRites scoring rubric
|
|
2
2
|
|
|
3
3
|
A structured UX rubric for `/rite-review` when the feature touches UI. Score each
|
|
4
|
-
heuristic on a **0
|
|
4
|
+
heuristic on a **0-4** scale; the per-heuristic scores feed the UX axis of the
|
|
5
5
|
multi-axis review and shape the severity labels on UX findings.
|
|
6
6
|
|
|
7
|
-
**Score honestly.** 4 means *genuinely excellent
|
|
8
|
-
findings". 3 is "good with minor gaps". 2 is "partial
|
|
7
|
+
**Score honestly.** 4 means *genuinely excellent*, not "good enough", not "no
|
|
8
|
+
findings". 3 is "good with minor gaps". 2 is "partial: significant gaps". 0-1 is a
|
|
9
9
|
Critical / Important.
|
|
10
10
|
|
|
11
|
-
Heuristics are Jakob Nielsen's 10 (1994, refreshed 2020)
|
|
11
|
+
Heuristics are Jakob Nielsen's 10 (1994, refreshed 2020): public usability canon,
|
|
12
12
|
referenced by every serious design discipline.
|
|
13
13
|
|
|
14
14
|
## 1. Visibility of system status
|
|
@@ -25,19 +25,19 @@ Users know what's happening, when, and where.
|
|
|
25
25
|
|
|
26
26
|
## 2. Match between system and the real world
|
|
27
27
|
The UI speaks the user's language and follows real-world conventions.
|
|
28
|
-
- Domain vocabulary the *user* shares
|
|
28
|
+
- Domain vocabulary the *user* shares, not the team's internal names.
|
|
29
29
|
- Familiar metaphors where they help (cart, inbox, draft).
|
|
30
30
|
- Information ordered the way the user thinks about it, not the way the DB stores it.
|
|
31
31
|
|
|
32
32
|
| 0 | 1 | 2 | 3 | 4 |
|
|
33
33
|
|---|---|---|---|---|
|
|
34
|
-
| Jargon throughout. | Mostly internal vocabulary. | Mixed
|
|
34
|
+
| Jargon throughout. | Mostly internal vocabulary. | Mixed: some user terms, some internal. | Clear user terms; a couple of leaks. | Reads like the user's own words. |
|
|
35
35
|
|
|
36
36
|
## 3. User control and freedom
|
|
37
37
|
Easy escape, undo, and back-out from any state.
|
|
38
38
|
- Cancel / close / back on every modal, route, and form.
|
|
39
39
|
- Undo on destructive operations (delete, archive, reset).
|
|
40
|
-
- No dead-end states ("Error
|
|
40
|
+
- No dead-end states ("Error: refresh the page" with no recovery).
|
|
41
41
|
|
|
42
42
|
| 0 | 1 | 2 | 3 | 4 |
|
|
43
43
|
|---|---|---|---|---|
|
|
@@ -74,7 +74,7 @@ Show options; don't force the user to remember them.
|
|
|
74
74
|
|
|
75
75
|
| 0 | 1 | 2 | 3 | 4 |
|
|
76
76
|
|---|---|---|---|---|
|
|
77
|
-
| Heavy recall required. | Critical flows demand recall. | Mixed
|
|
77
|
+
| Heavy recall required. | Critical flows demand recall. | Mixed: some visible, some hidden. | Mostly recognition; minor recall asks. | Pure recognition; nothing the user needs is hidden. |
|
|
78
78
|
|
|
79
79
|
## 7. Flexibility and efficiency of use
|
|
80
80
|
Novices and experts both productive.
|
|
@@ -101,8 +101,8 @@ Every element earns its place. No decorative noise.
|
|
|
101
101
|
Error states are designed, not afterthoughts.
|
|
102
102
|
- Errors named in user language ("Your card was declined") not codes ("Stripe 4002").
|
|
103
103
|
- A concrete next step ("Try a different card" + "Use PayPal instead").
|
|
104
|
-
- Inline location
|
|
105
|
-
- No blame
|
|
104
|
+
- Inline location: the error appears next to the field / action that caused it.
|
|
105
|
+
- No blame: the message describes the situation, not the user.
|
|
106
106
|
|
|
107
107
|
| 0 | 1 | 2 | 3 | 4 |
|
|
108
108
|
|---|---|---|---|---|
|
|
@@ -112,7 +112,7 @@ Error states are designed, not afterthoughts.
|
|
|
112
112
|
Users can find what they need without leaving the surface.
|
|
113
113
|
- Inline hints on novel patterns.
|
|
114
114
|
- Search-friendly help for deeper questions.
|
|
115
|
-
- No help is needed for the common path
|
|
115
|
+
- No help is needed for the common path, and that's documented as a goal.
|
|
116
116
|
|
|
117
117
|
| 0 | 1 | 2 | 3 | 4 |
|
|
118
118
|
|---|---|---|---|---|
|
|
@@ -121,8 +121,8 @@ Users can find what they need without leaving the surface.
|
|
|
121
121
|
## Reporting
|
|
122
122
|
|
|
123
123
|
In `/rite-review` output, surface only the heuristics scoring **≤2** as findings,
|
|
124
|
-
plus any 3 with a specific noted gap. Heuristics at 4 are not reported individually
|
|
125
|
-
|
|
124
|
+
plus any 3 with a specific noted gap. Heuristics at 4 are not reported individually.
|
|
125
|
+
They roll up into the UX axis. Heuristics at 3 with no specific gap are not
|
|
126
126
|
reported. Each surfaced finding gets a severity label per `rite-review/SKILL.md`.
|
|
127
127
|
|
|
128
128
|
The rubric is descriptive, not gating. A score of 2 on aesthetic-minimalist isn't
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
# Performance checklist (baseline for the perf reviewer)
|
|
2
2
|
|
|
3
3
|
The minimum baseline `devrites-performance-reviewer` checks against, in feature scope. It
|
|
4
|
-
is a checklist, not a mandate: flag what the diff
|
|
4
|
+
is a checklist, not a mandate: flag what the diff touches or what a measurement
|
|
5
5
|
flags, never a project-wide sweep. The philosophy lives in
|
|
6
|
-
[`standards/performance.md`](../../devrites-lib/reference/standards/performance.md) (measure first)
|
|
6
|
+
[`standards/performance.md`](../../devrites-lib/reference/standards/performance.md) (measure first). This file is the
|
|
7
7
|
concrete what-to-look-for.
|
|
8
8
|
|
|
9
9
|
## Core Web Vitals targets
|
|
10
10
|
|
|
11
11
|
| Metric | Good | Needs work | Poor |
|
|
12
12
|
|---|---|---|---|
|
|
13
|
-
| LCP
|
|
14
|
-
| INP
|
|
15
|
-
| CLS
|
|
13
|
+
| LCP: Largest Contentful Paint | ≤ 2.5s | ≤ 4.0s | > 4.0s |
|
|
14
|
+
| INP: Interaction to Next Paint | ≤ 200ms | ≤ 500ms | > 500ms |
|
|
15
|
+
| CLS: Cumulative Layout Shift | ≤ 0.1 | ≤ 0.25 | > 0.25 |
|
|
16
16
|
|
|
17
|
-
A CWV value only counts when it carries a source
|
|
17
|
+
A CWV value only counts when it carries a source: `Field (CrUX)`, `Lab (Lighthouse)`, or
|
|
18
18
|
`Trace (DevTools)`. No source → it's a Source-mode hypothesis, not a measurement.
|
|
19
19
|
|
|
20
20
|
## Frontend (only when the feature is UI-facing)
|
|
21
21
|
|
|
22
22
|
Identify the framework first; apply only its idioms.
|
|
23
23
|
|
|
24
|
-
- **Images
|
|
24
|
+
- **Images:** modern format (WebP/AVIF); responsive `srcset`/`sizes`; explicit
|
|
25
25
|
`width`/`height` to reserve space (CLS); below-the-fold `loading="lazy"`; the LCP image
|
|
26
26
|
gets `fetchpriority="high"` and is **not** lazy-loaded.
|
|
27
|
-
- **JavaScript
|
|
27
|
+
- **JavaScript:** initial bundle stays small (≈200KB gzipped is the usual line); code-split
|
|
28
28
|
routes and heavy features; no blocking script in `<head>` without `defer`/`async`; break
|
|
29
29
|
long tasks (>50ms) so the main thread stays free (the main INP lever); `memo`/`useMemo`/
|
|
30
30
|
`useCallback` only where profiling shows a win, not wrapped over everything.
|
|
31
|
-
- **CSS
|
|
32
|
-
- **Fonts
|
|
31
|
+
- **CSS:** critical CSS not render-blocking; no per-render CSS-in-JS runtime cost in prod.
|
|
32
|
+
- **Fonts:** 2-3 families max; WOFF2; self-hosted where possible; preload the LCP font;
|
|
33
33
|
`font-display: swap`; subset with `unicode-range`.
|
|
34
|
-
- **Rendering
|
|
34
|
+
- **Rendering:** no layout thrashing (batch reads, then writes); animate `transform`/
|
|
35
35
|
`opacity` only; virtualize long lists; `content-visibility: auto` for off-screen sections;
|
|
36
36
|
don't break bfcache (no `unload` handler, no `Cache-Control: no-store` on HTML).
|
|
37
37
|
|
|
@@ -39,7 +39,7 @@ Identify the framework first; apply only its idioms.
|
|
|
39
39
|
|
|
40
40
|
- No N+1 queries; eager-load / join / batch instead.
|
|
41
41
|
- New queries have the indexes they need for their filter/sort columns.
|
|
42
|
-
- List endpoints paginate
|
|
42
|
+
- List endpoints paginate: never an unbounded `SELECT *`.
|
|
43
43
|
- Per-request work that doesn't change per call is cached or hoisted.
|
|
44
44
|
- Responses compressed (gzip/brotli); bulk operations instead of a loop of single calls.
|
|
45
45
|
|
|
@@ -53,9 +53,9 @@ Identify the framework first; apply only its idioms.
|
|
|
53
53
|
- State duplicated instead of lifted; effects with over-broad deps that re-run needlessly.
|
|
54
54
|
- Sequential `await`s where `Promise.all` / parallel fetch fits.
|
|
55
55
|
- Over-fetching "just in case"; redundant calls a dedup would collapse.
|
|
56
|
-
- Defensive memoization wrapping cheap components
|
|
56
|
+
- Defensive memoization wrapping cheap components: cost with no benefit.
|
|
57
57
|
|
|
58
|
-
## Modern APIs to consider (one-liners
|
|
58
|
+
## Modern APIs to consider (one-liners: reach for these, don't gate on them)
|
|
59
59
|
|
|
60
60
|
`scheduler.yield()` to keep input responsive in long loops · Speculation Rules for
|
|
61
61
|
prefetch/prerender · View Transitions on SPA navigation · Long Animation Frames (LoAF) for
|
|
@@ -9,20 +9,20 @@ This is the **single-sourced OWASP-web checklist** both `/rite-review` and the
|
|
|
9
9
|
`devrites-security-auditor` agent apply (trust-boundary + the OWASP **LLM** Top 10 live in
|
|
10
10
|
[`standards/security.md`](../../devrites-lib/reference/standards/security.md)). Keep the enumeration here; don't restate it.
|
|
11
11
|
|
|
12
|
-
- **Injection
|
|
12
|
+
- **Injection:** parameterized queries; no string-built SQL/shell/HTML; validate &
|
|
13
13
|
encode at boundaries.
|
|
14
|
-
- **Broken access control
|
|
14
|
+
- **Broken access control:** every sensitive action checks authz server-side; no
|
|
15
15
|
trusting client-supplied IDs/roles; no IDOR.
|
|
16
|
-
- **Auth / session
|
|
16
|
+
- **Auth / session:** secure session handling; no credentials in code/logs; correct
|
|
17
17
|
password/token handling.
|
|
18
|
-
- **Sensitive data
|
|
18
|
+
- **Sensitive data:** PII/secrets not logged or returned; encryption where required;
|
|
19
19
|
least data exposed.
|
|
20
|
-
- **SSRF / external calls
|
|
20
|
+
- **SSRF / external calls:** validate/allowlist outbound URLs; timeouts; don't reflect
|
|
21
21
|
untrusted input into requests.
|
|
22
|
-
- **Misconfiguration
|
|
22
|
+
- **Misconfiguration:** safe defaults; debug off; CORS scoped; security headers as the
|
|
23
23
|
project uses them.
|
|
24
|
-
- **Vulnerable dependencies
|
|
25
|
-
- **Integrity / deserialization
|
|
24
|
+
- **Vulnerable dependencies:** new/updated deps audited; no known-vuln versions added.
|
|
25
|
+
- **Integrity / deserialization:** don't deserialize untrusted data unsafely.
|
|
26
26
|
|
|
27
27
|
## Trust boundary
|
|
28
28
|
Apply the three-tier discipline (untrusted → boundary → trusted) per the canonical rule
|
|
@@ -33,5 +33,5 @@ that skips the boundary tier is a finding.
|
|
|
33
33
|
- Findings labeled Critical/Important/Suggestion. A real auth/data-exposure issue is
|
|
34
34
|
**Critical** → NO-GO until fixed.
|
|
35
35
|
- Secrets management: never commit secrets; use the project's secret mechanism.
|
|
36
|
-
- Don't expand into a project-wide security audit
|
|
36
|
+
- Don't expand into a project-wide security audit: feature scope. Record out-of-scope
|
|
37
37
|
risks as follow-ups.
|