devrites 5.10.2 → 5.12.0
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 +12 -0
- package/README.md +24 -10
- package/bin/devrites.mjs +2 -0
- package/docs/agents/issue-driven-rites.md +1 -1
- package/docs/agents/issue-tracker.md +3 -0
- package/docs/cli.md +90 -0
- package/docs/command-map.md +9 -6
- package/docs/engine/commands.md +21 -0
- package/docs/engine/state-schema.md +1 -1
- package/docs/engine/workspace-schema.md +10 -2
- package/docs/skills.md +10 -4
- package/docs/usage.md +2 -0
- package/engine/commands.go +11 -5
- package/engine/help.go +80 -3
- package/engine/help_test.go +7 -1
- package/engine/internal/acceptance/acceptance_test.go +655 -0
- package/engine/internal/acceptance/approve.go +142 -0
- package/engine/internal/acceptance/cli.go +426 -0
- package/engine/internal/acceptance/evidence.go +139 -0
- package/engine/internal/acceptance/exec.go +131 -0
- package/engine/internal/acceptance/exec_unix.go +22 -0
- package/engine/internal/acceptance/exec_windows.go +16 -0
- package/engine/internal/acceptance/ledger.go +259 -0
- package/engine/internal/acceptance/lint.go +115 -0
- package/engine/internal/acceptance/run.go +207 -0
- package/engine/internal/acceptance/scaffold.go +55 -0
- package/engine/internal/devritespaths/paths.go +2 -0
- package/engine/internal/gate/gate.go +12 -2
- package/engine/internal/gate/gate_test.go +17 -9
- package/engine/internal/gate/gates_ledger.go +76 -0
- package/engine/internal/gate/readiness_binding.go +39 -0
- package/engine/internal/gate/readiness_binding_test.go +4 -3
- package/engine/internal/hostpack/hostpack.go +39 -5
- package/engine/internal/hostpack/hostpack_test.go +27 -13
- package/engine/internal/install/apply.go +17 -4
- package/engine/internal/install/install.go +16 -3
- package/engine/internal/install/install_test.go +32 -6
- package/engine/internal/install/merge.go +82 -22
- package/engine/internal/install/preflight.go +8 -2
- package/engine/internal/install/update.go +8 -2
- package/engine/internal/install/workspace_advisory.go +46 -0
- package/engine/internal/install/workspace_advisory_test.go +54 -0
- package/engine/internal/lib/candidate_test.go +1 -1
- package/engine/internal/lib/claims.go +411 -0
- package/engine/internal/lib/claims_test.go +182 -0
- package/engine/internal/lib/closeout_test.go +3 -3
- package/engine/internal/lib/context.go +445 -0
- package/engine/internal/lib/context_next_test.go +521 -0
- package/engine/internal/lib/detect.go +346 -0
- package/engine/internal/lib/detect_test.go +105 -0
- package/engine/internal/lib/diffscope.go +189 -0
- package/engine/internal/lib/dispatch.go +302 -0
- package/engine/internal/lib/drift.go +219 -0
- package/engine/internal/lib/drift_test.go +106 -0
- package/engine/internal/lib/dup.go +1243 -0
- package/engine/internal/lib/dup_test.go +488 -0
- package/engine/internal/lib/environment_report.go +1 -0
- package/engine/internal/lib/environment_report_test.go +2 -2
- package/engine/internal/lib/handoff.go +194 -0
- package/engine/internal/lib/handoff_test.go +83 -0
- package/engine/internal/lib/manifest_union_test.go +1 -1
- package/engine/internal/lib/metrics.go +256 -0
- package/engine/internal/lib/migrate_test.go +6 -6
- package/engine/internal/lib/next.go +155 -0
- package/engine/internal/lib/observe_budgets_test.go +3 -3
- package/engine/internal/lib/regression.go +378 -0
- package/engine/internal/lib/regression_test.go +179 -0
- package/engine/internal/lib/resolve_remediation_test.go +1 -1
- package/engine/internal/lib/secretscan_test.go +1 -1
- package/engine/internal/lib/slicecheck.go +179 -0
- package/engine/internal/lib/slicecheck_test.go +111 -0
- package/engine/internal/lib/taskgraph_test.go +2 -2
- package/engine/internal/lib/triggers.go +133 -0
- package/engine/internal/lib/windows.go +353 -0
- package/engine/internal/lib/windows_test.go +237 -0
- package/engine/internal/notes/cli.go +349 -0
- package/engine/internal/notes/notes.go +384 -0
- package/engine/internal/notes/notes_test.go +173 -0
- package/engine/internal/parallel/lease.go +3 -8
- package/engine/internal/parallel/parallel_test.go +34 -0
- package/engine/internal/state/budgets.go +13 -8
- package/engine/internal/state/observation_test.go +1 -0
- package/engine/internal/state/schema.go +4 -3
- package/engine/internal/state/state_test.go +3 -3
- package/engine/internal/state/workflow_manifest.json +13 -4
- package/engine/internal/state/workspaceschema_test.go +2 -2
- package/engine/internal/testutil/testutil.go +4 -0
- package/engine/main.go +59 -0
- package/engine/note_routing_test.go +95 -0
- package/engine/observation_contract_test.go +1 -0
- package/engine/root_routing_test.go +13 -3
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/gates.md +4 -0
- package/engine/testdata/fixtures/basic/devrites-root/work/auth-tokens/state.md +1 -1
- package/engine/testdata/fixtures/basic/devrites-root/work/search-ranking/state.md +1 -1
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +1 -1
- package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +1 -1
- package/engine/tests/adr_0027_readiness_binding_test.go +1 -0
- package/engine/tests/gate_test.go +3 -0
- package/engine/tests/parity_closeout_test.go +3 -3
- package/engine/tests/parity_resolve_test.go +1 -1
- package/engine/tests/workspace_observation_migration_test.go +8 -4
- package/install.sh +4 -1
- package/pack/.claude/agents/_shared/composition-findings.md +1 -0
- package/pack/.claude/agents/_shared/composition-result.md +1 -0
- package/pack/.claude/agents/_shared/result-admission.md +3 -0
- package/pack/.claude/agents/_shared/untrusted-input-devex.md +1 -0
- package/pack/.claude/agents/_shared/untrusted-input-retrospector.md +1 -0
- package/pack/.claude/agents/_shared/untrusted-input.md +1 -0
- package/pack/.claude/agents/devrites-code-reviewer.md +19 -3
- package/pack/.claude/agents/devrites-devex-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-doubt-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-evidence-scout.md +3 -3
- package/pack/.claude/agents/devrites-frontend-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-performance-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-plan-drafter.md +3 -3
- package/pack/.claude/agents/devrites-plan-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-proof-runner.md +3 -3
- package/pack/.claude/agents/devrites-retrospector.md +3 -3
- package/pack/.claude/agents/devrites-security-auditor.md +25 -3
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +15 -5
- package/pack/.claude/agents/devrites-slice-wright.md +3 -3
- package/pack/.claude/agents/devrites-spec-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-strategy-reviewer.md +3 -3
- package/pack/.claude/agents/devrites-test-analyst.md +3 -3
- package/pack/.claude/agents/devrites-upgrade-planner.md +3 -3
- package/pack/.claude/settings.json +39 -2
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-audit/SKILL.md +9 -0
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-doubt/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
- package/pack/.claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
- package/pack/.claude/skills/devrites-interview/SKILL.md +5 -0
- package/pack/.claude/skills/devrites-lib/SKILL.md +40 -5
- package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-autocomplete.md +3 -0
- package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-plan.md +3 -0
- package/pack/.claude/skills/devrites-lib/reference/_shared/reslice-vet.md +3 -0
- package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
- package/pack/.claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +24 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +10 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +21 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
- package/pack/.claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +10 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
- package/pack/.claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/observability.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/performance.md +8 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/principles.md +14 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/security.md +58 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +19 -2
- package/pack/.claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +3 -1
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +2 -0
- package/pack/.claude/skills/rite/SKILL.md +2 -0
- package/pack/.claude/skills/rite-adopt/SKILL.md +2 -0
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +7 -4
- package/pack/.claude/skills/rite-autocomplete/reference/decision-policy.md +1 -3
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +8 -4
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -3
- package/pack/.claude/skills/rite-build/SKILL.md +28 -14
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +6 -0
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +11 -2
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -4
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +34 -8
- package/pack/.claude/skills/rite-clarify/SKILL.md +4 -0
- package/pack/.claude/skills/rite-converge/SKILL.md +14 -2
- package/pack/.claude/skills/rite-customize/SKILL.md +2 -0
- package/pack/.claude/skills/rite-define/SKILL.md +8 -2
- package/pack/.claude/skills/rite-doctor/SKILL.md +6 -1
- package/pack/.claude/skills/rite-dogfood/SKILL.md +2 -0
- package/pack/.claude/skills/rite-explain/SKILL.md +2 -0
- package/pack/.claude/skills/rite-frame/SKILL.md +4 -0
- package/pack/.claude/skills/rite-handoff/SKILL.md +8 -1
- package/pack/.claude/skills/rite-learn/SKILL.md +2 -0
- package/pack/.claude/skills/rite-plan/SKILL.md +7 -3
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -3
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +1 -3
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +3 -1
- package/pack/.claude/skills/rite-polish/SKILL.md +13 -2
- package/pack/.claude/skills/rite-polish/reference/code.md +6 -1
- package/pack/.claude/skills/rite-polish/reference/ledger.md +3 -1
- package/pack/.claude/skills/rite-pov/SKILL.md +2 -0
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +2 -0
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +2 -0
- package/pack/.claude/skills/rite-prototype/SKILL.md +2 -0
- package/pack/.claude/skills/rite-prove/SKILL.md +17 -3
- package/pack/.claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
- package/pack/.claude/skills/rite-quick/SKILL.md +7 -1
- package/pack/.claude/skills/rite-resolve/SKILL.md +2 -0
- package/pack/.claude/skills/rite-review/SKILL.md +5 -1
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +14 -3
- package/pack/.claude/skills/rite-seal/SKILL.md +27 -3
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +1 -0
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +3 -1
- package/pack/.claude/skills/rite-ship/SKILL.md +5 -1
- package/pack/.claude/skills/rite-spec/SKILL.md +10 -3
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/.claude/skills/rite-status/SKILL.md +9 -0
- package/pack/.claude/skills/rite-temper/SKILL.md +5 -1
- package/pack/.claude/skills/rite-upgrade/SKILL.md +9 -1
- package/pack/.claude/skills/rite-vet/SKILL.md +29 -9
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -3
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +20 -3
- package/pack/.claude/skills/rite-vet/reference/depth.md +1 -3
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +6 -3
- package/pack/.claude/skills/rite-watch-pr/SKILL.md +2 -0
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +2 -0
- package/pack/generated/README.md +4 -2
- package/pack/generated/claude/agents/devrites-code-reviewer.md +17 -1
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-evidence-scout.md +1 -1
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-plan-drafter.md +1 -1
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-proof-runner.md +1 -1
- package/pack/generated/claude/agents/devrites-retrospector.md +1 -1
- package/pack/generated/claude/agents/devrites-security-auditor.md +23 -1
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +13 -3
- package/pack/generated/claude/agents/devrites-slice-wright.md +1 -1
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +1 -1
- package/pack/generated/claude/agents/devrites-test-analyst.md +1 -1
- package/pack/generated/claude/agents/devrites-upgrade-planner.md +1 -1
- package/pack/generated/claude/settings.json +39 -2
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +9 -0
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +4 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +5 -0
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +5 -0
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +40 -5
- package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +17 -0
- package/pack/generated/claude/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +24 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +10 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +21 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +67 -7
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +9 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +10 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
- package/pack/generated/claude/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +18 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +12 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +29 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +16 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +8 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +14 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +3 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +58 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
- package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +19 -2
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +12 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +3 -1
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +6 -1
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +7 -1
- package/pack/generated/claude/skills/rite-build/SKILL.md +28 -14
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +6 -0
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +11 -2
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -4
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +34 -8
- package/pack/generated/claude/skills/rite-clarify/SKILL.md +4 -0
- package/pack/generated/claude/skills/rite-converge/SKILL.md +14 -2
- package/pack/generated/claude/skills/rite-customize/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-define/SKILL.md +8 -2
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +6 -1
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-explain/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-frame/SKILL.md +4 -0
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +8 -1
- package/pack/generated/claude/skills/rite-learn/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +6 -0
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +3 -1
- package/pack/generated/claude/skills/rite-polish/SKILL.md +13 -2
- package/pack/generated/claude/skills/rite-polish/reference/code.md +6 -1
- package/pack/generated/claude/skills/rite-polish/reference/ledger.md +3 -1
- package/pack/generated/claude/skills/rite-pov/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-prove/SKILL.md +17 -3
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +6 -0
- package/pack/generated/claude/skills/rite-quick/SKILL.md +7 -1
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-review/SKILL.md +5 -1
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +14 -3
- package/pack/generated/claude/skills/rite-seal/SKILL.md +27 -3
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +1 -0
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +3 -1
- package/pack/generated/claude/skills/rite-ship/SKILL.md +5 -1
- package/pack/generated/claude/skills/rite-spec/SKILL.md +10 -3
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/claude/skills/rite-status/SKILL.md +9 -0
- package/pack/generated/claude/skills/rite-temper/SKILL.md +5 -1
- package/pack/generated/claude/skills/rite-upgrade/SKILL.md +9 -1
- package/pack/generated/claude/skills/rite-vet/SKILL.md +28 -6
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +19 -0
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +5 -0
- package/pack/generated/claude/skills/rite-watch-pr/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +2 -0
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +16 -0
- package/pack/generated/codex/agents/devrites-security-auditor.toml +22 -0
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +12 -2
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +9 -0
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +4 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +5 -0
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +5 -0
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +40 -5
- package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +17 -0
- package/pack/generated/codex/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +24 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +10 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +21 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +67 -7
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +9 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +10 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
- package/pack/generated/codex/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +18 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +12 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +29 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +16 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +8 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +14 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +3 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +58 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
- package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +19 -2
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +12 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +3 -1
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +6 -1
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +7 -1
- package/pack/generated/codex/skills/rite-build/SKILL.md +28 -14
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +6 -0
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +11 -2
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -4
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +34 -8
- package/pack/generated/codex/skills/rite-clarify/SKILL.md +4 -0
- package/pack/generated/codex/skills/rite-converge/SKILL.md +14 -2
- package/pack/generated/codex/skills/rite-customize/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-define/SKILL.md +8 -2
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +6 -1
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-explain/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-frame/SKILL.md +4 -0
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +8 -1
- package/pack/generated/codex/skills/rite-learn/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +6 -0
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +3 -1
- package/pack/generated/codex/skills/rite-polish/SKILL.md +13 -2
- package/pack/generated/codex/skills/rite-polish/reference/code.md +6 -1
- package/pack/generated/codex/skills/rite-polish/reference/ledger.md +3 -1
- package/pack/generated/codex/skills/rite-pov/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-prove/SKILL.md +17 -3
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +6 -0
- package/pack/generated/codex/skills/rite-quick/SKILL.md +7 -1
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-review/SKILL.md +5 -1
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +14 -3
- package/pack/generated/codex/skills/rite-seal/SKILL.md +27 -3
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +1 -0
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +3 -1
- package/pack/generated/codex/skills/rite-ship/SKILL.md +5 -1
- package/pack/generated/codex/skills/rite-spec/SKILL.md +10 -3
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/codex/skills/rite-status/SKILL.md +9 -0
- package/pack/generated/codex/skills/rite-temper/SKILL.md +5 -1
- package/pack/generated/codex/skills/rite-upgrade/SKILL.md +9 -1
- package/pack/generated/codex/skills/rite-vet/SKILL.md +28 -6
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +19 -0
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +5 -0
- package/pack/generated/codex/skills/rite-watch-pr/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +2 -0
- package/pack/generated/devin/AGENTS.md +23 -0
- package/pack/generated/devin/agents/devrites-code-reviewer.md +161 -0
- package/pack/generated/devin/agents/devrites-devex-reviewer.md +126 -0
- package/pack/generated/devin/agents/devrites-doubt-reviewer.md +91 -0
- package/pack/generated/devin/agents/devrites-evidence-scout.md +77 -0
- package/pack/generated/devin/agents/devrites-frontend-reviewer.md +119 -0
- package/pack/generated/devin/agents/devrites-performance-reviewer.md +117 -0
- package/pack/generated/devin/agents/devrites-plan-drafter.md +102 -0
- package/pack/generated/devin/agents/devrites-plan-reviewer.md +144 -0
- package/pack/generated/devin/agents/devrites-proof-runner.md +76 -0
- package/pack/generated/devin/agents/devrites-retrospector.md +64 -0
- package/pack/generated/devin/agents/devrites-security-auditor.md +134 -0
- package/pack/generated/devin/agents/devrites-simplifier-reviewer.md +107 -0
- package/pack/generated/devin/agents/devrites-slice-wright.md +219 -0
- package/pack/generated/devin/agents/devrites-spec-reviewer.md +99 -0
- package/pack/generated/devin/agents/devrites-strategy-reviewer.md +102 -0
- package/pack/generated/devin/agents/devrites-test-analyst.md +97 -0
- package/pack/generated/devin/agents/devrites-upgrade-planner.md +91 -0
- package/pack/generated/devin/skills/devrites-api-interface/SKILL.md +66 -0
- package/pack/generated/devin/skills/devrites-audit/SKILL.md +60 -0
- package/pack/generated/devin/skills/devrites-browser-proof/SKILL.md +79 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/devin/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +99 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/devin/skills/devrites-doubt/SKILL.md +82 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/SKILL.md +89 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/design-references.md +120 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/devin/skills/devrites-frontend-craft/reference/shape.md +61 -0
- package/pack/generated/devin/skills/devrites-interview/SKILL.md +108 -0
- package/pack/generated/devin/skills/devrites-lib/SKILL.md +92 -0
- package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +59 -0
- package/pack/generated/devin/skills/devrites-lib/reference/intent-map.md +64 -0
- package/pack/generated/devin/skills/devrites-lib/reference/orchestration-profiles.md +47 -0
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +105 -0
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/README.md +70 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +417 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +119 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/browser-proof-checklist.md +26 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/ci-cd.md +61 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-navigation.md +110 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/code-review.md +168 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/coding-style.md +53 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +126 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +176 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/data-integrity.md +140 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/deprecation.md +49 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/developer-experience.md +121 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/documentation.md +55 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/elicitation.md +114 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/error-handling.md +49 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/hooks.md +41 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/loop-operations.md +116 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/observability.md +90 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/one-shot-actions.md +99 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/patterns.md +70 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/performance.md +58 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/principles.md +56 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/prose-style.md +126 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security-checklist.md +27 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/security.md +254 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/skill-authoring.md +257 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/spec-grammar.md +211 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/testing.md +229 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/tooling.md +104 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/workflow-artifacts.md +429 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/devin/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +292 -0
- package/pack/generated/devin/skills/devrites-prose-craft/SKILL.md +76 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/examples.md +131 -0
- package/pack/generated/devin/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/devin/skills/devrites-source-driven/SKILL.md +55 -0
- package/pack/generated/devin/skills/devrites-ux-shape/SKILL.md +137 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/devin/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/devin/skills/rite/SKILL.md +150 -0
- package/pack/generated/devin/skills/rite/reference/menu.md +48 -0
- package/pack/generated/devin/skills/rite-adopt/SKILL.md +53 -0
- package/pack/generated/devin/skills/rite-adopt/reference/adoption.md +19 -0
- package/pack/generated/devin/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +147 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/decision-policy.md +43 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +157 -0
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +97 -0
- package/pack/generated/devin/skills/rite-build/SKILL.md +116 -0
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +148 -0
- package/pack/generated/devin/skills/rite-build/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint-protocol.md +120 -0
- package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +62 -0
- package/pack/generated/devin/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/devin/skills/rite-build/reference/one-slice-cycle.md +51 -0
- package/pack/generated/devin/skills/rite-build/reference/output.md +33 -0
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +223 -0
- package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +93 -0
- package/pack/generated/devin/skills/rite-build/reference/spec-drift-guard.md +84 -0
- package/pack/generated/devin/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +122 -0
- package/pack/generated/devin/skills/rite-clarify/SKILL.md +102 -0
- package/pack/generated/devin/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/devin/skills/rite-clarify/reference/decision-coverage.md +55 -0
- package/pack/generated/devin/skills/rite-converge/SKILL.md +156 -0
- package/pack/generated/devin/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/devin/skills/rite-converge/reference/convergence-assessment.md +65 -0
- package/pack/generated/devin/skills/rite-customize/SKILL.md +62 -0
- package/pack/generated/devin/skills/rite-define/SKILL.md +174 -0
- package/pack/generated/devin/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/devin/skills/rite-define/reference/gates.md +159 -0
- package/pack/generated/devin/skills/rite-define/reference/plan-template.md +149 -0
- package/pack/generated/devin/skills/rite-doctor/SKILL.md +73 -0
- package/pack/generated/devin/skills/rite-dogfood/SKILL.md +57 -0
- package/pack/generated/devin/skills/rite-explain/SKILL.md +154 -0
- package/pack/generated/devin/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/devin/skills/rite-frame/SKILL.md +118 -0
- package/pack/generated/devin/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/devin/skills/rite-handoff/SKILL.md +104 -0
- package/pack/generated/devin/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/devin/skills/rite-learn/SKILL.md +74 -0
- package/pack/generated/devin/skills/rite-plan/SKILL.md +191 -0
- package/pack/generated/devin/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +105 -0
- package/pack/generated/devin/skills/rite-plan/reference/slicing.md +168 -0
- package/pack/generated/devin/skills/rite-plan/reference/task-breakdown.md +44 -0
- package/pack/generated/devin/skills/rite-polish/SKILL.md +116 -0
- package/pack/generated/devin/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-ai-slop.md +187 -0
- package/pack/generated/devin/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/devin/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/devin/skills/rite-polish/reference/code.md +87 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/devin/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/devin/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/devin/skills/rite-polish/reference/ledger.md +67 -0
- package/pack/generated/devin/skills/rite-polish/reference/ui.md +137 -0
- package/pack/generated/devin/skills/rite-pov/SKILL.md +59 -0
- package/pack/generated/devin/skills/rite-pr-feedback/SKILL.md +56 -0
- package/pack/generated/devin/skills/rite-pressure-test/SKILL.md +68 -0
- package/pack/generated/devin/skills/rite-prototype/SKILL.md +106 -0
- package/pack/generated/devin/skills/rite-prove/SKILL.md +136 -0
- package/pack/generated/devin/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/devin/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/devin/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/devin/skills/rite-prove/reference/failure-triage.md +43 -0
- package/pack/generated/devin/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/devin/skills/rite-prove/reference/test-command-discovery.md +36 -0
- package/pack/generated/devin/skills/rite-quick/SKILL.md +87 -0
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +100 -0
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +118 -0
- package/pack/generated/devin/skills/rite-review/SKILL.md +175 -0
- package/pack/generated/devin/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/devin/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/devin/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/devin/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-checklist.md +91 -0
- package/pack/generated/devin/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/devin/skills/rite-review/reference/security-review.md +42 -0
- package/pack/generated/devin/skills/rite-seal/SKILL.md +98 -0
- package/pack/generated/devin/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/devin/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/devin/skills/rite-seal/reference/go-no-go.md +30 -0
- package/pack/generated/devin/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +49 -0
- package/pack/generated/devin/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/devin/skills/rite-seal/reference/seal-template.md +27 -0
- package/pack/generated/devin/skills/rite-ship/SKILL.md +91 -0
- package/pack/generated/devin/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/devin/skills/rite-ship/reference/close-out.md +68 -0
- package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +120 -0
- package/pack/generated/devin/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/devin/skills/rite-ship/reference/ship-template.md +39 -0
- package/pack/generated/devin/skills/rite-spec/SKILL.md +156 -0
- package/pack/generated/devin/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/devin/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/devin/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/devin/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/devin/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/devin/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/devin/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/devin/skills/rite-spec/reference/spec-template.md +154 -0
- package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +232 -0
- package/pack/generated/devin/skills/rite-status/SKILL.md +66 -0
- package/pack/generated/devin/skills/rite-temper/SKILL.md +133 -0
- package/pack/generated/devin/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/devin/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/devin/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/devin/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/devin/skills/rite-upgrade/SKILL.md +129 -0
- package/pack/generated/devin/skills/rite-vet/SKILL.md +214 -0
- package/pack/generated/devin/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/devin/skills/rite-vet/reference/artifacts.md +221 -0
- package/pack/generated/devin/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/devin/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/devin/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +206 -0
- package/pack/generated/devin/skills/rite-watch-pr/SKILL.md +86 -0
- package/pack/generated/devin/skills/rite-zoom-out/SKILL.md +71 -0
- package/pack/generated/omp/agents/devrites-code-reviewer.md +16 -0
- package/pack/generated/omp/agents/devrites-security-auditor.md +22 -0
- package/pack/generated/omp/agents/devrites-simplifier-reviewer.md +12 -2
- package/pack/generated/omp/skills/devrites-api-interface/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-audit/SKILL.md +9 -0
- package/pack/generated/omp/skills/devrites-browser-proof/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-doubt/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-frontend-craft/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-frontend-craft/reference/design-references.md +4 -0
- package/pack/generated/omp/skills/devrites-frontend-craft/reference/shape.md +5 -0
- package/pack/generated/omp/skills/devrites-interview/SKILL.md +5 -0
- package/pack/generated/omp/skills/devrites-lib/SKILL.md +40 -5
- package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +17 -0
- package/pack/generated/omp/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
- package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
- package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +24 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/README.md +10 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +21 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
- package/pack/generated/omp/skills/devrites-lib/reference/standards/code-review.md +67 -7
- package/pack/generated/omp/skills/devrites-lib/reference/standards/coding-style.md +9 -4
- package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
- package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +10 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
- package/pack/generated/omp/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/deprecation.md +18 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/documentation.md +12 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/elicitation.md +29 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/error-handling.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/hooks.md +16 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/observability.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/patterns.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/performance.md +8 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/principles.md +14 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/prose-style.md +3 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/security.md +58 -6
- package/pack/generated/omp/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
- package/pack/generated/omp/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/testing.md +19 -2
- package/pack/generated/omp/skills/devrites-lib/reference/standards/tooling.md +12 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
- package/pack/generated/omp/skills/devrites-prose-craft/SKILL.md +3 -1
- package/pack/generated/omp/skills/devrites-source-driven/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-ux-shape/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-adopt/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +6 -1
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +7 -1
- package/pack/generated/omp/skills/rite-build/SKILL.md +28 -14
- package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +6 -0
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +11 -2
- package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -4
- package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +34 -8
- package/pack/generated/omp/skills/rite-clarify/SKILL.md +4 -0
- package/pack/generated/omp/skills/rite-converge/SKILL.md +14 -2
- package/pack/generated/omp/skills/rite-customize/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-define/SKILL.md +8 -2
- package/pack/generated/omp/skills/rite-doctor/SKILL.md +6 -1
- package/pack/generated/omp/skills/rite-dogfood/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-explain/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-frame/SKILL.md +4 -0
- package/pack/generated/omp/skills/rite-handoff/SKILL.md +8 -1
- package/pack/generated/omp/skills/rite-learn/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-plan/SKILL.md +6 -0
- package/pack/generated/omp/skills/rite-plan/reference/task-breakdown.md +3 -1
- package/pack/generated/omp/skills/rite-polish/SKILL.md +13 -2
- package/pack/generated/omp/skills/rite-polish/reference/code.md +6 -1
- package/pack/generated/omp/skills/rite-polish/reference/ledger.md +3 -1
- package/pack/generated/omp/skills/rite-pov/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-pr-feedback/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-prototype/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-prove/SKILL.md +17 -3
- package/pack/generated/omp/skills/rite-prove/reference/test-command-discovery.md +6 -0
- package/pack/generated/omp/skills/rite-quick/SKILL.md +7 -1
- package/pack/generated/omp/skills/rite-resolve/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-review/SKILL.md +5 -1
- package/pack/generated/omp/skills/rite-review/reference/performance-checklist.md +14 -3
- package/pack/generated/omp/skills/rite-seal/SKILL.md +27 -3
- package/pack/generated/omp/skills/rite-seal/reference/go-no-go.md +1 -0
- package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +3 -1
- package/pack/generated/omp/skills/rite-ship/SKILL.md +5 -1
- package/pack/generated/omp/skills/rite-spec/SKILL.md +10 -3
- package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/omp/skills/rite-status/SKILL.md +9 -0
- package/pack/generated/omp/skills/rite-temper/SKILL.md +5 -1
- package/pack/generated/omp/skills/rite-upgrade/SKILL.md +9 -1
- package/pack/generated/omp/skills/rite-vet/SKILL.md +28 -6
- package/pack/generated/omp/skills/rite-vet/reference/artifacts.md +19 -0
- package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +5 -0
- package/pack/generated/omp/skills/rite-watch-pr/SKILL.md +2 -0
- package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +2 -0
- package/pack/generated/pi/agents/devrites-code-reviewer.md +16 -0
- package/pack/generated/pi/agents/devrites-security-auditor.md +22 -0
- package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +12 -2
- package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-audit/SKILL.md +9 -0
- package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-doubt/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +4 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +5 -0
- package/pack/generated/pi/skills/devrites-interview/SKILL.md +5 -0
- package/pack/generated/pi/skills/devrites-lib/SKILL.md +40 -5
- package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +17 -0
- package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +20 -0
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +36 -4
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +24 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +10 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +21 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/audit-coverage.md +103 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +11 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +71 -4
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +67 -7
- package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +9 -4
- package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +20 -3
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +10 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +24 -2
- package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +14 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +6 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +18 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +12 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/duplicate-code.md +118 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +29 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +117 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +16 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +19 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +32 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +8 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +14 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +3 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +4 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/README.md +23 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review/ts-js.md +54 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +58 -6
- package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +18 -4
- package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +5 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +19 -2
- package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +12 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/verification-methods.md +110 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/windows.md +51 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +28 -3
- package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +3 -1
- package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-adopt/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +6 -1
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +7 -1
- package/pack/generated/pi/skills/rite-build/SKILL.md +28 -14
- package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +6 -0
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +11 -2
- package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -4
- package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +34 -8
- package/pack/generated/pi/skills/rite-clarify/SKILL.md +4 -0
- package/pack/generated/pi/skills/rite-converge/SKILL.md +14 -2
- package/pack/generated/pi/skills/rite-customize/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-define/SKILL.md +8 -2
- package/pack/generated/pi/skills/rite-doctor/SKILL.md +6 -1
- package/pack/generated/pi/skills/rite-dogfood/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-explain/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-frame/SKILL.md +4 -0
- package/pack/generated/pi/skills/rite-handoff/SKILL.md +8 -1
- package/pack/generated/pi/skills/rite-learn/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-plan/SKILL.md +6 -0
- package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +3 -1
- package/pack/generated/pi/skills/rite-polish/SKILL.md +13 -2
- package/pack/generated/pi/skills/rite-polish/reference/code.md +6 -1
- package/pack/generated/pi/skills/rite-polish/reference/ledger.md +3 -1
- package/pack/generated/pi/skills/rite-pov/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-prototype/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-prove/SKILL.md +17 -3
- package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +6 -0
- package/pack/generated/pi/skills/rite-quick/SKILL.md +7 -1
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-review/SKILL.md +5 -1
- package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +14 -3
- package/pack/generated/pi/skills/rite-seal/SKILL.md +27 -3
- package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +1 -0
- package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +3 -1
- package/pack/generated/pi/skills/rite-ship/SKILL.md +5 -1
- package/pack/generated/pi/skills/rite-spec/SKILL.md +10 -3
- package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/pi/skills/rite-status/SKILL.md +9 -0
- package/pack/generated/pi/skills/rite-temper/SKILL.md +5 -1
- package/pack/generated/pi/skills/rite-upgrade/SKILL.md +9 -1
- package/pack/generated/pi/skills/rite-vet/SKILL.md +28 -6
- package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +19 -0
- package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +5 -0
- package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +2 -0
- package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +2 -0
- package/package.json +4 -2
- package/scripts/build-host-artifacts.sh +96 -7
- package/scripts/devin-generate.sh +222 -0
- package/update.sh +2 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Developer experience
|
|
2
|
+
|
|
3
|
+
> Applies when: shipping a surface another engineer uses: API, CLI, SDK, config.
|
|
4
|
+
|
|
5
|
+
When a change ships a surface another engineer has to *use* (a public API, a CLI, an SDK
|
|
6
|
+
or library, a webhook, a config/env contract, an error message, or the getting-started path
|
|
7
|
+
that introduces all of them) the developer using it is a user, and their experience is part
|
|
8
|
+
of the change. Code that compiles and passes its tests can still strand the next developer at
|
|
9
|
+
a cryptic error, a getting-started snippet that doesn't run, or an endpoint whose shape you
|
|
10
|
+
have to read the source to learn. Un-tested DX is a claim, the same way un-run code is a claim.
|
|
11
|
+
|
|
12
|
+
This rule is the developer-facing counterpart to [`performance.md`](performance.md): perf says
|
|
13
|
+
*measure the speed before you assert it*; this says *measure the experience before you assert
|
|
14
|
+
it*. It pairs with the [`devrites-api-interface`](../../../devrites-api-interface/SKILL.md)
|
|
15
|
+
skill (which shapes the contract). This rule **proves** the shape is usable.
|
|
16
|
+
|
|
17
|
+
## Scope: when this applies
|
|
18
|
+
|
|
19
|
+
Conditional, like [`performance.md`](performance.md) and [`observability.md`](observability.md).
|
|
20
|
+
It applies when the diff changes a **developer-facing surface**:
|
|
21
|
+
|
|
22
|
+
- a public/external **API** endpoint, response shape, or status-code contract;
|
|
23
|
+
- a **CLI** command, flag, output, or exit code;
|
|
24
|
+
- an **SDK / library / package** export, signature, or type;
|
|
25
|
+
- a **webhook**, event payload, or integration contract;
|
|
26
|
+
- a **config / env-var** interface a consumer must set;
|
|
27
|
+
- an **error message, exit code, or failure response** a developer reads to recover;
|
|
28
|
+
- the **getting-started path**. README, install steps, quickstart, the first-run docs.
|
|
29
|
+
|
|
30
|
+
Skip it for pure-internal refactors, private helpers, app-only UI (that's
|
|
31
|
+
[`devrites-frontend-craft`](../../../devrites-frontend-craft/SKILL.md) /
|
|
32
|
+
`devrites-frontend-reviewer`), docs-only typo fixes, and config that no external consumer
|
|
33
|
+
touches. Don't DX-review a change with no developer-facing surface: the same scope discipline
|
|
34
|
+
as the rest of the conditional rules. End-user UX is a different axis; this rule is about the
|
|
35
|
+
*developer* consuming the surface.
|
|
36
|
+
|
|
37
|
+
## The boomerang: predict at plan, measure at prove, reconcile at seal
|
|
38
|
+
|
|
39
|
+
DevRites already runs a predict-then-prove spine (the vetted `test-plan.md` coverage target at
|
|
40
|
+
`/rite-vet`, proven at `/rite-prove`, gated at `/rite-seal`). DX rides the same spine, and the
|
|
41
|
+
gap between the two ends is the signal:
|
|
42
|
+
|
|
43
|
+
1. **Predict:** at `/rite-vet`, when a developer-facing surface is in scope, score the *planned*
|
|
44
|
+
surface against the dimensions below and write a predicted scorecard to `devex.md` (the
|
|
45
|
+
estimate, e.g. "time-to-hello-world: ~3 min"). This is cheap and pre-build; it forces the
|
|
46
|
+
ergonomics question before the contract sets.
|
|
47
|
+
2. **Measure:** at `/rite-prove`, exercise the surface (run the getting-started flow,
|
|
48
|
+
call the endpoint, invoke the CLI, trigger the error) and record the *measured* scorecard with
|
|
49
|
+
evidence: real TTHW, security-redacted exact error text, and a safely captured docs screenshot.
|
|
50
|
+
3. **Reconcile (the boomerang):** at `/rite-seal`, compare predicted against measured. A material
|
|
51
|
+
gap: "the plan said 3 minutes, the getting-started flow took 8 and step 4 errored":
|
|
52
|
+
is a finding, not a rounding error. The estimate was wrong *or* the surface regressed; either
|
|
53
|
+
way the developer using it pays, and the gap is exactly what a single end-state score would hide.
|
|
54
|
+
|
|
55
|
+
The boomerang is what makes DX a measured axis rather than an opinion: the prediction is on
|
|
56
|
+
record, so the measured reality can falsify it.
|
|
57
|
+
|
|
58
|
+
## The scorecard: what to score
|
|
59
|
+
|
|
60
|
+
One entity, one name: call the metric **time-to-hello-world (TTHW)** consistently, not "onboarding
|
|
61
|
+
time" in one place and "setup time" in another. Score these dimensions; only the ones the diff
|
|
62
|
+
touches:
|
|
63
|
+
|
|
64
|
+
- **Discoverability:** can a developer find the entry point without reading the source? Is the
|
|
65
|
+
new surface named, exported, and documented where they'll look?
|
|
66
|
+
- **Time-to-hello-world (TTHW):** wall-clock from "I have the repo/package" to "I got one
|
|
67
|
+
successful call/response/render". The headline number; measure it, don't estimate it at seal.
|
|
68
|
+
- **Getting-started friction:** does the quickstart run *as written*, copy-pasted, on a clean
|
|
69
|
+
checkout? Every undocumented prerequisite, wrong command, or missing step is friction.
|
|
70
|
+
- **Error-message quality:** does a failure say *what* failed, *why*, and *how to recover*, with
|
|
71
|
+
the relevant ids (never secrets: see [`security.md`](security.md))? A bare stack trace, a
|
|
72
|
+
silent exit, or "an error occurred" is a defect on a developer-facing path.
|
|
73
|
+
- **Ergonomics & consistency:** does the surface match the project's existing conventions
|
|
74
|
+
(naming, argument order, pagination, error shape)? An inconsistent new endpoint taxes everyone
|
|
75
|
+
who learned the old ones. Sensible defaults; the common case is one call.
|
|
76
|
+
- **Docs accuracy:** examples are copy-pasteable and correct, the signature in the docs matches
|
|
77
|
+
the code, and changed behavior updated its docs in the same change ([`documentation.md`](documentation.md)).
|
|
78
|
+
|
|
79
|
+
## Measure, don't assert
|
|
80
|
+
|
|
81
|
+
The same discipline as `performance.md` "measure first" and `testing.md` "see it fail first":
|
|
82
|
+
|
|
83
|
+
- **Run it, don't read it.** A scorecard backed by "the code looks fine" is Source mode and says
|
|
84
|
+
so. The graded scorecard comes from invoking the surface (the getting-started flow on
|
|
85
|
+
a clean state, the real CLI `--help`, the real error path) and recording what happened.
|
|
86
|
+
- **Quote the artifact.** Record exact signal-bearing error text with typed security redactions
|
|
87
|
+
(not paraphrase), secret-free command shape, and measured TTHW. For docs, use the
|
|
88
|
+
[browser-proof ladder](../../../devrites-browser-proof/SKILL.md) and describe the screenshot;
|
|
89
|
+
a path alone is not proof.
|
|
90
|
+
- **No measurement → no DX claim**, and usually no finding above Suggestion. "Feels confusing" is
|
|
91
|
+
a hypothesis to test, not a verdict.
|
|
92
|
+
|
|
93
|
+
## The gate: severity by who-pays
|
|
94
|
+
|
|
95
|
+
DX findings carry the standard labels (Critical / Important / Suggestion / Nit / FYI), scaled to
|
|
96
|
+
the cost the consumer bears, not to how polished it feels:
|
|
97
|
+
|
|
98
|
+
- A **public/external contract that ships broken or wrong** (a documented command that errors, an
|
|
99
|
+
endpoint whose response contradicts its contract, a getting-started flow that can't complete) is
|
|
100
|
+
**Important**, and **Critical** when it's a frozen public surface (the principles-gated public-API
|
|
101
|
+
invariant, [`principles.md`](principles.md)) or an irreversible break.
|
|
102
|
+
- A **measured DX regression** against the predicted scorecard with no recorded reason is a
|
|
103
|
+
finding the boomerang surfaces at seal, at least **Important** when it lands on a public surface.
|
|
104
|
+
- An **unactionable error message** on a developer-facing failure path is **Important**: the
|
|
105
|
+
on-call test ([`observability.md`](observability.md)) applied to the consumer instead of the operator.
|
|
106
|
+
- Inconsistent-but-working ergonomics, a thin doc, a missable default → **Suggestion**, unless the
|
|
107
|
+
spec made it acceptance.
|
|
108
|
+
|
|
109
|
+
## The artifact: `devex.md`
|
|
110
|
+
|
|
111
|
+
When a developer-facing surface is in scope, the workspace carries `devex.md`: the **predicted**
|
|
112
|
+
scorecard (from `/rite-vet`), the **measured** scorecard with evidence (from `/rite-prove`), and
|
|
113
|
+
the **boomerang delta** (reconciled at `/rite-seal`). Absent surface → no `devex.md`, and the gate
|
|
114
|
+
passes silently: never block a change for the *absence* of a DX surface, the same no-op discipline
|
|
115
|
+
as the principles and spec-grammar gates.
|
|
116
|
+
|
|
117
|
+
## Scope discipline
|
|
118
|
+
|
|
119
|
+
Review the developer-facing surface the change *touches*. A surface the diff didn't change is not
|
|
120
|
+
this change's job; a project-wide DX audit (every endpoint, the whole CLI) is its own effort:
|
|
121
|
+
record it as a follow-up, don't smuggle it into an unrelated change.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Development workflow
|
|
2
|
+
|
|
3
|
+
> Applies when: slicing work, committing, keeping trunk green.
|
|
4
|
+
|
|
5
|
+
Ship small, integrate often, and keep the main branch releasable. Workflow phase order comes from the engine manifest, not this standard.
|
|
6
|
+
|
|
7
|
+
## Work in small batches
|
|
8
|
+
- Break work into thin, independently shippable slices and integrate them frequently:
|
|
9
|
+
ideally merging to the main branch at least once a day.
|
|
10
|
+
|
|
11
|
+
## Short-lived branches, trunk always green
|
|
12
|
+
- Prefer short-lived branches off the main branch.
|
|
13
|
+
- The main branch is **always in a releasable state**. Validate every change through a
|
|
14
|
+
**fast, reliable CI pipeline** (tests + build) before it merges.
|
|
15
|
+
- **Trunk broken?** Revert first (default repair); fix forward only when revert is harder. Red trunk blocks all merges.
|
|
16
|
+
- Hide incomplete work behind a **feature flag / toggle** rather than a long branch, so
|
|
17
|
+
partial work can land without blocking releases or breaking the trunk.
|
|
18
|
+
|
|
19
|
+
## Feature-flag lifecycle
|
|
20
|
+
|
|
21
|
+
- Name the **removal trigger** at flag creation; delete the flag once the work ships — a
|
|
22
|
+
flag past its trigger is **flag debt**, a review finding. Prove **both states**
|
|
23
|
+
([`testing.md`](testing.md)); widen rollout only with the rollback path recorded
|
|
24
|
+
([`data-integrity.md`](data-integrity.md)).
|
|
25
|
+
|
|
26
|
+
## Review gate
|
|
27
|
+
- A human reviews every change before merge; `code-review.md` owns review scope and evidence.
|
|
28
|
+
|
|
29
|
+
## Definition of done
|
|
30
|
+
|
|
31
|
+
[`definition-of-done.md`](definition-of-done.md) owns the standing bar. Acceptance criteria prove the slice-specific behavior; the Definition of Done proves the change is shippable.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Documentation
|
|
2
|
+
|
|
3
|
+
> Applies when: writing docs, comments, READMEs; recording decisions.
|
|
4
|
+
|
|
5
|
+
Document intent/decisions; public inputs, outputs, errors, and gotchas; non-obvious
|
|
6
|
+
constraints; and real build/test/run commands. Update with behavior; prefer one runnable
|
|
7
|
+
example. Do not restate code or types.
|
|
8
|
+
|
|
9
|
+
## Drift check (docs describe what runs)
|
|
10
|
+
|
|
11
|
+
A documented command/example that no longer runs is a **documentation-drift finding** at
|
|
12
|
+
review/polish: run it — failure plus output is the evidence. A behavior change updates the
|
|
13
|
+
doc or records the divergence; doc and code never hold contradictory "truths".
|
|
14
|
+
|
|
15
|
+
## Record decisions
|
|
16
|
+
|
|
17
|
+
- Capture significant context, decision, consequences, accepted trade-off, change trigger,
|
|
18
|
+
and why viable alternatives lost. DevRites uses `decisions.md` for feature decisions.
|
|
19
|
+
- ADRs move `PROPOSED → ACCEPTED → SUPERSEDED / DEPRECATED`. Preserve accepted history;
|
|
20
|
+
a replacement ADR cites and supersedes the old one rather than rewriting it.
|
|
21
|
+
|
|
22
|
+
## Promote durable guidance
|
|
23
|
+
|
|
24
|
+
Promotion is maintenance of an existing authority, not a new memory system.
|
|
25
|
+
|
|
26
|
+
1. **Trigger:** the same reviewed correction appears in at least two distinct features, or
|
|
27
|
+
one explicit product/architecture decision has durable rationale. A one-off, generic,
|
|
28
|
+
stale, or merely inferred observation does not trigger promotion.
|
|
29
|
+
2. **Ground:** verify each current claim against live authoritative repository sources.
|
|
30
|
+
Report the source and currentness signal. Unverifiable means `unknown`, not false.
|
|
31
|
+
3. **Scope:** state when the guidance applies and does not apply. Reject a candidate whose
|
|
32
|
+
observable trigger cannot be named. If final code/tests/docs already recover the
|
|
33
|
+
reasoning, reject or consolidate the lesson; promote only the missing durable constraint.
|
|
34
|
+
**Failing case:** a regression test already explains input rejection, yet a second
|
|
35
|
+
generic "validate input" rule is added with no lost reasoning identified.
|
|
36
|
+
4. **Own and expose:** choose one existing canonical owner (`AGENTS.md`/`CLAUDE.md`, a scoped
|
|
37
|
+
standard, or an ADR) and name the phases, agents, or contributors that discover it and
|
|
38
|
+
how (direct read, index link, or existing on-demand route).
|
|
39
|
+
5. **Reconcile:** search current guidance for duplicates, contradictions, and supersession.
|
|
40
|
+
Update, narrow, replace, or retire contradicted guidance at its owner; do not append a
|
|
41
|
+
competing rule. Record the conflict/retirement disposition.
|
|
42
|
+
6. **Approve:** show evidence and the exact durable edit before writing; user approval is
|
|
43
|
+
required. Never create a learning ledger, index, queue, score, or parallel authority.
|
|
44
|
+
|
|
45
|
+
Long reference material stays behind its existing on-demand route.
|
|
46
|
+
|
|
47
|
+
## Living documents
|
|
48
|
+
|
|
49
|
+
Canonical documents are updated, not appended to. When truth changes, rewrite the
|
|
50
|
+
owning section in the present tense; sealed artifacts take dated deltas through the
|
|
51
|
+
owning rite instead ([`core.md`](core.md) #4). Pick a steering verb deliberately —
|
|
52
|
+
`create`, `consolidate`, `split`, `trim`, `retire` — rather than letting the last-opened
|
|
53
|
+
file absorb every new topic. Document what code cannot own (contracts, invariants,
|
|
54
|
+
decisions, rationale); a doc that restates implementation drifts the day it lands.
|
|
55
|
+
Sparse is correct — never pad a document to look complete.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Duplicate code
|
|
2
|
+
|
|
3
|
+
> Applies when: a review or polish pass needs near-duplicate leads that survive
|
|
4
|
+
> renaming, or a dup finding needs a dismissal that persists.
|
|
5
|
+
|
|
6
|
+
`devrites-engine check dup` is the deterministic scanner. It normalizes source
|
|
7
|
+
(strips comments, collapses strings, canonicalizes identifiers and literals),
|
|
8
|
+
matches token shingles between files, clusters overlapping matches, and prints
|
|
9
|
+
advisory clusters — **leads**, not findings. The engine never judges whether a
|
|
10
|
+
cluster is worth merging; that decision is semantic and belongs to the
|
|
11
|
+
reviewer. Successful scans exit 0 even with clusters; usage and operational
|
|
12
|
+
errors, including incomplete scans, exit 2.
|
|
13
|
+
|
|
14
|
+
## Running it
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
devrites-engine check dup [slug] --worktree|--staged|--base <ref>|--all
|
|
18
|
+
[--min-lines n] [--threshold f] [--ignore-file <path>]
|
|
19
|
+
[--limit n] [--exclude <csv>]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- `--staged` / `--worktree` / `--base <ref>`: scan the repo, then print only
|
|
23
|
+
clusters with a unit overlapping the diff's changed hunks, marked `*`. Pick
|
|
24
|
+
the mode matching the diff under review: `--base <ref>` when the feature's
|
|
25
|
+
commits are landed (the common `/rite-review` case), `--staged`/`--worktree`
|
|
26
|
+
for uncommitted diffs. `--staged` reads index blobs for every comparator and
|
|
27
|
+
excludes untracked files, regardless of working-tree edits or deletions.
|
|
28
|
+
Keep the index stable during the scan. Other modes read working-tree bytes.
|
|
29
|
+
- `--all`: whole-repo triage, includes untracked source files. Use in
|
|
30
|
+
`/rite-polish` or `/devrites-audit` passes.
|
|
31
|
+
- `--min-lines` (default 8): minimum meaningful overlap. Lower it for tiny
|
|
32
|
+
helper-heavy languages, raise it to cut boilerplate noise.
|
|
33
|
+
- `--threshold` (default 0.6): minimum similarity score per reported pair.
|
|
34
|
+
- `--exclude`: extra path prefixes to skip (fixtures, generated code).
|
|
35
|
+
- `dup: scanned … units` in the header is the coverage line — a scan of 3
|
|
36
|
+
files in a 300-file repo proves nothing.
|
|
37
|
+
|
|
38
|
+
## Evidence limits
|
|
39
|
+
|
|
40
|
+
This is a bounded heuristic, not exhaustive duplicate detection. The scanner
|
|
41
|
+
limits eligible files (8,192), source bytes (64 MiB total, 1 MiB per file),
|
|
42
|
+
Git listing/diff output (16 MiB), repeated-shingle postings, pair anchors, and
|
|
43
|
+
reported clusters. Normalization loses language semantics; a successful scan
|
|
44
|
+
with no leads does not prove the repository has no duplication.
|
|
45
|
+
|
|
46
|
+
No eligible input and intentional generated exclusions are reported explicitly
|
|
47
|
+
with exit 0, without claiming a successful source scan. Unreadable/non-regular
|
|
48
|
+
source, unresolved index entries, Git failures, and input resource limits exit 2.
|
|
49
|
+
A partial scan may print available leads, but never an `ok` verdict or a success
|
|
50
|
+
metric. Generated exclusions are counted separately from unavailable input.
|
|
51
|
+
Repeated options, conflicting modes, missing/flag-like values, and nonfinite
|
|
52
|
+
thresholds fail before scanning or metrics. Diff helpers and text conversion
|
|
53
|
+
are disabled so configured executables cannot change the inspected evidence.
|
|
54
|
+
|
|
55
|
+
## Output shape
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
dup: scanned 42 files (2 skipped), 17 units; ignore-file .devrites/dup-ignore
|
|
59
|
+
dup: 2 cluster(s) (1 ignored)
|
|
60
|
+
cluster 1 (a1b2c3d4e5f6) score 0.93:
|
|
61
|
+
* engine/a.go:10-58
|
|
62
|
+
engine/b.go:120-168
|
|
63
|
+
cluster 2 (f6e5d4c3b2a1) score 0.81:
|
|
64
|
+
pkg/x/util.py:30-70
|
|
65
|
+
pkg/y/util.py:14-54
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`*` marks a unit that overlaps the diff's changed lines. The hex after
|
|
69
|
+
`cluster N` is the cluster's stable hash.
|
|
70
|
+
|
|
71
|
+
## Triage each cluster
|
|
72
|
+
|
|
73
|
+
For every reported cluster a reviewer returns exactly one verdict:
|
|
74
|
+
|
|
75
|
+
| Verdict | When | Action |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| **merge** | Same logic, same contract, no behavioral reason to differ | Finding: extract a shared helper or call the canonical implementation. Name which unit survives. |
|
|
78
|
+
| **keep** | Convergent code (test scaffolding, protocol mirrors, intentional fork points) | Record the cluster hash in the ignore ledger with a one-line reason. |
|
|
79
|
+
| **watch** | Similar now, likely to diverge — copied seed that is about to change | FYI finding noting the drift risk; do not ignore. |
|
|
80
|
+
|
|
81
|
+
Ranking boosts distant matches across directories or far apart within one file.
|
|
82
|
+
Distance is a triage hint, not proof that two contracts are interchangeable.
|
|
83
|
+
Check whether fixes to one copy should also apply to the other.
|
|
84
|
+
|
|
85
|
+
## Ignore ledger
|
|
86
|
+
|
|
87
|
+
`.devrites/dup-ignore` (project-root default; `--ignore-file` overrides) holds
|
|
88
|
+
one cluster hash per line, `#` comments allowed:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
a1b2c3d4e5f6 # test scaffolding mirrors on purpose — do not merge
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The hash derives from normalized code *content*, not line numbers. It survives
|
|
95
|
+
renames, comment churn, literal tweaks, and line moves, but **changes when the
|
|
96
|
+
code's structure changes** — a dismissed cluster that gets edited resurfaces
|
|
97
|
+
for re-triage. This is intentional: a ledger entry must never permanently
|
|
98
|
+
blind the scan.
|
|
99
|
+
|
|
100
|
+
Rules:
|
|
101
|
+
|
|
102
|
+
- Never add a hash without reading both units — an unread dismissal is a gap.
|
|
103
|
+
- Write the reason on the same line after `#`; a bare hash is an unexplained
|
|
104
|
+
dismissal and counts as a skipped check.
|
|
105
|
+
- Do not commit-ignore clusters introduced by the *current* diff — a `*` unit
|
|
106
|
+
needs a verdict (merge/keep/watch), not suppression.
|
|
107
|
+
|
|
108
|
+
## Reporting dup findings
|
|
109
|
+
|
|
110
|
+
Dup findings use the C2 shape like any other finding, plus the cluster hash so
|
|
111
|
+
the dismissal ledger can reference it:
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
Finding: Suggestion | engine/a.go:10 | cluster a1b2c3d4e5f6 duplicates engine/b.go:120 (score 0.93) | fixes to one will drift from the other | extract shared helper `dupNormalize` into engine/internal/lib
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
A reviewer that ran `check dup` and found nothing reports it under
|
|
118
|
+
`No-findings:` / `Basis:` (`dup: 0 clusters over 42 files`) — not by silence.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Edge-case trace
|
|
2
|
+
|
|
3
|
+
> Applies when: a boundary, branch, or failure mode changes in spec, plan, diff, or proof.
|
|
4
|
+
|
|
5
|
+
Use this when requirements, plans, diffs, or proof change a boundary, branch,
|
|
6
|
+
validation rule, deletion contract, retryable action, or claim that a path is safe.
|
|
7
|
+
The trace finds relevant cases, records why irrelevant ones were dismissed, and prevents
|
|
8
|
+
confidence from turning an untested negative claim into a pass.
|
|
9
|
+
|
|
10
|
+
## Scope before enumeration
|
|
11
|
+
|
|
12
|
+
Name the observable surface, caller/actor, state or data it owns, external boundaries,
|
|
13
|
+
and the must-NOT outcome the author would reject even if the happy path worked. Do not
|
|
14
|
+
expand into a whole-system checklist: a class applies only when the changed surface can
|
|
15
|
+
reach it.
|
|
16
|
+
|
|
17
|
+
## Closed probe classes
|
|
18
|
+
|
|
19
|
+
Probe each relevant class once:
|
|
20
|
+
|
|
21
|
+
| Class | Questions |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| Boundary | Empty/missing, minimum/maximum, off-by-one, oversized, invalid encoding/shape. |
|
|
24
|
+
| State | Initial, repeated, stale, terminal, illegal transition, interruption and resume. |
|
|
25
|
+
| Ordering | Duplicate, out-of-order, retry, partial completion, clock/time-zone boundary. |
|
|
26
|
+
| Concurrency | Competing writer, lost update, cancellation, race, deadlock or resource exhaustion. |
|
|
27
|
+
| Authority | Unauthenticated, unauthorized, wrong tenant, forged identity, privilege increase. |
|
|
28
|
+
| Dependency | Timeout, partial/invalid response, rate limit, outage, version/config mismatch. |
|
|
29
|
+
| Persistence | Transaction split, crash, migration/backfill restart, rollback, retention/deletion. |
|
|
30
|
+
| Compatibility | Old/new reader or writer, caller not updated, feature-flag off/on, environment difference. |
|
|
31
|
+
| Wiring | Code exists but is not registered, called, awaited, persisted, emitted, or consumed with real data. |
|
|
32
|
+
| Removal | Deleted behavior, caller, data, telemetry, docs, or fallback has no surviving owner. |
|
|
33
|
+
|
|
34
|
+
Route detailed applicable cases to
|
|
35
|
+
[`repository-topology.md`](repository-topology.md),
|
|
36
|
+
[`data-integrity.md`](data-integrity.md),
|
|
37
|
+
[`integration-reliability.md`](integration-reliability.md), or
|
|
38
|
+
[`security.md`](security.md); do not repeat those standards here.
|
|
39
|
+
|
|
40
|
+
## Trace procedure
|
|
41
|
+
|
|
42
|
+
1. **Walk explicit paths.** Follow every changed condition, loop exit, error, and
|
|
43
|
+
boundary value to the nearest observable outcome.
|
|
44
|
+
2. **Walk fixed-set siblings.** A special case for one enum/status/role/mode implies
|
|
45
|
+
every untouched sibling is a path to check.
|
|
46
|
+
3. **Follow real wiring.** Verify existence, substance, registration/call path, and
|
|
47
|
+
real data flow. A complete-looking implementation can still be hollow, orphaned,
|
|
48
|
+
or a stub.
|
|
49
|
+
4. **Check negative intent.** Ask what silently permitted outcome would violate a
|
|
50
|
+
requirement, invariant, non-goal, or security boundary. Add a prohibition only
|
|
51
|
+
when bespoke intent is not already owned by a standard.
|
|
52
|
+
5. **Check removal.** Name the contract removed code carried and its surviving owner,
|
|
53
|
+
or cite the accepted decision that retires it.
|
|
54
|
+
|
|
55
|
+
## Disposition and evidence
|
|
56
|
+
|
|
57
|
+
Every applicable case receives one status:
|
|
58
|
+
|
|
59
|
+
- `covered`: mapped to a REQ/AC and positive discriminating test or observed runtime proof;
|
|
60
|
+
- `backstop`: an independent held-out, property/metamorphic, or direct behavioral check
|
|
61
|
+
names the wrong outcome it would detect — and is **exogenous**: not produced or
|
|
62
|
+
executed by the same code path it validates (a check the changed code also controls is
|
|
63
|
+
`covered` evidence, not a backstop);
|
|
64
|
+
- `dismissed`: unreachable or irrelevant with a concrete reason and supporting evidence;
|
|
65
|
+
- `unresolved`: a material case lacks a fact or proof surface and blocks the owning gate.
|
|
66
|
+
|
|
67
|
+
Judgment may dismiss a demonstrably irrelevant case; it cannot prove behavior. When a
|
|
68
|
+
case is not inferable from available evidence, say `unresolved`/`cannot_verify` rather
|
|
69
|
+
than estimating confidence upward.
|
|
70
|
+
|
|
71
|
+
## Backstop honesty (fail-closed)
|
|
72
|
+
|
|
73
|
+
A row marked `covered` or `backstop` **must** name an evidence class: test path,
|
|
74
|
+
command output, observed runtime, or an independent held-out/property check. A row
|
|
75
|
+
with disposition but **no** evidence class is **`cannot_verify`** at Prove/Seal — not
|
|
76
|
+
a pass.
|
|
77
|
+
|
|
78
|
+
**Failing case:** the happy-path suite is green, the trace lists "error path handled"
|
|
79
|
+
with no test or runtime proof → Prove blocks until the row gains a discriminating
|
|
80
|
+
surface or moves to `unresolved`.
|
|
81
|
+
|
|
82
|
+
## Outputs
|
|
83
|
+
|
|
84
|
+
Spec records relevant cases in **Edge Coverage** and bespoke negative intent in
|
|
85
|
+
**Prohibitions**. Plan/Vet maps applicable cases to a slice, recovery, and proof. Review
|
|
86
|
+
reports only reachable gaps:
|
|
87
|
+
|
|
88
|
+
```md
|
|
89
|
+
Finding: <severity> | path:line | <trigger> reaches <unhandled outcome> | <observable harm> |
|
|
90
|
+
<minimal handling>; missing proof: <test/signal>.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Use the caller's severity scale. Do not create a separate edge score, pad rows with
|
|
94
|
+
irrelevant classes, or report a case already handled and proven.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Elicitation: a move-set for the thinking phases
|
|
2
|
+
|
|
3
|
+
> Applies when: a thinking phase needs more than the default review shape for a section.
|
|
4
|
+
|
|
5
|
+
The thinking phases (`/rite-temper` on the spec, `/rite-vet` on the plan) default to one shape each.
|
|
6
|
+
A pre-mortem, a plan review. That's a floor, not a ceiling. When a section needs deeper thought,
|
|
7
|
+
this is the menu you reach into: named reasoning techniques, each with the shape it produces, so
|
|
8
|
+
"make this stronger" becomes a concrete move instead of a vibe.
|
|
9
|
+
|
|
10
|
+
## How to use it (progressive: no ceremony by default)
|
|
11
|
+
1. Look at the **one section** in front of you (a requirement, a risk, an estimate, a boundary).
|
|
12
|
+
2. Read its **risk**, then pull the 3-5 techniques below whose *When to reach for it* matches.
|
|
13
|
+
3. Present them as a short numbered menu; the human picks one (or `skip`).
|
|
14
|
+
4. Run that technique on that section, apply the result, move on.
|
|
15
|
+
5. **No-yield exit:** when the technique surfaces nothing that changes the section — no
|
|
16
|
+
new requirement, mitigation, estimate change, or blocking question — record
|
|
17
|
+
`elicitation: <technique> — no yield` in the phase artifact and stop offering menus
|
|
18
|
+
for that section. **Failing case:** repeated technique menus on a settled section are
|
|
19
|
+
ceremony, not diligence; a second menu without new section input is a process defect.
|
|
20
|
+
|
|
21
|
+
Selection is by the section's risk, not taste. Reach for the row that fits:
|
|
22
|
+
|
|
23
|
+
| The section is… | Reach for |
|
|
24
|
+
|---|---|
|
|
25
|
+
| an irreversible / boundary / auth / data-model decision | Red-Team vs Blue-Team · Assumption Audit · Pre-Mortem |
|
|
26
|
+
| a vague or contested requirement | Steelman-then-Attack · Devil's Advocate · Five Whys |
|
|
27
|
+
| an estimate, sizing, or a "how long / how risky" | Delphi · Reference-Class Forecast |
|
|
28
|
+
| a design with more than one plausible shape | Tournament (A vs B) · Inversion · Analogy Mapping |
|
|
29
|
+
| a plan or patch that may be solving the wrong problem | Backward Chain |
|
|
30
|
+
| a spec that feels *too* big or *too* small | Scope Extremes (MVP vs Gold-plate) · YAGNI Pass |
|
|
31
|
+
| a risk surface you suspect is under-explored | Chaos Scenarios · Edge-Case Hunt · Second-Order Effects |
|
|
32
|
+
|
|
33
|
+
## The techniques
|
|
34
|
+
|
|
35
|
+
Each entry is **name (when to reach for it) the shape it produces** (`→` reads "then").
|
|
36
|
+
|
|
37
|
+
### Sharpening a claim
|
|
38
|
+
- **Steelman-then-Attack:** a requirement or approach you're inclined to accept. Build the
|
|
39
|
+
*strongest* case for it → then attack that strongest form. Survives → keep; falls → revise.
|
|
40
|
+
- **Devil's Advocate:** consensus formed too fast. One voice argues the opposite in good faith →
|
|
41
|
+
surface the objection the room skipped.
|
|
42
|
+
- **Assumption Audit:** a plan resting on unstated beliefs. List every assumption the section
|
|
43
|
+
makes → mark each *load-bearing / verified / unverified* → the unverified load-bearing ones are
|
|
44
|
+
the work.
|
|
45
|
+
- **Five Whys:** a stated requirement whose *reason* is fuzzy. Ask "why" five times down from the
|
|
46
|
+
ask → reach the root need (often narrower or different than the surface ask).
|
|
47
|
+
|
|
48
|
+
### Stress-testing a decision
|
|
49
|
+
- **Pre-Mortem:** before committing an irreversible choice. Assume it's six months later and this
|
|
50
|
+
failed → write the failure story → each cause becomes a mitigation or a blocking question. (This
|
|
51
|
+
is `/rite-temper`'s default; the others deepen it.)
|
|
52
|
+
- **Red-Team vs Blue-Team:** a security, trust-boundary, or adversarial-input surface.
|
|
53
|
+
`defense → attack → hardening`: state the defense, attack it as a hostile party, harden the gap.
|
|
54
|
+
- **Inversion:** "how do we make X good?" stalls. Ask instead "how would we *guarantee X fails*?"
|
|
55
|
+
→ invert each failure into a requirement.
|
|
56
|
+
- **Second-Order Effects:** a change that touches shared surface. For each first-order effect ask
|
|
57
|
+
"and then what?" twice → surface the downstream consequence the diff hides.
|
|
58
|
+
- **Backward Chain:** a plan or patch that may be solving the wrong problem. Write the desired end
|
|
59
|
+
state as one checkable sentence → ask "what must be true immediately before it?" → recurse to the
|
|
60
|
+
current state → any planned step that does not land on the chain is wrong-direction work; name the
|
|
61
|
+
tempting one explicitly.
|
|
62
|
+
|
|
63
|
+
### Sizing and estimating
|
|
64
|
+
- **Delphi:** an estimate one person is anchoring. Gather independent estimates *without* seeing
|
|
65
|
+
each other → reveal → discuss the spread → re-estimate → converge. Kills anchoring.
|
|
66
|
+
- **Reference-Class Forecast:** "this'll be quick." Find 3 past changes of the same *class* → use
|
|
67
|
+
their actual cost as the base rate, not the inside view.
|
|
68
|
+
|
|
69
|
+
### Widening the option space
|
|
70
|
+
- **Tournament (A vs B):** two plausible designs. Put them head-to-head on the *decision hinge*
|
|
71
|
+
(the one axis that differs) → pick on that axis, not on a feature checklist.
|
|
72
|
+
- **Analogy Mapping:** a novel problem. "What is this *like* that's already solved?" → borrow the
|
|
73
|
+
solved structure, note where the analogy breaks.
|
|
74
|
+
- **Scope Extremes:** a spec of uncertain size. Describe the *MVP* (smallest thing that ships
|
|
75
|
+
value) and the *gold-plated* version → the right scope is usually named by the gap between them.
|
|
76
|
+
- **YAGNI Pass:** a plan carrying "might need it later." For each speculative piece, demand a
|
|
77
|
+
*current* acceptance criterion → no criterion, cut it to a follow-up.
|
|
78
|
+
|
|
79
|
+
### Finding what's missing
|
|
80
|
+
- **Edge-Case Hunt:** a happy-path-shaped spec. Walk empty / boundary / invalid / concurrent /
|
|
81
|
+
huge-or-weird input for each element → each uncovered case is a missing criterion.
|
|
82
|
+
- **Chaos Scenarios:** a system with external dependencies. "What if the DB is down / the API
|
|
83
|
+
times out / the clock jumps / the input is hostile?" → each becomes a failure-mode requirement.
|
|
84
|
+
- **Completeness Critic:** end of a section. Ask only "what's *missing*: a modality not covered, a
|
|
85
|
+
claim not verified, a flow with no path?" → the answer is the next round of work.
|
|
86
|
+
|
|
87
|
+
## The one rule
|
|
88
|
+
Run the technique on the **section in front of you**, not the whole document: a move applied to
|
|
89
|
+
everything is a move applied to nothing. Record what it changed in the phase artifact (a new
|
|
90
|
+
requirement, a mitigation, a blocking question), not just that you ran it.
|
|
91
|
+
|
|
92
|
+
## Asking mechanics
|
|
93
|
+
|
|
94
|
+
- **Batch 2–4 independent questions;** ask serially when one answer determines the next
|
|
95
|
+
question or the question is an approval gate.
|
|
96
|
+
- **Never ask for the discoverable** — repo, docs, prior artifacts, and conversation
|
|
97
|
+
first; a question whose answer sits in a file is a stall dressed as diligence.
|
|
98
|
+
- **One decision per question** with enough context to answer without reopening files;
|
|
99
|
+
recommend a path and name its trade-off — never raw unevaluated options.
|
|
100
|
+
- **At an approval gate, state the defaults you chose** so a wrong assumption gets
|
|
101
|
+
corrected before it ships.
|
|
102
|
+
- **Never continue past a question by inventing the answer** — headless sessions report
|
|
103
|
+
the unresolved decision instead of assuming it.
|
|
104
|
+
- **A skipped, declined, or timed-out answer is `unanswered`, not approval.** A
|
|
105
|
+
proposal, silence, or timeout never becomes a decision. Continue only work the
|
|
106
|
+
open decision cannot affect; when the unanswered question blocks scope,
|
|
107
|
+
spending, publication, or anything irreversible, stop and name the specific
|
|
108
|
+
unresolved choice — do not reissue the same question as if nonresponse were an
|
|
109
|
+
error.
|
|
110
|
+
- **No question tool → numbered text fallback.** Two to four concrete options,
|
|
111
|
+
each with its trade-off, one marked as the recommendation, and a free-text
|
|
112
|
+
escape. A recommendation is labeled, never pre-selected.
|
|
113
|
+
|
|
114
|
+
A project can append its own house techniques to this file: same entry shape — **name (when to reach for it)** → the shape it produces.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Error handling
|
|
2
|
+
|
|
3
|
+
> Applies when: code can fail; error paths, messages, retries, partial state.
|
|
4
|
+
|
|
5
|
+
Errors are part of the contract, not an afterthought. Make failure loud, local, and
|
|
6
|
+
recoverable.
|
|
7
|
+
|
|
8
|
+
## Fail fast
|
|
9
|
+
- Validate preconditions at the top; stop the moment state is invalid, close to the root
|
|
10
|
+
cause. Don't let bad data propagate and surface as a confusing failure three layers
|
|
11
|
+
later.
|
|
12
|
+
|
|
13
|
+
## No silent catches
|
|
14
|
+
- Never swallow an error to make a problem "go away", that hides bugs and corrupts
|
|
15
|
+
state silently.
|
|
16
|
+
- Catch the **narrowest** error you can handle, not a blanket catch-all. A
|
|
17
|
+
bare/broad catch masks unrelated failures.
|
|
18
|
+
- If you catch, either recover meaningfully, or rethrow/wrap with added context. Don't
|
|
19
|
+
log-and-continue past an error you didn't handle.
|
|
20
|
+
|
|
21
|
+
## Classify the outcome before retrying
|
|
22
|
+
|
|
23
|
+
Never retry blind — match the outcome first:
|
|
24
|
+
|
|
25
|
+
- **Rejected** (refused: validation/authz/conflict): fix input; unchanged retry fails again.
|
|
26
|
+
- **Unknown** (timed out mid-call): check state at the source before any retry.
|
|
27
|
+
- **Partial** (half-committed): [`data-integrity.md`](data-integrity.md) (see `Writes, retries, and concurrency`) — reconcile or roll back, never resume blind.
|
|
28
|
+
- **Clean failure** (not started / fully rolled back): safe to retry after fixing the cause.
|
|
29
|
+
|
|
30
|
+
**Failing case:** an **Unknown** outcome retried unchanged double-applies (duplicate charge). Idempotency: [`data-integrity.md`](data-integrity.md); outcome taxonomies: [`integration-reliability.md`](integration-reliability.md). Not provable → `cannot_verify` and stop.
|
|
31
|
+
|
|
32
|
+
## Meaningful messages
|
|
33
|
+
- Error messages state what failed, the relevant context (ids, inputs, not secrets),
|
|
34
|
+
and ideally how to recover. Cryptic messages cost hours.
|
|
35
|
+
- Distinguish *expected* failures (validation, not-found) from *unexpected* (bugs);
|
|
36
|
+
handle the first as flow, surface the second.
|
|
37
|
+
- Structured error surfaces carry one consistent envelope — **severity, stable code,
|
|
38
|
+
human message, fix** — so callers and logs can act programmatically; a bare string that
|
|
39
|
+
forces callers to parse prose is a contract gap.
|
|
40
|
+
|
|
41
|
+
## Fail closed (security-relevant paths)
|
|
42
|
+
- On error in an auth/permission/transaction path, **deny and roll back**: never
|
|
43
|
+
default to granting access or committing partial state.
|
|
44
|
+
|
|
45
|
+
## Logging
|
|
46
|
+
- Log key events (failures, access violations, validation errors) with enough context to
|
|
47
|
+
debug. Prefer structured logs (key/value or JSON).
|
|
48
|
+
- **Never log secrets, credentials, tokens, or personal data.** Show users a clear,
|
|
49
|
+
non-revealing message; keep the detail in the logs for the team.
|