devrites 7.1.2 → 7.2.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 +6 -0
- package/README.md +9 -4
- package/docs/dsh.md +46 -0
- package/engine/internal/devritespaths/paths.go +2 -0
- package/engine/internal/hostpack/hostpack.go +29 -5
- package/engine/internal/install/apply.go +14 -2
- package/engine/internal/install/install.go +7 -3
- package/engine/internal/install/merge.go +1 -0
- package/engine/internal/install/preflight.go +9 -2
- package/engine/internal/install/update.go +1 -1
- package/engine/internal/lib/dispatch_packet.go +1 -1
- package/pack/generated/README.md +3 -1
- package/pack/generated/dsh/AGENTS.md +20 -0
- package/pack/generated/dsh/agents/devrites-code-reviewer.md +180 -0
- package/pack/generated/dsh/agents/devrites-devex-reviewer.md +137 -0
- package/pack/generated/dsh/agents/devrites-doubt-reviewer.md +100 -0
- package/pack/generated/dsh/agents/devrites-evidence-scout.md +93 -0
- package/pack/generated/dsh/agents/devrites-frontend-reviewer.md +139 -0
- package/pack/generated/dsh/agents/devrites-performance-reviewer.md +142 -0
- package/pack/generated/dsh/agents/devrites-plan-drafter.md +113 -0
- package/pack/generated/dsh/agents/devrites-plan-reviewer.md +167 -0
- package/pack/generated/dsh/agents/devrites-proof-runner.md +101 -0
- package/pack/generated/dsh/agents/devrites-retrospector.md +82 -0
- package/pack/generated/dsh/agents/devrites-security-auditor.md +146 -0
- package/pack/generated/dsh/agents/devrites-simplifier-reviewer.md +113 -0
- package/pack/generated/dsh/agents/devrites-slice-wright.md +240 -0
- package/pack/generated/dsh/agents/devrites-spec-reviewer.md +105 -0
- package/pack/generated/dsh/agents/devrites-strategy-reviewer.md +109 -0
- package/pack/generated/dsh/agents/devrites-test-analyst.md +110 -0
- package/pack/generated/dsh/agents/devrites-upgrade-planner.md +107 -0
- package/pack/generated/dsh/agents/fast-builder.md +92 -0
- package/pack/generated/dsh/agents/fast-checker.md +61 -0
- package/pack/generated/dsh/agents/fast-critic.md +71 -0
- package/pack/generated/dsh/agents/fast-planner.md +95 -0
- package/pack/generated/dsh/agents/overhaul-backend-engineer.md +70 -0
- package/pack/generated/dsh/agents/overhaul-boundary.md +64 -0
- package/pack/generated/dsh/agents/overhaul-craft.md +85 -0
- package/pack/generated/dsh/agents/overhaul-frontend-engineer.md +73 -0
- package/pack/generated/dsh/agents/overhaul-implementer.md +72 -0
- package/pack/generated/dsh/agents/overhaul-recon.md +77 -0
- package/pack/generated/dsh/agents/overhaul-specialist.md +67 -0
- package/pack/generated/dsh/agents/overhaul-verifier.md +73 -0
- package/pack/generated/dsh/runtime/cordis.patch.yml +1450 -0
- package/pack/generated/dsh/runtime/specialist.mjs +62 -0
- package/pack/generated/dsh/skills/devrites-api-interface/SKILL.md +65 -0
- package/pack/generated/dsh/skills/devrites-audit/SKILL.md +60 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/SKILL.md +109 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/reference/browser-performance.md +19 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/reference/visual-verdict.md +38 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/SKILL.md +119 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +41 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/hypotheses.md +23 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/regression-test.md +33 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/dsh/skills/devrites-doubt/SKILL.md +83 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/SKILL.md +89 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/design-references.md +120 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/quality-standards.md +286 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/shape.md +61 -0
- package/pack/generated/dsh/skills/devrites-interview/SKILL.md +107 -0
- package/pack/generated/dsh/skills/devrites-lib/SKILL.md +98 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +59 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/intent-map.md +86 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/orchestration-profiles.md +48 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +184 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/reply-contract.md +123 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/README.md +70 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +467 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +231 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/audit-coverage.md +107 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/browser-proof-checklist.md +37 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-index.md +111 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-navigation.md +69 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-review.md +178 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/coding-style.md +53 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +136 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/core.md +202 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/data-integrity.md +144 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/deprecation.md +49 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/developer-experience.md +128 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/documentation.md +55 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/duplicate-code.md +129 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/elicitation.md +114 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/error-handling.md +49 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +159 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/hooks.md +41 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/loop-operations.md +123 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/observability.md +90 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/one-shot-actions.md +105 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/patterns.md +70 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/performance.md +88 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/principles.md +56 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/prose-style.md +127 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/README.md +28 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/react.md +55 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ts-js.md +74 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/security-checklist.md +30 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/security.md +283 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/skill-authoring.md +269 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/spec-grammar.md +214 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/testing.md +295 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/tooling.md +125 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/verification-methods.md +143 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/windows.md +60 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/workflow-artifacts.md +435 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +312 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/SKILL.md +81 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/examples.md +136 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/dsh/skills/devrites-source-driven/SKILL.md +54 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/SKILL.md +135 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/reference/visual-direction-probe.md +50 -0
- package/pack/generated/dsh/skills/overhaul/SKILL.md +221 -0
- package/pack/generated/dsh/skills/overhaul/references/audit-domains.md +390 -0
- package/pack/generated/dsh/skills/overhaul/references/lifecycle.md +314 -0
- package/pack/generated/dsh/skills/overhaul/references/orchestration.md +291 -0
- package/pack/generated/dsh/skills/overhaul/references/records.md +203 -0
- package/pack/generated/dsh/skills/overhaul/references/repair-and-measurement.md +310 -0
- package/pack/generated/dsh/skills/overhaul/references/review-and-report.md +139 -0
- package/pack/generated/dsh/skills/overhaul/references/scope-and-safety.md +233 -0
- package/pack/generated/dsh/skills/overhaul/references/scoring.md +261 -0
- package/pack/generated/dsh/skills/overhaul/references/stack-profiles.md +316 -0
- package/pack/generated/dsh/skills/rite/SKILL.md +157 -0
- package/pack/generated/dsh/skills/rite/reference/menu.md +49 -0
- package/pack/generated/dsh/skills/rite-adopt/SKILL.md +64 -0
- package/pack/generated/dsh/skills/rite-adopt/reference/adoption.md +25 -0
- package/pack/generated/dsh/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +167 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/decision-policy.md +44 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +50 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +164 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/stop-conditions.md +118 -0
- package/pack/generated/dsh/skills/rite-build/SKILL.md +126 -0
- package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +153 -0
- package/pack/generated/dsh/skills/rite-build/reference/anti-patterns.md +27 -0
- package/pack/generated/dsh/skills/rite-build/reference/checkpoint-protocol.md +115 -0
- package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +79 -0
- package/pack/generated/dsh/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/dsh/skills/rite-build/reference/one-slice-cycle.md +57 -0
- package/pack/generated/dsh/skills/rite-build/reference/output.md +29 -0
- package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +260 -0
- package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +130 -0
- package/pack/generated/dsh/skills/rite-build/reference/spec-drift-guard.md +91 -0
- package/pack/generated/dsh/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +198 -0
- package/pack/generated/dsh/skills/rite-clarify/SKILL.md +104 -0
- package/pack/generated/dsh/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/dsh/skills/rite-clarify/reference/decision-coverage.md +56 -0
- package/pack/generated/dsh/skills/rite-converge/SKILL.md +167 -0
- package/pack/generated/dsh/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/dsh/skills/rite-converge/reference/convergence-assessment.md +70 -0
- package/pack/generated/dsh/skills/rite-customize/SKILL.md +64 -0
- package/pack/generated/dsh/skills/rite-define/SKILL.md +203 -0
- package/pack/generated/dsh/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/dsh/skills/rite-define/reference/gates.md +160 -0
- package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +153 -0
- package/pack/generated/dsh/skills/rite-doctor/SKILL.md +107 -0
- package/pack/generated/dsh/skills/rite-dogfood/SKILL.md +57 -0
- package/pack/generated/dsh/skills/rite-explain/SKILL.md +154 -0
- package/pack/generated/dsh/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/dsh/skills/rite-fast/SKILL.md +185 -0
- package/pack/generated/dsh/skills/rite-fast/reference/artifacts.md +107 -0
- package/pack/generated/dsh/skills/rite-fast/reference/check-and-triage.md +51 -0
- package/pack/generated/dsh/skills/rite-frame/SKILL.md +119 -0
- package/pack/generated/dsh/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/dsh/skills/rite-handoff/SKILL.md +117 -0
- package/pack/generated/dsh/skills/rite-handoff/reference/handoff-template.md +56 -0
- package/pack/generated/dsh/skills/rite-harness/SKILL.md +76 -0
- package/pack/generated/dsh/skills/rite-harness/reference/feature-map.md +60 -0
- package/pack/generated/dsh/skills/rite-learn/SKILL.md +107 -0
- package/pack/generated/dsh/skills/rite-plan/SKILL.md +215 -0
- package/pack/generated/dsh/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/dsh/skills/rite-plan/reference/replan-and-repair.md +114 -0
- package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +187 -0
- package/pack/generated/dsh/skills/rite-plan/reference/task-breakdown.md +50 -0
- package/pack/generated/dsh/skills/rite-polish/SKILL.md +128 -0
- package/pack/generated/dsh/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/dsh/skills/rite-polish/reference/anti-ai-slop.md +210 -0
- package/pack/generated/dsh/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/dsh/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/dsh/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/dsh/skills/rite-polish/reference/code.md +87 -0
- package/pack/generated/dsh/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/dsh/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/dsh/skills/rite-polish/reference/harden-checklist.md +110 -0
- package/pack/generated/dsh/skills/rite-polish/reference/ledger.md +67 -0
- package/pack/generated/dsh/skills/rite-polish/reference/ui.md +146 -0
- package/pack/generated/dsh/skills/rite-pov/SKILL.md +71 -0
- package/pack/generated/dsh/skills/rite-pr-feedback/SKILL.md +61 -0
- package/pack/generated/dsh/skills/rite-pressure-test/SKILL.md +76 -0
- package/pack/generated/dsh/skills/rite-prototype/SKILL.md +106 -0
- package/pack/generated/dsh/skills/rite-prove/SKILL.md +151 -0
- package/pack/generated/dsh/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/dsh/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/dsh/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/dsh/skills/rite-prove/reference/failure-triage.md +53 -0
- package/pack/generated/dsh/skills/rite-prove/reference/proof-ladder.md +39 -0
- package/pack/generated/dsh/skills/rite-prove/reference/test-command-discovery.md +36 -0
- package/pack/generated/dsh/skills/rite-quick/SKILL.md +97 -0
- package/pack/generated/dsh/skills/rite-resolve/SKILL.md +113 -0
- package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +129 -0
- package/pack/generated/dsh/skills/rite-review/SKILL.md +190 -0
- package/pack/generated/dsh/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/dsh/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/dsh/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/dsh/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/dsh/skills/rite-review/reference/performance-checklist.md +99 -0
- package/pack/generated/dsh/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/dsh/skills/rite-review/reference/security-review.md +44 -0
- package/pack/generated/dsh/skills/rite-seal/SKILL.md +99 -0
- package/pack/generated/dsh/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/dsh/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/dsh/skills/rite-seal/reference/go-no-go.md +32 -0
- package/pack/generated/dsh/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +56 -0
- package/pack/generated/dsh/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/dsh/skills/rite-seal/reference/seal-template.md +32 -0
- package/pack/generated/dsh/skills/rite-ship/SKILL.md +101 -0
- package/pack/generated/dsh/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/dsh/skills/rite-ship/reference/close-out.md +69 -0
- package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +128 -0
- package/pack/generated/dsh/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/dsh/skills/rite-ship/reference/ship-template.md +40 -0
- package/pack/generated/dsh/skills/rite-spec/SKILL.md +169 -0
- package/pack/generated/dsh/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/dsh/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/dsh/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/dsh/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/dsh/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/dsh/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/dsh/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/dsh/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/dsh/skills/rite-spec/reference/spec-template.md +160 -0
- package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +240 -0
- package/pack/generated/dsh/skills/rite-status/SKILL.md +74 -0
- package/pack/generated/dsh/skills/rite-temper/SKILL.md +137 -0
- package/pack/generated/dsh/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/dsh/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/dsh/skills/rite-temper/reference/scope-modes.md +52 -0
- package/pack/generated/dsh/skills/rite-temper/reference/significance.md +55 -0
- package/pack/generated/dsh/skills/rite-temper/reference/strategy-template.md +101 -0
- package/pack/generated/dsh/skills/rite-upgrade/SKILL.md +142 -0
- package/pack/generated/dsh/skills/rite-vet/SKILL.md +242 -0
- package/pack/generated/dsh/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/dsh/skills/rite-vet/reference/artifacts.md +248 -0
- package/pack/generated/dsh/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/dsh/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/dsh/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +210 -0
- package/pack/generated/dsh/skills/rite-watch-pr/SKILL.md +87 -0
- package/pack/generated/dsh/skills/rite-zoom-out/SKILL.md +76 -0
- package/package.json +3 -1
- package/scripts/build-host-artifacts.sh +6 -2
- package/scripts/dsh-generate.py +135 -0
- package/scripts/dsh-specialist.mjs +62 -0
- package/scripts/install-lib.sh +3 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-prove
|
|
3
|
+
description: Prove a completed feature with tests and the full test suite, build/typecheck/lint, end-to-end/browser evidence, screenshots, commands, and outputs for seal. Not for single-slice proof.
|
|
4
|
+
argument-hint: "[feature-slug]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","devrites-lib/reference/standards/testing.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/test-proof-checklist.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/gates.md","devrites-lib/reference/standards/verification-methods.md","rite-prove/reference/acceptance-proof.md","rite-prove/reference/proof-ladder.md","rite-prove/reference/failure-triage.md","rite-prove/reference/test-command-discovery.md","rite-prove/reference/anti-patterns.md","rite-build/reference/checkpoint.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"browser":["devrites-lib/reference/standards/browser-proof-checklist.md","rite-prove/reference/browser-proof.md"],"devex":["devrites-lib/reference/standards/developer-experience.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"observability":["devrites-lib/reference/standards/observability.md"],"one-shot":["devrites-lib/reference/standards/one-shot-actions.md"],"performance":["devrites-lib/reference/standards/performance.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","evidence.md","touched-files.md","browser-evidence.md"],"workspaceByRole":{"proof-runner":["spec.md","test-plan.md","tasks.md","gates.md","evidence.md","touched-files.md","browser-evidence.md","state.md"],"spec-reviewer":["brief.md","spec.md","decision-coverage.md","questions.md","decisions.md","assumptions.md","state.md"]},"rootOnly":["rite-build/reference/checkpoint.md","devrites-lib/reference/standards/workflow-artifacts.md"]} -->
|
|
9
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase prove` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# /rite-prove: prove the completed feature
|
|
13
|
+
|
|
14
|
+
Prove the assembled feature once. No workspace: use `/verify` or `/run`;
|
|
15
|
+
pending tasks: stop for `/rite-build`.
|
|
16
|
+
Never assert unobserved passes. After Polish/Review edits, repeat affected
|
|
17
|
+
criteria/dependencies and bind under
|
|
18
|
+
[evidence validity](../devrites-lib/reference/candidate-integrity.md#evidence-validity).
|
|
19
|
+
Initial full feature proof and required mutable observations still run.
|
|
20
|
+
|
|
21
|
+
## Rules
|
|
22
|
+
|
|
23
|
+
Read the applicable standards: [`testing.md`](../devrites-lib/reference/standards/testing.md), [`test-proof-checklist.md`](../devrites-lib/reference/standards/test-proof-checklist.md),
|
|
24
|
+
[`browser-proof-checklist.md`](../devrites-lib/reference/standards/browser-proof-checklist.md) for UI, [`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md), [`performance.md`](../devrites-lib/reference/standards/performance.md),
|
|
25
|
+
[`observability.md`](../devrites-lib/reference/standards/observability.md), topology/data/integration rules named by the plan,
|
|
26
|
+
[`developer-experience.md`](../devrites-lib/reference/standards/developer-experience.md), [`definition-of-done.md`](../devrites-lib/reference/standards/definition-of-done.md), [`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md), and
|
|
27
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md). Developer surfaces require an observed flow, measured
|
|
28
|
+
TTHW, and exact signal-bearing errors; never assert DX (trigger `devex`).
|
|
29
|
+
|
|
30
|
+
- Each claim needs an executed positive, discriminating assertion and decisive
|
|
31
|
+
signal; green commands alone are unproven. Methods must be genuinely distinct
|
|
32
|
+
and coverage counted against an explicit denominator — apply
|
|
33
|
+
[`verification-methods.md`](../devrites-lib/reference/standards/verification-methods.md).
|
|
34
|
+
- Follow [`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md). Prove owns proof binding, not candidate
|
|
35
|
+
grammar/hashing. Spec Drift Guard owns revealed contract drift.
|
|
36
|
+
- Root runs vetted gates/browser and records immutable evidence; proof runner
|
|
37
|
+
validates it. Only the bounded wright fixes product source/tests.
|
|
38
|
+
- **Prove remains the controlling caller** during technical backtracking. Save
|
|
39
|
+
its cursor; run Plan repair, Recovery Vet, remediation, and re-proof inline;
|
|
40
|
+
consume nested boundaries; resume the failed rung. A strategy is spent after
|
|
41
|
+
three no-progress attempts on the exact same fingerprint; escalate it per the
|
|
42
|
+
[retry contract](../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve)
|
|
43
|
+
instead of stopping. Closing one or exposing a distinct
|
|
44
|
+
Critical/Important invariant is progress, not a reason to hand work off.
|
|
45
|
+
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Prove consumes installed Workflow Artifact or CLEANED rerun","action":"VERIFY_EXISTING or admitted proof path ending PROVE_AND_RETURN","return":"saved Prove cursor; stop before real action"} -->
|
|
46
|
+
## Released-workspace refresh
|
|
47
|
+
|
|
48
|
+
Only an admitted `/rite-upgrade` assessment proving a released-format candidate
|
|
49
|
+
defect enters. Require legacy touched-file scope, live diff, tasks, and traceability agree unambiguously
|
|
50
|
+
on every candidate path/state. Missing or
|
|
51
|
+
ambiguous scope stops; never guess from Git. Preserve unrelated manifest content
|
|
52
|
+
and refresh only the strict manifest from observed bytes.
|
|
53
|
+
|
|
54
|
+
Discard old passes. Run all current approved real proof from scratch. Establish
|
|
55
|
+
pre-proof and post-proof engine digest with `devrites-engine check candidate
|
|
56
|
+
<slug>` and require equality, then write one fresh exact binding in evidence and
|
|
57
|
+
browser evidence. Current failure blocks; Upgrade does not authorize source or
|
|
58
|
+
test changes.
|
|
59
|
+
|
|
60
|
+
## Workflow
|
|
61
|
+
|
|
62
|
+
1. **Orient.** Read core, resolve active slug, require `state.md`, and read its
|
|
63
|
+
cursor. On blocked Prove cold resume, reconcile retained consumptive evidence
|
|
64
|
+
and no-progress corrections before accepting terminal none; a distinct
|
|
65
|
+
fingerprint below cap resumes offline triage without another real action.
|
|
66
|
+
2. **Freeze scope.** Read spec, tasks, state, test plan, and full diff. Require
|
|
67
|
+
every slice built except a [deferred slice](../rite-plan/reference/slicing.md#deferred-slice). Missing `test-plan.md` returns to Vet inline (Prove stays the controlling
|
|
68
|
+
caller) and resumes here; it never authorizes ad hoc proof.
|
|
69
|
+
3. **Approve commands.** If absent, use
|
|
70
|
+
[test-command-discovery](reference/test-command-discovery.md) over repository
|
|
71
|
+
manifests/CI. Discovery is evidence only: `test-plan.md` is the sole approved runtime
|
|
72
|
+
command list. A newly found command must return to the current Vet contract,
|
|
73
|
+
refresh readiness, then resume without user handoff.
|
|
74
|
+
4. **Execute a frozen candidate.** Run `devrites-engine check candidate <slug>` and retain its digest.
|
|
75
|
+
The root runs only commands declared by `test-plan.md`, with exact approved
|
|
76
|
+
command, cwd, prerequisites, exit, and sanitized
|
|
77
|
+
decisive output, plus the test selector, runner counts
|
|
78
|
+
(collected/ran/passed/failed/skipped), and attempt number with first-attempt
|
|
79
|
+
outcome; output and exit come from one execution. Run relevant suite plus build/typecheck/lint,
|
|
80
|
+
concurrently when they share no build directory, port, or lock. Recheck the
|
|
81
|
+
candidate and require identical digest/no source mutation. Reject substituted
|
|
82
|
+
commands, malformed manifests, zero-test/skipped/filtered behavioral claims,
|
|
83
|
+
exit-status-only claims, status-masking forms, and source drift. A retry-only
|
|
84
|
+
pass is `flaky` per [`testing.md`](../devrites-lib/reference/standards/testing.md#determinism-no-flaky-tests),
|
|
85
|
+
never green. Static gates prove only their named
|
|
86
|
+
static criterion.
|
|
87
|
+
Run the acceptance ledger with `--transcripts`: `devrites-engine gates run <slug>
|
|
88
|
+
--transcripts` executes every unmet runnable gate against the same approved
|
|
89
|
+
preflight rows, records definition-bound evidence, and writes one redacted,
|
|
90
|
+
candidate-bound transcript per gate under `references/gates/<gate-id>/`;
|
|
91
|
+
`gates reverify <slug> --transcripts` re-executes all of them when any prior
|
|
92
|
+
pass is in doubt. Hand the proof runner those transcripts, never hand-built
|
|
93
|
+
logs. Attest manual gates with `gates attest
|
|
94
|
+
<slug> <id> <note>` only against observed judgment whose note cites the
|
|
95
|
+
human's own words or source; placeholder notes are unmet and an AFK run never
|
|
96
|
+
self-attests. Only gates manual at Vet are attested; runnable-to-manual
|
|
97
|
+
conversion, EXPECT loosening, or CHECK/CWD/row change here is Plan repair plus
|
|
98
|
+
re-Vet ([`gates.md`](../devrites-lib/reference/standards/gates.md)). An impossible outcome
|
|
99
|
+
is `gates abandon` plus a handoff, never a deleted row or a false pass.
|
|
100
|
+
`gates status <slug>` must reduce to `all-met` before Prove records green.
|
|
101
|
+
5. **Gate consumptive actions.** Immediately before execution, apply
|
|
102
|
+
[`one-shot-actions.md`](../devrites-lib/reference/standards/one-shot-actions.md): current retained identity, bounds/sanitization,
|
|
103
|
+
injective boundary map, per-seam fault fixtures, collision mutant, terminal
|
|
104
|
+
fixtures, and cleanup-survival proof must be green. Missing/stale/disposable-
|
|
105
|
+
only evidence returns to Vet without spending an attempt. Record the admitted artifact identity before execution.
|
|
106
|
+
After failure, retained evidence is the
|
|
107
|
+
reproduction; never rerun for diagnosis. Spent authorization blocks another
|
|
108
|
+
action, but when action budget is zero it does not exhaust a newly identified
|
|
109
|
+
offline fingerprint.
|
|
110
|
+
6. **Prove UI when applicable.** Use design brief/references, browser harness,
|
|
111
|
+
allowed scratch path, [proof ladder](reference/proof-ladder.md), and
|
|
112
|
+
[browser proof](reference/browser-proof.md): routes, viewports, opened and
|
|
113
|
+
described screenshots, console/network, interaction, target comparisons, and
|
|
114
|
+
every required state. Material mismatch fails.
|
|
115
|
+
7. **Independent validation.** Fresh read-only `devrites-proof-runner` and
|
|
116
|
+
`devrites-spec-reviewer`, in one parallel wave, judge the same candidate/commands/evidence/acceptance map.
|
|
117
|
+
Neither runs commands; reject missing/stale, invented-ID, label-only or self-attested reports.
|
|
118
|
+
8. **Map proof.** Reconcile verdicts under [acceptance-proof.md](reference/acceptance-proof.md).
|
|
119
|
+
Every criterion/scenario/interaction/key link needs discriminating evidence or a
|
|
120
|
+
blocker, including critical-path, observability, developer and wiring branches.
|
|
121
|
+
9. **Recover red.** Use [failure triage](reference/failure-triage.md) and Debug
|
|
122
|
+
Recovery. Reconcile reproduction; send accepted in-scope source/test correction
|
|
123
|
+
to the sole wright; update actual manifest; rerun affected proof, both candidate
|
|
124
|
+
checks, and fresh proof runner. Recheck affected acceptance with the exact spec
|
|
125
|
+
reviewer; reconcile both validators under evidence validity. Scope growth blocks.
|
|
126
|
+
|
|
127
|
+
Agent-owned durable-plan errors run Spec Drift Guard, Plan, and Vet inline,
|
|
128
|
+
preserving Prove as origin. Consumptive failures use retained fixtures, repair,
|
|
129
|
+
and Vet, then stop for fresh GO after changed conditions. Ambiguous retained
|
|
130
|
+
evidence does not prove that no safe future acquisition design exists: treat
|
|
131
|
+
an in-scope discriminator as diagnostic-amplification Plan gap, repair its
|
|
132
|
+
finite map/collision proof, narrow-Vet, then seek fresh GO before one evidence
|
|
133
|
+
attempt. Never guess the runtime fix or reuse old GO.
|
|
134
|
+
10. **Record.** Root updates `evidence.md`, optional `browser-evidence.md`,
|
|
135
|
+
traceability, and state, with exactly one observed candidate binding.
|
|
136
|
+
After independent validators are green, checkpoint remaining candidate
|
|
137
|
+
diffs per [`checkpoint.md`](../rite-build/reference/checkpoint.md). A wright
|
|
138
|
+
correction during Recover red does not commit on control until this step.
|
|
139
|
+
|
|
140
|
+
> Do not claim an unobserved pass, skip browser proof, or proceed with pending
|
|
141
|
+
> slices. Load `reference/anti-patterns.md` when tempted to do so.
|
|
142
|
+
|
|
143
|
+
## Phase exit
|
|
144
|
+
|
|
145
|
+
**Complete when:** every criterion in `acceptance-proof.md` has discriminating
|
|
146
|
+
evidence bound to the current candidate digest, `gates status` reduces to
|
|
147
|
+
`all-met` with no handoffs, both independent validators admit
|
|
148
|
+
accounts, and `state.md` records Prove complete with no open `cannot_verify` rows.
|
|
149
|
+
|
|
150
|
+
**Failing case:** narrative "all tests passed" without `evidence.md` binding and
|
|
151
|
+
proof-runner admission → phase not complete; Seal blocks.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Acceptance proof
|
|
2
|
+
|
|
3
|
+
Map each `spec.md` criterion to `test | command | browser | judgment` evidence
|
|
4
|
+
and one-line reason. Run [`spec-grammar.md`](../../devrites-lib/reference/standards/spec-grammar.md)'s Native grammar re-read on the saved
|
|
5
|
+
spec before mapping; reopen after corrections. No parser/script may replace it.
|
|
6
|
+
|
|
7
|
+
Every structured WHEN/THEN scenario needs a passing asserting test. When
|
|
8
|
+
`test-plan.md` exists, every acceptance/gap requirement, interactive element, and
|
|
9
|
+
user flow needs a passing result. Missing coverage blocks.
|
|
10
|
+
|
|
11
|
+
Apply [[`testing.md`](../../devrites-lib/reference/standards/testing.md)'s positive, discriminating proof](../../devrites-lib/reference/standards/testing.md#positive-discriminating-proof),
|
|
12
|
+
including invalid-result exclusions and static/textual criterion boundaries.
|
|
13
|
+
Unsupported behavioral claims are `cannot_verify` and block proof.
|
|
14
|
+
|
|
15
|
+
## Silent-failure probe
|
|
16
|
+
|
|
17
|
+
When tests pass but error paths, dropped results, or partial success could hide
|
|
18
|
+
failure, require at least one **discriminating** check that would fail if the silent
|
|
19
|
+
path regressed (assert the failure surface, not only the happy path).
|
|
20
|
+
|
|
21
|
+
**Failing case:** handler returns success while logging or swallowing internally; the
|
|
22
|
+
suite stays green → map `cannot_verify` unless a test asserts the user-visible or
|
|
23
|
+
contract failure outcome.
|
|
24
|
+
|
|
25
|
+
## Backstop disposition
|
|
26
|
+
|
|
27
|
+
A `backstop` passes only on its spec-named independent held-out,
|
|
28
|
+
property/metamorphic, or direct behavioral check plus discriminating observed
|
|
29
|
+
output. Presence, test names without results, author judgment, or an expectation
|
|
30
|
+
copied from the same implementation logic fails.
|
|
31
|
+
|
|
32
|
+
Undefined/unavailable signal: `cannot_verify`, evidence
|
|
33
|
+
`insufficient_spec: <missing fact or evidence surface>`, then Spec Drift; never
|
|
34
|
+
judgment or pass.
|
|
35
|
+
|
|
36
|
+
## Applicable system-risk proof
|
|
37
|
+
|
|
38
|
+
Reconcile `spec.md`'s applicability map with the final diff. For each triggered owner:
|
|
39
|
+
|
|
40
|
+
- [`repository-topology.md`](../../devrites-lib/reference/standards/repository-topology.md): prove commands ran at every affected root and both provider
|
|
41
|
+
and consumer used the same canonical contract; identify generated/vendor sources.
|
|
42
|
+
- [`data-integrity.md`](../../devrites-lib/reference/standards/data-integrity.md): prove declared invariants plus relevant duplicate/retry,
|
|
43
|
+
concurrency, interruption/resume, old/new coexistence, tenant isolation, and
|
|
44
|
+
rollback/forward-recovery cases with recorded scale/counts.
|
|
45
|
+
- [`integration-reliability.md`](../../devrites-lib/reference/standards/integration-reliability.md): prove relevant invalid/partial response, auth failure,
|
|
46
|
+
timeout/unknown outcome, rate limit/outage, duplicate/order, poison/backlog, cache/partition,
|
|
47
|
+
degradation, and recovery behavior.
|
|
48
|
+
|
|
49
|
+
An evidence-backed dismissal is valid for an irrelevant case. An applicable case with no
|
|
50
|
+
executable proof surface is `cannot_verify`; do not infer it from an implementation review
|
|
51
|
+
or a mock that cannot produce the risk.
|
|
52
|
+
|
|
53
|
+
## Critical-path assertion strength
|
|
54
|
+
|
|
55
|
+
For regression-Critical, irreversible, and data-loss paths, require
|
|
56
|
+
[[`testing.md`](../../devrites-lib/reference/standards/testing.md)'s safe perturbation](../../devrites-lib/reference/standards/testing.md#safe-perturbation).
|
|
57
|
+
Missing evidence is `cannot_verify`; a green test on broken code is unproven.
|
|
58
|
+
Pure transforms also get a round-trip or
|
|
59
|
+
metamorphic property check when applicable.
|
|
60
|
+
|
|
61
|
+
## Runtime observability branch
|
|
62
|
+
|
|
63
|
+
For endpoints, jobs, consumers, integrations, user flows, or new error paths,
|
|
64
|
+
trigger failure and observe the required log/metric/trace per [`observability.md`](../../devrites-lib/reference/standards/observability.md);
|
|
65
|
+
record it. Skip pure internal, docs, config, and type-only changes.
|
|
66
|
+
|
|
67
|
+
## Developer-facing branch
|
|
68
|
+
|
|
69
|
+
For public API/CLI/SDK/webhook/config/error/onboarding, execute the real entry on
|
|
70
|
+
clean state, measure time-to-hello-world, and capture verbatim failure output.
|
|
71
|
+
Browser-capture docs/quickstarts when applicable. Write the scorecard to
|
|
72
|
+
`devex.md` and headline evidence to `evidence.md`.
|
|
73
|
+
|
|
74
|
+
## Wiring branch
|
|
75
|
+
|
|
76
|
+
Exercise/follow every key `plan.md` link in the assembled feature; record each as
|
|
77
|
+
`EVID-###`, or record none declared. An unwired link blocks.
|
|
78
|
+
|
|
79
|
+
For every critical link, apply safe perturbation to the load-bearing input/link and observe the
|
|
80
|
+
promised surface fail. Existence/registration/spy-call evidence is insufficient when a
|
|
81
|
+
different path can coincidentally produce the expected result.
|
|
82
|
+
|
|
83
|
+
## Baseline and environment claims
|
|
84
|
+
|
|
85
|
+
Classify a failure as pre-existing or environment-specific only with a dated
|
|
86
|
+
before-candidate result for the same command, working directory, prerequisites, and
|
|
87
|
+
material environment. Otherwise record it as an unresolved candidate result. For time/local
|
|
88
|
+
behavior, bind the instant, time zone, locale, and relevant old/new configuration.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# rite-prove: anti-patterns
|
|
2
|
+
|
|
3
|
+
Load this when standing a non-trivial proof decision, or when tempted to
|
|
4
|
+
report a pass you didn't observe, skip a rung of the browser-proof ladder,
|
|
5
|
+
or proceed without all slices built.
|
|
6
|
+
|
|
7
|
+
Pack-wide rationalizations + red flags (incl. observed-but-not-recorded):
|
|
8
|
+
see [standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
9
|
+
|
|
10
|
+
## Phase-specific rationalizations
|
|
11
|
+
|
|
12
|
+
| Excuse | Rebuttal |
|
|
13
|
+
|---|---|
|
|
14
|
+
| "Tests passed during build; that's enough." | Build = per-slice sanity check. Prove = whole-feature suite + build/typecheck/lint + browser. |
|
|
15
|
+
| "Browser proof is overkill for this UI change." | If it's UI and a browser can run, the ladder applies. If you can't, document which rung and why. |
|
|
16
|
+
| "Failure is in pre-existing code, not in this feature." | Still surfaces as a blocker, never green. `pre-existing` needs recorded same-command baseline evidence ([failure triage](failure-triage.md)); without it the result is unresolved. Feature scope = fix in scope or record + halt. |
|
|
17
|
+
| "Some slices are still pending but the rest can be proved." | No: `/rite-prove` runs once, when every slice is built. Otherwise you're proving a partial system. |
|
|
18
|
+
|
|
19
|
+
## Red Flags
|
|
20
|
+
|
|
21
|
+
- Reporting "pass" for a command you didn't run.
|
|
22
|
+
- Skipping browser-proof rungs 1-5 because rung 6 (project E2E) was easier.
|
|
23
|
+
- An acceptance criterion left "unproven" without a corresponding blocker note.
|
|
24
|
+
- Tests recorded green but the diff shows the test file wasn't touched (stale run).
|
|
25
|
+
- About to write `evidence.md` without command + output.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Browser proof: evidence schema
|
|
2
|
+
|
|
3
|
+
What `browser-evidence.md` must capture for a UI slice. Delegates to
|
|
4
|
+
`devrites-browser-proof`; this is the record contract.
|
|
5
|
+
|
|
6
|
+
```markdown
|
|
7
|
+
# Browser Evidence
|
|
8
|
+
|
|
9
|
+
## Browser evidence
|
|
10
|
+
| Evidence ID | Route | State/input | Viewport | Compared with | Tooling | Result | Related IDs | Limitation |
|
|
11
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
12
|
+
| EVID-003 | <route> | empty/keyboard | 375 | brief Proof targets + target reference 1 | playwright-mcp | <observed result> | AC-002, SLICE-002 | <none / exact gap> |
|
|
13
|
+
|
|
14
|
+
## Visual Verdict
|
|
15
|
+
| Criterion (source, class) | Expected | Observed (screenshot) | Verdict | Severity |
|
|
16
|
+
|---|---|---|---|---|
|
|
17
|
+
| <state / delta / anti-slop criterion> (<brief / reference / anti-slop / acceptance>, <ENG / A11Y / DS / AES>) | <expected> | <what is visible> | PASS / PARTIAL / FAIL / n/a | <Critical / Important / Suggestion> |
|
|
18
|
+
|
|
19
|
+
## Comparison deltas
|
|
20
|
+
| State / viewport | Target | Material delta observed | Disposition | Result |
|
|
21
|
+
| --- | --- | --- | --- | --- |
|
|
22
|
+
| empty / 375 | design-brief.md + R1 | <hierarchy/layout/spacing/type/behavior difference> | fixed + re-rendered / accepted with reason | PASS / FAIL |
|
|
23
|
+
|
|
24
|
+
## Run notes
|
|
25
|
+
- Screenshots: <path(s)> — opened and described above.
|
|
26
|
+
- Console: <errors/warnings, or "clean">.
|
|
27
|
+
- Network: <failures, or "no failures">.
|
|
28
|
+
- Interaction path: <clicks/inputs performed and result>.
|
|
29
|
+
- Accessibility: <focus order / labels / contrast spot-check>.
|
|
30
|
+
- Responsive: <what changed across viewports; any breakage>.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
- The `## Visual Verdict` table follows [visual-verdict.md](../../devrites-browser-proof/reference/visual-verdict.md),
|
|
35
|
+
which owns its rows, verdict values and severity mapping.
|
|
36
|
+
- Open every screenshot path and describe it: never assert from the filename.
|
|
37
|
+
- Read `design-brief.md` + `references.md` first. Compare fidelity only with references
|
|
38
|
+
classified **target**; check constraints as rules and never pixel-match inspiration.
|
|
39
|
+
- Render every proof target named by the brief/slice using the canonical viewport
|
|
40
|
+
set and state coverage in [quality-standards.md](../../devrites-frontend-craft/reference/quality-standards.md).
|
|
41
|
+
Apply [capture admissibility](../../devrites-lib/reference/standards/browser-proof-checklist.md)
|
|
42
|
+
before assigning a visual verdict; invalid captures leave proof `cannot_verify`.
|
|
43
|
+
- Compare structure before decoration: hierarchy/layout → responsive/state behavior →
|
|
44
|
+
type/spacing/color → polish. Record each material delta, fix it, and re-render. A visual
|
|
45
|
+
PASS requires zero unresolved material deltas; an accepted departure needs its reason in
|
|
46
|
+
the design brief's build-time refinements.
|
|
47
|
+
- A clean console + no layout shift are part of the evidence, not extras.
|
|
48
|
+
- If no browser can run, write the manual verification steps a human would follow and
|
|
49
|
+
mark the slice's browser proof as **pending (manual)**.
|
|
50
|
+
- Every browser evidence row uses `EVID-###` and names the related `AC-###` and
|
|
51
|
+
`SLICE-###`; `/rite-prove` mirrors the evidence ID in `traceability.md`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Failure triage
|
|
2
|
+
|
|
3
|
+
When a test/build/runtime/browser check fails, triage before fixing. Delegates the deep
|
|
4
|
+
loop to `devrites-debug-recovery`.
|
|
5
|
+
|
|
6
|
+
## Triage ladder
|
|
7
|
+
1. **Reproduce:** for a repeatable command, run it again and capture the exact
|
|
8
|
+
error (quote it). For a consumptive action under
|
|
9
|
+
[`one-shot-actions.md`](../../devrites-lib/reference/standards/one-shot-actions.md),
|
|
10
|
+
never rerun it: use the retained bounded artifact as the reproduction input.
|
|
11
|
+
2. **Classify** the failure:
|
|
12
|
+
- test is right, code is wrong → fix the code (in scope).
|
|
13
|
+
- test is wrong/outdated → that may be **spec drift** (acceptance criteria wrong).
|
|
14
|
+
- environment/setup (missing dep, wrong node/ruby) → fix it when agent-owned;
|
|
15
|
+
record a blocker only for human/access ownership, scope overflow, or exhausted
|
|
16
|
+
fingerprint recovery.
|
|
17
|
+
- pre-existing (fails without this candidate) → only with baseline evidence: the
|
|
18
|
+
same command/cwd/environment run on the baseline candidate (an earlier
|
|
19
|
+
`EVID-###`, or a base-ref run in a separate worktree), recorded. It is a named
|
|
20
|
+
blocker citing that baseline, never green; without the baseline it is unresolved.
|
|
21
|
+
- flaky (at least one fail and one pass on the unchanged candidate digest;
|
|
22
|
+
timing/order) → record every attempt and apply
|
|
23
|
+
[the Determinism standard](../../devrites-lib/reference/standards/testing.md#determinism-no-flaky-tests):
|
|
24
|
+
the green attempt proves nothing; fix it or record a blocker. Don't paper over with retries.
|
|
25
|
+
- external dependency down → record blocker; don't fake the result.
|
|
26
|
+
3. **Isolate:** minimize to the smallest failing case; bisect the diff if needed.
|
|
27
|
+
If consumptive evidence maps to multiple causal seams, this is a
|
|
28
|
+
diagnostic-amplification plan gap: design and Vet an injective boundary
|
|
29
|
+
discriminator offline instead of guessing a runtime correction or declaring
|
|
30
|
+
the cleaned-away past state terminal.
|
|
31
|
+
4. **Fix within scope:** the current slice/feature only. If the fix reaches outside
|
|
32
|
+
scope, stop and record a blocker in `state.md` (then `/rite-plan unblock`).
|
|
33
|
+
5. **Re-run** the same command when it is repeatable, after an admitted
|
|
34
|
+
correction; confirm green and record both attempts in `evidence.md`. A green
|
|
35
|
+
rerun with no correction on an unchanged digest is `flaky` (step 2), never a
|
|
36
|
+
close. A consumptive action needs re-vetted evidence
|
|
37
|
+
completeness and any fresh authorization before a new attempt. Its spent
|
|
38
|
+
action authorization does not stop offline recovery: a retained new fingerprint
|
|
39
|
+
enters caller-owned diagnosis, correction, fixtures, and narrow Vet immediately.
|
|
40
|
+
A separately authorized diagnostic-amplification attempt may acquire the missing
|
|
41
|
+
discriminator after its evidence design passes Vet; it is not a blind rerun.
|
|
42
|
+
|
|
43
|
+
## Rules
|
|
44
|
+
- Quote the real error text; don't paraphrase it away.
|
|
45
|
+
- Don't loosen/delete a failing assertion to get green: investigate whether it's drift.
|
|
46
|
+
- Don't add blanket retries/sleeps to hide flakiness.
|
|
47
|
+
- Three no-progress attempts on the exact same causal fingerprint consume the
|
|
48
|
+
shared recovery cap. A recheck that closes the reproduction is progress; a
|
|
49
|
+
different evidenced Critical/Important invariant gets its own fingerprint.
|
|
50
|
+
Preserve the reproduction and dead ends, then escalate or park per the
|
|
51
|
+
[retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
52
|
+
Ask only when the remaining decision is human-owned.
|
|
53
|
+
- A failure you can't fix in scope is a recorded **blocker**, not a silent skip.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Proof ladder
|
|
2
|
+
|
|
3
|
+
Prefer real runtime evidence. For UI/browser work, try tools top-down and record which
|
|
4
|
+
rung you used. Detect, don't install: browser tooling setup is the user's call.
|
|
5
|
+
|
|
6
|
+
1. **ego-lite** (preferred when installed and running)
|
|
7
|
+
- Detect: `command -v ego-browser`, then `ego-browser skill` exits 0; follow its guide.
|
|
8
|
+
Capabilities: task spaces, snapshot refs, screenshots, clicks/typing, `page.evaluate`,
|
|
9
|
+
`page.cdp()` for console, network, and viewports. Shares the user's real profile;
|
|
10
|
+
macOS/Windows only; never install or upgrade.
|
|
11
|
+
2. **browser-harness** (when installed)
|
|
12
|
+
- Detect: `command -v browser-harness`; `--doctor` only to diagnose. Capabilities:
|
|
13
|
+
navigation, screenshots, coordinate clicks, console, DOM reads, network, raw CDP.
|
|
14
|
+
Attaches to the user's Chrome; don't launch a second browser.
|
|
15
|
+
3. **Playwright MCP** (when configured)
|
|
16
|
+
- Detect: the Playwright MCP `browser_*` tools are available (e.g. `browser_navigate`).
|
|
17
|
+
Capabilities: navigation, accessibility-tree snapshots, screenshots, ref-based
|
|
18
|
+
clicks/typing, console messages, network requests, `browser_evaluate`. Drives a
|
|
19
|
+
Playwright-managed browser; detect, don't install.
|
|
20
|
+
4. **Chrome DevTools MCP** (when configured). Pair it with the driving rung for Lighthouse, the
|
|
21
|
+
perf trace, deeper DOM inspection, screenshots, console, network, performance, and the
|
|
22
|
+
accessibility tree.
|
|
23
|
+
5. **Claude Code `/run` and `/verify`** (if available): launch and observe the app;
|
|
24
|
+
prefer a project-specific `verify-*` skill if one exists; with none, suggest `/rite-harness`.
|
|
25
|
+
6. **Project-native E2E** (only if already present). Playwright, Cypress, Capybara,
|
|
26
|
+
Selenium. Use the project's existing commands; don't add a new framework.
|
|
27
|
+
7. **Manual fallback:** no tooling available: record the limitation and write exact
|
|
28
|
+
manual steps (route, action, expected result).
|
|
29
|
+
|
|
30
|
+
Real-profile guards for rungs 1-2 live in `devrites-browser-proof` § Boundaries.
|
|
31
|
+
|
|
32
|
+
## Non-UI scope
|
|
33
|
+
The "ladder" for backend/CLI/data scope is just: targeted tests → build/typecheck/lint
|
|
34
|
+
→ runtime observation (a real request/response or CLI run). Same evidence rules apply.
|
|
35
|
+
|
|
36
|
+
## Stop conditions
|
|
37
|
+
- Auth wall reached → stop, ask the user; never type credentials from a screenshot.
|
|
38
|
+
- Destructive action required to prove → confirm with the user first.
|
|
39
|
+
- A screenshot tool returns a path → **open and describe it**; a path is not proof.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Test / build command discovery
|
|
2
|
+
|
|
3
|
+
Use project commands. Never invent a test runner or build step.
|
|
4
|
+
Repository files are discovery evidence, not authorization. `test-plan.md` is
|
|
5
|
+
the sole approved runtime command list.
|
|
6
|
+
|
|
7
|
+
Run `devrites-engine detect commands` first: it deterministically resolves
|
|
8
|
+
unit/integration/lint/vet/build slots and the package manager from the
|
|
9
|
+
Makefile, `package.json`, and language manifests without executing anything.
|
|
10
|
+
The table below covers what it does not (CI configs, README, framework
|
|
11
|
+
conventions) and adjudicates its `unresolved` slots.
|
|
12
|
+
|
|
13
|
+
| Discovery source | Look for |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `package.json` `scripts` | `test`, `build`, `typecheck`, `lint`, `dev`, `e2e` |
|
|
16
|
+
| `Makefile` / `Justfile` / `Taskfile` | `test`, `build`, `check`, `lint` targets |
|
|
17
|
+
| `Gemfile` / `Rakefile` | `rake test`, `rspec`, `bin/rails test` |
|
|
18
|
+
| `pyproject.toml` / `tox.ini` / `noxfile.py` | `pytest`, `tox`, `nox` |
|
|
19
|
+
| `go.mod` | `go test ./...`, `go build ./...`, `go vet` |
|
|
20
|
+
| `Cargo.toml` | `cargo test`, `cargo build`, `cargo clippy` |
|
|
21
|
+
| CI configs (`.github/workflows`, `.gitlab-ci.yml`, `circleci`) | commands CI runs |
|
|
22
|
+
| README / CONTRIBUTING | documented dev/test workflow |
|
|
23
|
+
| framework conventions | Rails/Django/Next/etc. defaults when nothing else is set |
|
|
24
|
+
|
|
25
|
+
## Vet before execution
|
|
26
|
+
|
|
27
|
+
Compare every discovered candidate, including a narrower target, with
|
|
28
|
+
`test-plan.md`. If it is absent, do not run it or add it silently. Return to the
|
|
29
|
+
current Vet contract to add and vet the command, refresh readiness, then return
|
|
30
|
+
to Prove. A command may run only when its exact command, cwd, and prerequisites
|
|
31
|
+
are approved in `test-plan.md`.
|
|
32
|
+
|
|
33
|
+
## If nothing exists
|
|
34
|
+
No tests in the project: say so. Propose the minimal test setup as a
|
|
35
|
+
**follow-up** (ask before adding a framework); any runtime observation command
|
|
36
|
+
still needs Vet approval in `test-plan.md`.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-quick
|
|
3
|
+
description: "Express lane for a small reversible change: typo/copy/config, rate-limit constant, error message, local variable rename, feature flag, README link, one-file/function fix."
|
|
4
|
+
argument-hint: "<what to change>"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/definition-of-done.md","devrites-lib/reference/orchestration-profiles.md"],"triggers":{"coding":["devrites-lib/reference/standards/coding-style.md"],"testing":["devrites-lib/reference/standards/testing.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"security":["devrites-lib/reference/standards/security.md"],"principles":["devrites-lib/reference/standards/principles.md"],"afk":["devrites-lib/reference/standards/afk-hitl.md"]},"workspace":["state.md"],"rootOnly":["devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
|
|
9
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase quick` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# /rite-quick: express lane for small changes
|
|
13
|
+
|
|
14
|
+
The full DevRites lifecycle is right for real features; it is **ceremony** for a typo, a
|
|
15
|
+
copy tweak, a one-function fix, or a small config change. `/rite-quick` keeps the
|
|
16
|
+
discipline that matters (idiom, TDD, evidence, escape-to-full-lifecycle) and drops the
|
|
17
|
+
artifacts that don't, in a **single pass**. Senior-engineer "right step, right time" made
|
|
18
|
+
executable, not advisory. This lane uses the **Quick** depth profile from
|
|
19
|
+
[`devrites-lib/reference/orchestration-profiles.md`](../devrites-lib/reference/orchestration-profiles.md).
|
|
20
|
+
|
|
21
|
+
## The significance gate (the whole safety story)
|
|
22
|
+
|
|
23
|
+
**Run this first. If ANY of these holds, STOP and route to `/rite-spec`. Do NOT use the
|
|
24
|
+
express lane:**
|
|
25
|
+
- Touches **auth / authz**, a **data migration**, a **public API contract**, or any
|
|
26
|
+
**destructive / data-loss** path in the irreversible-risk list. See `../devrites-lib/reference/standards/afk-hitl.md`.
|
|
27
|
+
- Spans **more than one vertical slice**, or more than a couple of files of real logic.
|
|
28
|
+
- **Ambiguous scope:** you'd have to guess what "done" means, or the ask hides a design
|
|
29
|
+
decision (data model, new dependency, second design system).
|
|
30
|
+
- Security-sensitive input handling, or a measurable performance-critical path.
|
|
31
|
+
- Would **break a declared project principle** (`.devrites/principles.md`) with no recorded,
|
|
32
|
+
human-approved exception: the express lane never relaxes a project gate; a needed exception is
|
|
33
|
+
a deliberate human decision, so route it to `/rite-spec`.
|
|
34
|
+
|
|
35
|
+
If none hold, the change is small + reversible + unambiguous → proceed. **When in doubt,
|
|
36
|
+
escalate**: the cost of the full lifecycle on a small change is minutes; the cost of the
|
|
37
|
+
express lane on a risky one is the failure mode the lifecycle exists to prevent.
|
|
38
|
+
|
|
39
|
+
## Rules consulted (read on demand from `.dsh/skills/devrites-lib/reference/standards/`)
|
|
40
|
+
Load this lane's conditional standards when needed:
|
|
41
|
+
- [`coding-style.md`](../devrites-lib/reference/standards/coding-style.md): naming, guard clauses, reuse-first.
|
|
42
|
+
- [`testing.md`](../devrites-lib/reference/standards/testing.md): TDD, **completeness** (every touched behavior/element asserted) +
|
|
43
|
+
**assertion strength** (no tautological tests; see it fail first), scaled to the change.
|
|
44
|
+
- [`error-handling.md`](../devrites-lib/reference/standards/error-handling.md) / [`security.md`](../devrites-lib/reference/standards/security.md): only if the change touches input/errors.
|
|
45
|
+
- [`principles.md`](../devrites-lib/reference/standards/principles.md): when `.devrites/principles.md` exists; a change that breaks an invariant is a gate, not a quick fix.
|
|
46
|
+
- [`definition-of-done.md`](../devrites-lib/reference/standards/definition-of-done.md): standing Done bar: acceptance mapped, fresh proof, no open hard gates, scoped edits, rollback/docs where needed.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Workflow
|
|
50
|
+
0. **Orient.** Read [`core.md`](../devrites-lib/reference/standards/core.md). If a `.devrites/` workspace is active, read its
|
|
51
|
+
`state.md` directly; `/rite-quick` does **not** require
|
|
52
|
+
a workspace and does **not** create the full tree.
|
|
53
|
+
1. **Significance gate** (above). Fail → STOP, tell the user to run `/rite-spec <feature>`.
|
|
54
|
+
If the only failing item is size (more than one slice) and no risk item holds, name
|
|
55
|
+
`/rite-fast <task>` as the lighter option.
|
|
56
|
+
2. **One-line contract.** Restate in 1-3 lines: the change, its **acceptance** (how you'll
|
|
57
|
+
know it works), and the **scope boundary** (what you will NOT touch). This is the entire
|
|
58
|
+
"spec + plan" for a quick change: keep it in the chat; optionally drop a `brief.md` +
|
|
59
|
+
`evidence.md` under an unused `.devrites/work/<slug>/` (no `state.md`; not a workspace
|
|
60
|
+
cursor) if the user wants a record. This is the
|
|
61
|
+
`/rite-frame` FRAME move: if the acceptance won't reduce to a check that could be *false*,
|
|
62
|
+
the ask is ambiguous → escalate per the significance gate. Its AUDIT pass is the diff
|
|
63
|
+
self-review in step 5.
|
|
64
|
+
3. **Build with TDD.** Failing test first when behavior changes (see it fail for the right
|
|
65
|
+
reason) → smallest complete change in the **project's idiom** (reuse before you write,
|
|
66
|
+
anti-AI-slop) → cover every touched behavior / interactive element with a **real**
|
|
67
|
+
assertion. UI → check the states + a browser glance. The root never edits source/tests:
|
|
68
|
+
dispatch exact `devrites-slice-wright` with an exact-path contract per
|
|
69
|
+
[wright-dispatch.md § Standalone correction](../rite-build/reference/wright-dispatch.md#standalone-correction) and the
|
|
70
|
+
[source-writing boundary](../devrites-lib/reference/standards/agents.md#source-writing-boundary);
|
|
71
|
+
reject any returned path outside it.
|
|
72
|
+
4. **Prove (scoped).** Run the **targeted** tests + typecheck / lint for what changed (not
|
|
73
|
+
the whole suite) → green. Record the command + output — resolve the project's real
|
|
74
|
+
typecheck/lint commands with `devrites-engine detect commands` rather than guessing.
|
|
75
|
+
Engine missing or erroring, or zero detected commands for the changed surface:
|
|
76
|
+
stop with `unproven: <what could not run>`, never green and never a guessed command.
|
|
77
|
+
A tautological test that can't
|
|
78
|
+
fail is not proof.
|
|
79
|
+
5. **Review-lite + ship.** Self-review the diff for correctness, scope, and idiom. If
|
|
80
|
+
`.devrites/principles.md` exists, confirm that no declared invariant is broken. This is
|
|
81
|
+
`/rite-frame`'s AUDIT pass: one pass, no subagent fan-out. Show the diff. A change that belongs to the
|
|
82
|
+
active feature's candidate is not committed here: append its exact paths to
|
|
83
|
+
`touched-files.md`, then route to `/rite-prove` →
|
|
84
|
+
`/rite-review` → `/rite-seal` (`/rite-ship` needs Seal GO). Otherwise, on the
|
|
85
|
+
user's confirm, commit it standalone (Conventional Commits, atomic). **Never push without the user asking.**
|
|
86
|
+
|
|
87
|
+
## Escalation (mid-flight): the Spec Drift Guard still applies
|
|
88
|
+
If the "small" change turns out to be not small: a second slice appears, a real design
|
|
89
|
+
decision surfaces, scope grows past the boundary, or you hit an irreversible-risk item:
|
|
90
|
+
**STOP, say so, and route to `/rite-spec` / `/rite-define`**. Don't quietly grow a quick
|
|
91
|
+
fix into an unreviewed feature; that's the exact drift the lifecycle guards against.
|
|
92
|
+
|
|
93
|
+
If the quick boundary does not hold or an escalation remains, use `Stopped / blocked`
|
|
94
|
+
and route to the full lifecycle; do not render `Done`.
|
|
95
|
+
|
|
96
|
+
**DO NOT** use this lane to dodge the gate: the express lane is for changes that are
|
|
97
|
+
genuinely small, not for shipping risky work faster.
|