devrites 7.1.1 → 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 +13 -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/.claude/agents/devrites-upgrade-planner.md +12 -4
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/.claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/.claude/skills/rite-define/SKILL.md +28 -27
- package/pack/.claude/skills/rite-plan/SKILL.md +7 -2
- package/pack/.claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/.claude/skills/rite-resolve/SKILL.md +17 -10
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/.claude/skills/rite-review/SKILL.md +4 -4
- package/pack/.claude/skills/rite-review/reference/security-review.md +4 -2
- package/pack/.claude/skills/rite-seal/SKILL.md +28 -33
- package/pack/.claude/skills/rite-ship/SKILL.md +14 -7
- package/pack/.claude/skills/rite-temper/SKILL.md +18 -18
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/.claude/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/.claude/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/README.md +3 -1
- package/pack/generated/claude/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/claude/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/claude/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/claude/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/claude/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/claude/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/claude/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/claude/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/claude/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/codex/agents/devrites-upgrade-planner.toml +12 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/codex/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/codex/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/codex/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/codex/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/codex/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/codex/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/codex/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/codex/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/devin/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/devin/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/devin/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/devin/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/devin/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/devin/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/devin/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/devin/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/devin/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/devin/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/devin/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/devin/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/devin/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/devin/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/devin/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/devin/skills/rite-vet/SKILL.md +33 -34
- 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/pack/generated/omp/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/omp/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/omp/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/omp/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/omp/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/omp/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/omp/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/omp/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/omp/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/omp/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/omp/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/omp/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/omp/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/omp/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/omp/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/omp/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/omp/skills/rite-vet/SKILL.md +33 -34
- package/pack/generated/pi/agents/devrites-upgrade-planner.md +12 -4
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +21 -4
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +10 -3
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +7 -4
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +11 -11
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +52 -56
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +11 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +41 -40
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +12 -14
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +34 -38
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +38 -39
- package/pack/generated/pi/skills/rite-define/SKILL.md +28 -27
- package/pack/generated/pi/skills/rite-plan/SKILL.md +7 -2
- package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +5 -2
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +17 -10
- package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +18 -6
- package/pack/generated/pi/skills/rite-review/SKILL.md +4 -4
- package/pack/generated/pi/skills/rite-review/reference/security-review.md +4 -2
- package/pack/generated/pi/skills/rite-seal/SKILL.md +28 -33
- package/pack/generated/pi/skills/rite-ship/SKILL.md +14 -7
- package/pack/generated/pi/skills/rite-temper/SKILL.md +18 -18
- package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +6 -7
- package/pack/generated/pi/skills/rite-upgrade/SKILL.md +7 -2
- package/pack/generated/pi/skills/rite-vet/SKILL.md +33 -34
- 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,198 @@
|
|
|
1
|
+
# Slice-wright dispatch
|
|
2
|
+
|
|
3
|
+
> Root-only: not inlined in --role bundles.
|
|
4
|
+
|
|
5
|
+
`/rite-build` gives one bounded task to exact `devrites-slice-wright`.
|
|
6
|
+
Root owns scope/artifacts/inspection; never writes source/tests.
|
|
7
|
+
Wright alone writes; no agents.
|
|
8
|
+
|
|
9
|
+
## Host gate
|
|
10
|
+
|
|
11
|
+
Apply [source-writing boundary](../../devrites-lib/reference/standards/agents.md#source-writing-boundary):
|
|
12
|
+
Claude grants only the exact wright `acceptEdits`; Codex uses its workspace root,
|
|
13
|
+
the exact `:workspace` wright, and read-only specialists. Never bypass/substitute
|
|
14
|
+
the wright or recreate an engine bridge.
|
|
15
|
+
|
|
16
|
+
## Standalone correction
|
|
17
|
+
|
|
18
|
+
`/rite-quick`, `/rite-dogfood`, `/rite-harness`, and `/rite-pr-feedback` fixes have no `tasks.md`
|
|
19
|
+
slice, so skip Prepare's `check slice`, `context --slice`, and the build `dispatch`
|
|
20
|
+
wave. Give the wright an inline contract: goal, acceptance check, exact
|
|
21
|
+
project-relative paths, and proof command. With an active workspace, `claim add`
|
|
22
|
+
those paths first. On return, compare its file list and `git diff --name-only`
|
|
23
|
+
with the paths; reject any extra path.
|
|
24
|
+
|
|
25
|
+
## Isolated writer-worktree pilot
|
|
26
|
+
|
|
27
|
+
Use native isolation only when the current host exposes an explicit named-writer
|
|
28
|
+
worktree plus result reconciliation; separate agent threads or inherited sandboxes do
|
|
29
|
+
not qualify. Codex CLI custom subagents therefore use `same-worktree` unless a future
|
|
30
|
+
supported interface passes this capability gate—never create a manual worktree from the
|
|
31
|
+
read-only root to imitate it. Also require `git rev-parse
|
|
32
|
+
--show-superproject-working-tree` to be empty; resolved git/common dirs; committed,
|
|
33
|
+
clean candidate/index; all inputs at `HEAD`; no other writer; and green cheap isolated
|
|
34
|
+
baseline proof. Otherwise use serial same-worktree dispatch—never stash, commit, or
|
|
35
|
+
discard user work to qualify. Ask host for an explicit current-`HEAD` base when
|
|
36
|
+
supported. Regardless of host defaults, the wright's first command must prove actual `git rev-parse HEAD` equals supplied
|
|
37
|
+
`worktree_base`. Mismatch returns a gap with no write before project reads or baseline proof.
|
|
38
|
+
|
|
39
|
+
The isolated wright returns one local unpushed `transfer_commit` (contract
|
|
40
|
+
`WIP(<slug>):` subject, no slice id), its `worktree_base`, and exact files.
|
|
41
|
+
That commit is worker-branch transport, not the control-branch checkpoint. Root proves descendant base, exact `git diff --name-only`
|
|
42
|
+
`` `<base>..<transfer>` ``, no `.devrites/**`/submodule/symlink/unrelated delta, unchanged
|
|
43
|
+
source base, and no user-work overwrite. Use only host-native explicit reconciliation;
|
|
44
|
+
never ad hoc copy, cherry-pick, or merge from read-only root. Land on control
|
|
45
|
+
only per [`checkpoint.md`](checkpoint.md).
|
|
46
|
+
|
|
47
|
+
Conflict, extra/missing commit, moved base, or cleanup failure is `gap`/STOP:
|
|
48
|
+
preserve the worktree and commit. Without explicit reconciliation, use same-worktree serial.
|
|
49
|
+
Parallel isolated-writer worktrees remain forbidden until this serial pilot measures
|
|
50
|
+
transfer, conflict, proof, and review outcomes on both hosts; opt-in `/rite-build --parallel N`
|
|
51
|
+
(2≤N≤10) path-disjoint fan-out is the only sanctioned parallel mode. Same-worktree multi-writer / root-emulated
|
|
52
|
+
worktrees stay forbidden.
|
|
53
|
+
|
|
54
|
+
## Prepare
|
|
55
|
+
|
|
56
|
+
1. Run `devrites-engine check slice <slug> <SLICE-ID>` first — it fails a
|
|
57
|
+
malformed contract (missing goal, empty/invalid Writer allowlist,
|
|
58
|
+
unresolvable `Satisfies` AC ids, empty proof field) before a wright
|
|
59
|
+
context is spent; a failure is a gap, not a dispatch. A slice with a
|
|
60
|
+
`pre-dispatch <SLICE-ID>` preflight row next runs
|
|
61
|
+
`devrites-engine check preconditions <slug> --slice <SLICE-ID>` before
|
|
62
|
+
`dispatch open`; non-zero is the same gap. Then derive the
|
|
63
|
+
smallest exact project-relative source/test path list; reject
|
|
64
|
+
directories/globs, traversal, symlink escapes, duplicates, and `.devrites/**`.
|
|
65
|
+
A target composed only of vetted executable workflow artifacts routes to the
|
|
66
|
+
controlling root under
|
|
67
|
+
[`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md);
|
|
68
|
+
its rejection here is not a blocker. Vet already closed the slice's write
|
|
69
|
+
set; re-check only consumers of files earlier slices changed since the
|
|
70
|
+
readiness binding, and fold a gap through `/rite-plan` before dispatch.
|
|
71
|
+
2. Goal, verbatim acceptance, exclusions, context, `test-plan.md` proof
|
|
72
|
+
commands, and applicable standards reach the wright through the slice bundle
|
|
73
|
+
its contract names; only a native-worktree pilot contract adds the exact
|
|
74
|
+
`WIP(<slug>):` subject (no slice id). Build the wright's read-set with
|
|
75
|
+
`devrites-engine context --skills-root .dsh/skills <slug> --phase build --role slice-wright --slice <SLICE-ID> --trigger <set>`
|
|
76
|
+
and hand it the bundle path (over-budget artifacts arrive as anchor indexes;
|
|
77
|
+
read owning sections live). Evaluate each trigger condition and pass those
|
|
78
|
+
that fire (TDD slice → `tdd`, AFK run → `afk`, UI work → `frontend`, …).
|
|
79
|
+
The command prints `unselected=[...]`; an omitted applicable trigger is a gap.
|
|
80
|
+
For each triggered
|
|
81
|
+
topology/data/integration standard, add as anchored `--focus` rows only the feature-specific owner/invariant,
|
|
82
|
+
failure or partial-state case, recovery rule, and required proof from the vetted plan.
|
|
83
|
+
Do not paste the whole standard or silently omit an applicable risk.
|
|
84
|
+
Quote, as a `--focus` row, every active `decisions.md` carry-forward constraint whose `Files:`
|
|
85
|
+
overlap the task paths (or that names no files).
|
|
86
|
+
A new path requires a new bounded contract; the wright cannot widen the task.
|
|
87
|
+
The contract lists the slice's `Tests/proof` as writer-safe checks (syntax/type/lint,
|
|
88
|
+
unit and self-check suites, a narrow smoke of the changed path); `--checks` adds
|
|
89
|
+
gate IDs. Never forbid them: a blind wright's failures surface a review
|
|
90
|
+
round later. Artifact-producing, consumptive, or full canonical feature
|
|
91
|
+
gates stay root-owned, never in `--checks`; when `gates.md` has a `RUN: writer`
|
|
92
|
+
gate, the checks include `devrites-engine gates precheck <slug> --worktree <path> --slice <SLICE-ID>`
|
|
93
|
+
(those gates, minus ones only other unbuilt slices own, plus `check windows`;
|
|
94
|
+
never evidence, root still runs every gate).
|
|
95
|
+
3. Run `devrites-engine check diff-scope <slug> --snapshot` before dispatch so
|
|
96
|
+
unrelated work remains distinguishable (it fingerprints every dirty path). For an isolated pilot, also record committed base SHA and exact
|
|
97
|
+
baseline status before asking the host for isolation. **Failing case:** paths that
|
|
98
|
+
were dirty at that baseline are listed as slice-owned after dispatch.
|
|
99
|
+
|
|
100
|
+
## Run
|
|
101
|
+
|
|
102
|
+
Same-worktree (non-isolated) dispatch claims before writing: the `dispatch open`
|
|
103
|
+
below adds `--claim-session <id>`, one `--claim <path>` per task path, and
|
|
104
|
+
`--claim-ttl <minutes>` sized to the write; it runs the
|
|
105
|
+
`claim check --session <id> <task-paths>` test, and a live foreign holder fails the
|
|
106
|
+
open with no wave and no claim and stops the dispatch, per
|
|
107
|
+
[`agents.md`](../../devrites-lib/reference/standards/agents.md). `.devrites/**`
|
|
108
|
+
is never a task path; see [Workflow Artifact admission](../../devrites-lib/reference/standards/workflow-artifacts.md).
|
|
109
|
+
Render the contract with `devrites-engine packet <slug> --wave <wave> --phase build
|
|
110
|
+
--role slice-wright --slice <SLICE-ID> [--checks <G-ID,...>] [--focus <file>]` (it
|
|
111
|
+
writes the linted same-worktree `packets/<wave>.contract.md`; a native-worktree pilot
|
|
112
|
+
writes its own contract with `Isolation`, `worktree_base`, and subject) and hand the wright that text verbatim. Reviewers read
|
|
113
|
+
that file, so `--focus` rows state each defect to fix with its anchor, never a reviewer's verdict,
|
|
114
|
+
count, or pass status ("code review is no-findings" voids the next review). Ask the host
|
|
115
|
+
for the exact writer in fresh context; a repair round on the same slice whose
|
|
116
|
+
returned wright the host can still continue goes to that wright on its existing
|
|
117
|
+
handle instead, so it does not re-read the slice from scratch. Wait, and track it
|
|
118
|
+
through the launch barrier — `devrites-engine dispatch <slug> open --phase build --wave
|
|
119
|
+
<slice-id> --role slice-wright --slice <SLICE-ID> --contract <file>` (it refuses a
|
|
120
|
+
contract that forbids writer-safe checks or names none), then `start` with the host handle
|
|
121
|
+
(the last start seals the wave) and `return` on completion (auto-records dispatch/return metrics). Every 5 wright
|
|
122
|
+
rounds on one slice, `open` blocks for a reslice review. First re-admit each
|
|
123
|
+
finding still driving rounds under the Proportionality rule of
|
|
124
|
+
[agents.md § Result admission](../../devrites-lib/reference/standards/agents.md#result-admission): one without a broken anchor or a reachable trigger becomes a
|
|
125
|
+
Suggestion and drives no further round. Then propose an
|
|
126
|
+
acceptance-preserving split (`root_no_change_analysis` → `FOLD` per
|
|
127
|
+
[acceptance-preserving-reslice](../../devrites-lib/reference/standards/acceptance-preserving-reslice.md);
|
|
128
|
+
open findings move to the new slice owning their paths), or record
|
|
129
|
+
`## <DRIFT-ID> — <SLICE-ID> reslice review` with why no smaller split exists and
|
|
130
|
+
a spec trace of the slice's obligations (hardening no AC/INV/PROH requires moves to
|
|
131
|
+
a sibling slice dependents do not need, still gated before Seal), and
|
|
132
|
+
reopen with `--reslice-review <DRIFT-ID>`. Use
|
|
133
|
+
at most one writer across all linked worktrees for this workspace. Never run two
|
|
134
|
+
writers in one worktree, run isolated and same-worktree writers concurrently, or
|
|
135
|
+
substitute a generic agent. Opt-in `/rite-build --parallel N` fans out only under
|
|
136
|
+
[`parallel-batch.md`](parallel-batch.md).
|
|
137
|
+
|
|
138
|
+
The `return` that completes the wave releases its claim; `dispatch abandon --release`
|
|
139
|
+
releases it on any other host-confirmed terminal path (a stop, a launch refused with no
|
|
140
|
+
handle, or a timed-out child later confirmed terminal). A `claim add` claim releases
|
|
141
|
+
with `devrites-engine claim release --session <id> --id <claim-id>` on every terminal path:
|
|
142
|
+
successful return, rejected result, stop, or a launch the host refused with no handle. A
|
|
143
|
+
timeout or unknown outcome keeps the claim ([`parallel-dispatch.md`](../../devrites-lib/reference/parallel-dispatch.md#cancellation-and-terminal-reconciliation)).
|
|
144
|
+
TTL is crash recovery, not normal cleanup.
|
|
145
|
+
An `unattributed root edit` exit 3 (root-edit tripwire) routes the path through a wright wave naming it in
|
|
146
|
+
`--claim`, or, given evidence (owner work, gate output, a standalone wright, Polish ADR/`DESIGN.md`),
|
|
147
|
+
`dispatch <slug> attribute --reason <evidence> --path <path>`.
|
|
148
|
+
|
|
149
|
+
## Inspect and prove
|
|
150
|
+
|
|
151
|
+
1. Compare the returned file list and `git diff --name-only` with task paths.
|
|
152
|
+
`devrites-engine check diff-scope <slug> --allow <task-paths> --baseline` is the
|
|
153
|
+
mechanical subset gate (a step-3 path whose bytes are unchanged is not a
|
|
154
|
+
violation; a changed one still is) — run it before any reviewer dispatch; a violation
|
|
155
|
+
restores through the bounded wright without spending review, but only for a
|
|
156
|
+
path the wright's `files_changed` or diff trace attributes to it. An
|
|
157
|
+
unattributed extra path that was clean at the step-3 baseline is preserved
|
|
158
|
+
(never restored), recorded as drift, and stops for the human. **Failing case:**
|
|
159
|
+
a user edits `README.md` during a same-tree dispatch and the wright reverts it.
|
|
160
|
+
Reject a result that omits any required key — the bookkeeping arrays count
|
|
161
|
+
whether empty or filled — or adds a path. Root never widens scope or edits
|
|
162
|
+
source.
|
|
163
|
+
2. Run `devrites-engine check windows <slug>` on the wright's diff (`--worktree`
|
|
164
|
+
in the same tree, plus `--since-dispatch <wave>` naming a repair round's wave;
|
|
165
|
+
`--base <B> --cwd <worktree>` for a parallel transfer commit). Each unwaived hit is repaired through the bounded wright or gets a
|
|
166
|
+
reasoned `windows.md` row before review; never waive to reach green. Then
|
|
167
|
+
inspect the test diff for deletion, skipping, focus markers, or loosened
|
|
168
|
+
assertions. Dedicated test analysis treats weakening as Critical.
|
|
169
|
+
Confirm a test for a data/integration/topology risk can actually exhibit that risk;
|
|
170
|
+
mocks that erase it and one-root proof offered for another root are unproven.
|
|
171
|
+
3. Apply [independent Build review](phase-contract.md#independent-build-review)
|
|
172
|
+
and, in the same window, run only repository proof already approved by
|
|
173
|
+
`test-plan.md` against the same frozen candidate; neither waits for the
|
|
174
|
+
other. Human choices return; technical failures follow
|
|
175
|
+
[the canonical retry contract](../../devrites-lib/reference/standards/afk-hitl.md#retry-cap-no-progress-loops-and-self-resolve).
|
|
176
|
+
Derive accounting from recorded reproductions, corrections, and decisive rechecks.
|
|
177
|
+
4. After proof, inspect `git diff --name-only` again in case a proof tool changed
|
|
178
|
+
source; a change rejects that candidate and voids the concurrent review. A
|
|
179
|
+
repair wright voids both; rerun both on the new candidate.
|
|
180
|
+
**Do not land on control until review and proof are both green.** Isolated
|
|
181
|
+
`transfer_commit` stays on the worker branch; same-worktree diffs stay
|
|
182
|
+
uncommitted. Serial: [`checkpoint.md`](checkpoint.md), then host may remove the
|
|
183
|
+
worktree. Parallel: `record-green`, then `parallel integrate
|
|
184
|
+
--slice <id> --apply-to-control`; `parallel cleanup` removes worktrees.
|
|
185
|
+
5. Reconcile returned reuse, conventions, principles, sources, assumptions,
|
|
186
|
+
decisions, dead ends, follow-ups, gates, and touched files. Persist the
|
|
187
|
+
relevant facts in canonical artifacts, not the wholesale report. A plan-gap
|
|
188
|
+
escalation without the checked-assumption list (verified|falsified) is
|
|
189
|
+
malformed; root sweeps the unchecked remainder per
|
|
190
|
+
[`spec-drift-guard.md`](spec-drift-guard.md) before repair.
|
|
191
|
+
6. **Learning edge.** A correction accepted with a confirmed cause (a review,
|
|
192
|
+
gate, or proof rejection plus its fix) becomes a carry-forward constraint so
|
|
193
|
+
later slices start where this one ended: append one line under
|
|
194
|
+
`decisions.md` `## Carry-forward constraints` —
|
|
195
|
+
`- <rule> — from <SLICE-ID> (<evidence ref>); Files: <paths>`. Record the
|
|
196
|
+
derived rule, not the output, at the scope its evidence supports: "this
|
|
197
|
+
button is blue" never becomes "buttons are blue". Never edit `tasks.md` mid-build (it is a
|
|
198
|
+
readiness input). **Failing case:** slice 3 repeats a defect slice 2 fixed.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-clarify
|
|
3
|
+
description: Audit a completed spec for missing decisions before strategy or architecture. Use after /rite-spec when coverage is incomplete or stale; not for spec writing.
|
|
4
|
+
argument-hint: "[feature-slug]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","rite-clarify/reference/decision-coverage.md","rite-clarify/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md"],"workspaceByRole":{"evidence-scout":["brief.md","spec.md","state.md","questions.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
|
|
9
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase clarify` 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-clarify: resolve product decisions
|
|
13
|
+
|
|
14
|
+
Run this required pass between spec and strategy. If the spec covers every material
|
|
15
|
+
decision, ask no questions. Otherwise stay until each material decision has an
|
|
16
|
+
owner. This phase settles behavior and constraints; `/rite-define` settles
|
|
17
|
+
implementation.
|
|
18
|
+
|
|
19
|
+
Reuse [`devrites-interview`](../devrites-interview/SKILL.md) in `/clarify mode`. Write
|
|
20
|
+
`decision-coverage.md` as scan evidence, not an interview transcript.
|
|
21
|
+
|
|
22
|
+
## Rules consulted
|
|
23
|
+
|
|
24
|
+
Read [`core.md`](../devrites-lib/reference/standards/core.md), its [`afk-hitl.md`](../devrites-lib/reference/standards/afk-hitl.md), and
|
|
25
|
+
[`reference/decision-coverage.md`](reference/decision-coverage.md). Fresh evidence
|
|
26
|
+
dispatch uses
|
|
27
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md).
|
|
28
|
+
|
|
29
|
+
## Rules
|
|
30
|
+
|
|
31
|
+
- Search code/docs/contracts first. Facts and reversible implementation/test choices
|
|
32
|
+
are agent-owned; ask only about product, scope, policy, irreversible risk, or human-only access.
|
|
33
|
+
- Enumerate the full topology before details so no sibling surface is omitted.
|
|
34
|
+
- Ask one coherent human-owned decision packet at a time. One packet may close several rows
|
|
35
|
+
only when owner and trade-off match; never ask permission for routine repair/retry.
|
|
36
|
+
- One scan may cap at five packets for cognitive load, but readiness has no question cap:
|
|
37
|
+
re-scan until clear.
|
|
38
|
+
- Material assumptions carry evidence, confidence, owner, validation, and consequence.
|
|
39
|
+
- Refuse the rationalizations in [`anti-patterns`](reference/anti-patterns.md).
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
1. **Orient.** Read `.devrites/ACTIVE`, `state.md`, and `spec.md`. Require
|
|
44
|
+
`state.md` `spec_gate: passed` (legacy `Spec gate: passed` line accepted); otherwise stop at `/rite-spec`. Apply the native cursor
|
|
45
|
+
protocol below before changing workspace artifacts.
|
|
46
|
+
2. **Enumerate the topology.** From the spec, live code, contracts, references,
|
|
47
|
+
and recorded decisions, list every material stakeholder/priority, invariant, actor,
|
|
48
|
+
journey/component, state, data lifecycle, integration, failure/recovery path,
|
|
49
|
+
operation, proof surface, applicability row, and must-NOT boundary.
|
|
50
|
+
3. **Scan coverage.** Apply `devrites-interview` in clarify mode and mark each
|
|
51
|
+
material surface `closed`, `agent-owned`, `not-applicable`,
|
|
52
|
+
`deferred-nonblocking`, or `open` with evidence and an owner. Use native repository search
|
|
53
|
+
first. Ask the host to run `devrites-evidence-scout` only for a bounded missing
|
|
54
|
+
fact, then reconcile its cited result.
|
|
55
|
+
4. **Close decisions.** Record facts and reversible technical choices directly.
|
|
56
|
+
Ask one coherent option packet only for product, scope, policy, irreversible
|
|
57
|
+
risk, or human-only access. Persist answers in the owning artifacts and repeat
|
|
58
|
+
the scan until no blocking `open` row or unowned material assumption
|
|
59
|
+
remains.
|
|
60
|
+
5. **Write the verdict.** Write `Decision coverage: CLEAR` only after re-reading all inputs and confirming
|
|
61
|
+
every material row has current evidence and an owner. Normal flow sets `phase=clarify` and
|
|
62
|
+
`next_action=/rite-temper`. A low-stakes spec — the significance trigger temper itself
|
|
63
|
+
skips (rite-temper step 1) — sets `next_action=/rite-define` instead. A contract-neutral later-phase return uses
|
|
64
|
+
the native restore below; changed behavior or acceptance routes to
|
|
65
|
+
`/rite-plan repair` instead. Stop without starting the next phase.
|
|
66
|
+
|
|
67
|
+
## Native clarify cursor protocol
|
|
68
|
+
|
|
69
|
+
The controlling root edits only cursor rows in `state.md`; it must preserve unrelated Markdown and the file's existing table/bullet presentation.
|
|
70
|
+
|
|
71
|
+
- **Normal entry from Spec:** set `phase=clarify`, `status=running`, and
|
|
72
|
+
`next_action=/rite-clarify <slug>`; omit both return fields.
|
|
73
|
+
- **Already in Clarify:** no-op. Do not overwrite an existing valid return
|
|
74
|
+
cursor.
|
|
75
|
+
- **Later-phase entry:** only `temper`, `define`, `plan`, `vet`, `build`,
|
|
76
|
+
`converge`, `prove`, `polish`, `review`, `seal`, or `ship` may return. First
|
|
77
|
+
copy the current `phase` and non-empty `next_action` to `return_phase` and
|
|
78
|
+
`return_next_action`; then set `phase=clarify`, `status=running`, and
|
|
79
|
+
`next_action=/rite-clarify <slug>`. Missing/unknown cursor values fail closed
|
|
80
|
+
before any write.
|
|
81
|
+
- **Contract-neutral restore:** after a fresh `Decision coverage: CLEAR`, require
|
|
82
|
+
`phase=clarify`, both return fields, a recognized later `return_phase`, and a
|
|
83
|
+
non-empty `return_next_action`. Restore those values to `phase` and
|
|
84
|
+
`next_action`, set `status=running`, and remove both return fields in the same
|
|
85
|
+
rewrite. Re-read the cursor and confirm the return rows are absent.
|
|
86
|
+
- **Contract changed:** do not restore the saved cursor. Record drift and route
|
|
87
|
+
through `/rite-plan repair`, which owns the changed plan and next action.
|
|
88
|
+
|
|
89
|
+
Never normalize or rewrite the rest of `state.md` while applying this protocol.
|
|
90
|
+
|
|
91
|
+
## Output
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
Done: decision coverage closed for <slug>; <n> topology surfaces scanned.
|
|
95
|
+
Changed: decision-coverage.md, spec.md, decisions.md, assumptions.md, questions.md
|
|
96
|
+
Evidence: Decision coverage: CLEAR; human packets <n>; agent-owned facts <n>
|
|
97
|
+
Open: none blocking; deferred-nonblocking <n>
|
|
98
|
+
Next: /rite-temper (or /rite-define for a low-stakes spec temper skips)
|
|
99
|
+
Record: .devrites/work/<slug>/decision-coverage.md
|
|
100
|
+
↻ Hygiene: /clear — decision coverage is persisted in decision-coverage.md
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If not clear, name the exact rows and next genuine decision packet. An objective spec defect
|
|
104
|
+
or factual search task never routes through `/rite-resolve`.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# /rite-clarify anti-patterns
|
|
2
|
+
|
|
3
|
+
Load this when tempted to skip clarify, assume product choices, or write
|
|
4
|
+
`Decision coverage: CLEAR` before every material row has an owner.
|
|
5
|
+
|
|
6
|
+
Pack-wide rationalizations: see
|
|
7
|
+
[standards/anti-patterns.md](../../devrites-lib/reference/standards/anti-patterns.md).
|
|
8
|
+
|
|
9
|
+
## Phase-specific rationalizations
|
|
10
|
+
|
|
11
|
+
| Excuse | Rebuttal |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| "We already discussed this in chat." | Chat is not durable decision coverage. Scan topology and record owners in workspace artifacts. |
|
|
14
|
+
| "The answer is obvious — assume it." | Product, scope, policy, and irreversible-risk choices are human-owned unless already recorded in an accepted decision. |
|
|
15
|
+
| "Most rows are clear — good enough for AFK." | `open` material rows block CLEAR and block AFK arming. |
|
|
16
|
+
| "Skip clarify for this small change." | Clarify is mandatory and adaptive; it may ask no questions, but it still runs the scan. |
|
|
17
|
+
| "I'll clarify during build if needed." | Unowned decisions discovered in build are expensive drift. Close them before plan/vet. |
|
|
18
|
+
|
|
19
|
+
## Red flags in your own output
|
|
20
|
+
|
|
21
|
+
- `Decision coverage: CLEAR` with `open` material rows still open.
|
|
22
|
+
- Product/policy choices recorded without a human packet or cited prior decision.
|
|
23
|
+
- AFK armed or `/rite-define` started before CLEAR is durable.
|
|
24
|
+
- Clarify skipped because the user said they were "in a hurry".
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Decision coverage contract
|
|
2
|
+
|
|
3
|
+
`decision-coverage.md` proves a topology-first scan ran; reference canonical IDs instead of
|
|
4
|
+
duplicating their prose.
|
|
5
|
+
|
|
6
|
+
## Coverage taxonomy
|
|
7
|
+
|
|
8
|
+
For each material surface scan: outcome/scope/must-NOT; behavior, permissions, and all states;
|
|
9
|
+
domain/data lifecycle/invariants/order/concurrency; interfaces/integrations and failure
|
|
10
|
+
contracts; security/privacy/compliance/accessibility/performance/reliability/compatibility;
|
|
11
|
+
configuration/observability/support/rollout/rollback; and executable acceptance proof,
|
|
12
|
+
environment, credentials/approvals, and evidence limits.
|
|
13
|
+
|
|
14
|
+
## Status vocabulary
|
|
15
|
+
|
|
16
|
+
- `closed`: the canonical artifact records the decision.
|
|
17
|
+
- `agent-owned`: a reversible technical choice is explicitly delegated to define/vet.
|
|
18
|
+
- `not-applicable`: evidence shows the dimension does not apply.
|
|
19
|
+
- `deferred-nonblocking`: pre-code evidence is impossible or the item is an explicit
|
|
20
|
+
non-goal; owner and validation gate are named.
|
|
21
|
+
- `open`: the decision is unresolved.
|
|
22
|
+
|
|
23
|
+
`open`, unknown, or ownerless rows never produce `CLEAR`.
|
|
24
|
+
|
|
25
|
+
## Artifact shape
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
# Decision coverage
|
|
29
|
+
|
|
30
|
+
Decision coverage: <CLEAR | NEEDS CLARIFICATION>
|
|
31
|
+
|
|
32
|
+
## Topology
|
|
33
|
+
| Surface | Kind | Related IDs | Evidence |
|
|
34
|
+
| --- | --- | --- | --- |
|
|
35
|
+
|
|
36
|
+
## Coverage matrix
|
|
37
|
+
| Surface | Dimension | Status | Canonical reference | Owner / validation gate | Consequence if wrong |
|
|
38
|
+
| --- | --- | --- | --- | --- | --- |
|
|
39
|
+
|
|
40
|
+
## Assumption audit
|
|
41
|
+
| Assumption | Evidence | Confidence | Owner | Validation | Consequence if wrong |
|
|
42
|
+
| --- | --- | --- | --- | --- | --- |
|
|
43
|
+
|
|
44
|
+
## Residual uncertainty
|
|
45
|
+
| Item | Why nonblocking | Owner | Validation gate |
|
|
46
|
+
| --- | --- | --- | --- |
|
|
47
|
+
|
|
48
|
+
## Readiness verdict
|
|
49
|
+
No `open` row, unowned material assumption, or unresolved blocking/escalating
|
|
50
|
+
question remains.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Combine rows only when one decision and owner genuinely close them. Re-read the current
|
|
54
|
+
`brief.md`, `spec.md`, `decisions.md`, `assumptions.md`, and `questions.md` before writing
|
|
55
|
+
`CLEAR`; the matrix itself is the freshness check. Any open blocking, validating, or
|
|
56
|
+
escalating question prevents `CLEAR`.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-converge
|
|
3
|
+
description: Converge intent and live code. Use when resuming a half-built feature, after `/rite-adopt` drift, or live code may have diverged from the plan. Not for initial planning.
|
|
4
|
+
argument-hint: "[feature-slug]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/testing.md","rite-converge/reference/convergence-assessment.md","rite-converge/reference/anti-patterns.md","rite-build/reference/spec-drift-guard.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.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"],"workspaceByRole":{"evidence-scout":["spec.md","plan.md","tasks.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md"]} -->
|
|
9
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase converge` 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-converge: compare live code with intent
|
|
13
|
+
|
|
14
|
+
Read `spec.md`, `plan.md`, and `tasks.md` as the **sole source of intent** (with
|
|
15
|
+
`.devrites/principles.md` as governing constraints), assess what the **live codebase**
|
|
16
|
+
implements, and **append every unmet piece as a new traceable `SLICE-###`** at the
|
|
17
|
+
bottom of `tasks.md` so `/rite-build` can finish it. Use this for a resumed half-built
|
|
18
|
+
feature, an adopted codebase that drifted from its derived spec, or a build that stalled
|
|
19
|
+
mid-slice. **Read the active
|
|
20
|
+
workspace first**; if there's no `spec.md`/`plan.md`/`tasks.md`, tell the user which
|
|
21
|
+
prerequisite skill to run.
|
|
22
|
+
|
|
23
|
+
> **This is not a diff tool.** `/rite-converge` compares current code with intent. It
|
|
24
|
+
> does not use git history or compare branches. For a change-scoped
|
|
25
|
+
> review use `/rite-review`; to prove a finished feature use `/rite-prove`.
|
|
26
|
+
|
|
27
|
+
## Rules consulted (read on demand from `.dsh/skills/devrites-lib/reference/standards/`)
|
|
28
|
+
|
|
29
|
+
Pull on demand:
|
|
30
|
+
|
|
31
|
+
- [`principles.md`](../devrites-lib/reference/standards/principles.md): the project invariants (`.devrites/principles.md`); code that violates a
|
|
32
|
+
MUST principle is the highest-severity gap and produces a remediation slice.
|
|
33
|
+
- [`spec-grammar.md`](../devrites-lib/reference/standards/spec-grammar.md): buildable acceptance criteria vs `## Success metrics` (outcome KPIs the
|
|
34
|
+
code can't make true and this pass never enqueues); structured `### Requirement:` /
|
|
35
|
+
`#### Scenario:` blocks, each scenario one behavior to check as built / partial / absent.
|
|
36
|
+
- [`code-navigation.md`](../devrites-lib/reference/standards/code-navigation.md): find each unit's code with codebase-memory `search_graph`
|
|
37
|
+
and `get_code_snippet`, check cited paths with `check_index_coverage`, then fall back to LSP/file search. Read live code, not artifact claims.
|
|
38
|
+
- [`testing.md`](../devrites-lib/reference/standards/testing.md): a criterion with code but no covering test is *partial*, not done.
|
|
39
|
+
- [`repository-topology.md`](../devrites-lib/reference/standards/repository-topology.md), [`data-integrity.md`](../devrites-lib/reference/standards/data-integrity.md), [`integration-reliability.md`](../devrites-lib/reference/standards/integration-reliability.md): only for
|
|
40
|
+
triggered applicability rows; missing failure/recovery behavior is partial or absent.
|
|
41
|
+
|
|
42
|
+
## Operating rules
|
|
43
|
+
|
|
44
|
+
- **APPEND-ONLY, never rewrite.** The only write to `tasks.md` is **appending** new
|
|
45
|
+
`SLICE-###` entries. Never rewrite, renumber, reorder, or delete an existing slice
|
|
46
|
+
(including slices a prior convergence appended). Never edit `spec.md` or `plan.md`. Never
|
|
47
|
+
touch application code: completing the appended slices is `/rite-build`'s job, not this
|
|
48
|
+
skill's.
|
|
49
|
+
- **Clean means byte-for-byte unchanged.** When the code already satisfies everything, leave
|
|
50
|
+
`tasks.md` untouched (no empty convergence header) and report a clean result. Recommend
|
|
51
|
+
`/rite-prove`.
|
|
52
|
+
- **Use artifacts as intent.** The spec, plan, tasks, and principles are the
|
|
53
|
+
contract. If assessing reveals the *spec* is wrong (the code is right and the requirement is
|
|
54
|
+
stale), that's **Spec Drift**: stop and route it through the Spec Drift Guard
|
|
55
|
+
([`spec-drift-guard.md`](../rite-build/reference/spec-drift-guard.md)) + a recorded decision; never paper over a spec
|
|
56
|
+
bug by appending a task that changes correct code to match a wrong requirement.
|
|
57
|
+
- **Partial is not done.** Code that exists but is untested, half-wired, or covers only the
|
|
58
|
+
happy path is an unmet gap: enqueue the remainder, don't round it up.
|
|
59
|
+
- **Principles are non-negotiable.** A live violation of a declared invariant with no recorded
|
|
60
|
+
exception is the top-severity gap, walked first. Absent/empty principles file → none declared
|
|
61
|
+
→ skip the check gracefully, never block for its absence.
|
|
62
|
+
- **Unadmitted bytes from a lost wright.** When a stalled slice's wright never returned an
|
|
63
|
+
admitted result, act only after its terminal state is proven
|
|
64
|
+
([`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md) § Cancellation);
|
|
65
|
+
unproven stays a gap. Then inspect task-path bytes changed since the recorded pre-dispatch
|
|
66
|
+
`git diff --name-only` baseline (none recorded → every changed task path counts). They are
|
|
67
|
+
never cited `built`, never discarded (user work): classify the slice `partial (unadmitted
|
|
68
|
+
bytes)` and name those paths in the appended slice. A change outside task paths stops for the human.
|
|
69
|
+
- **Scout observes; root classifies and writes.** Use
|
|
70
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md). The evidence scout returns
|
|
71
|
+
live-code citations only; the controlling chat owns built/partial/absent calls and append-only
|
|
72
|
+
workspace changes.
|
|
73
|
+
|
|
74
|
+
## Workflow
|
|
75
|
+
|
|
76
|
+
0. **Read `.dsh/skills/devrites-lib/reference/standards/core.md`** first (the always-on
|
|
77
|
+
operating rules), then resolve the active slug, require its `state.md`, and
|
|
78
|
+
read the cursor directly.
|
|
79
|
+
1. **Confirm the gate.** Require `spec.md` + `plan.md` + `tasks.md` in the active workspace. If
|
|
80
|
+
any is missing, **STOP** and name the prerequisite (`/rite-spec` for a missing spec,
|
|
81
|
+
`/rite-define` for a missing plan/tasks, `/rite-adopt` to onboard existing code). Do not
|
|
82
|
+
produce partial output.
|
|
83
|
+
Require `decision-coverage.md` with `Decision coverage: CLEAR`; otherwise STOP →
|
|
84
|
+
`/rite-clarify`.
|
|
85
|
+
2. **Load intent:** [`reference/convergence-assessment.md`](reference/convergence-assessment.md).
|
|
86
|
+
From `spec.md`: buildable `AC-###` / `### Requirement:` scenarios (skip `## Success metrics`);
|
|
87
|
+
from `plan.md`: architecture decisions + named touch-points (files/components the plan says
|
|
88
|
+
get built); from `tasks.md`: existing slices + their `Satisfies:`; from
|
|
89
|
+
`.devrites/principles.md`: the invariants.
|
|
90
|
+
**Completion:** every buildable criterion, touch-point, slice output, and principle is in the assessment inventory.
|
|
91
|
+
3. **Reconcile the map, then read the code.** Compare `spec.md`, `tasks.md`,
|
|
92
|
+
`test-plan.md`, and `traceability.md` directly: every buildable AC/REQ maps to an
|
|
93
|
+
existing slice, every slice maps back to real acceptance, every slice's recorded
|
|
94
|
+
proof still agrees with its `test-plan.md` row, and the mapped prose preserves the
|
|
95
|
+
requirement's meaning. Record orphaned, invented, duplicate, or contradictory
|
|
96
|
+
mappings as gaps. Then read the live code
|
|
97
|
+
(codebase-memory per [`code-navigation.md`](../devrites-lib/reference/standards/code-navigation.md)); artifact mappings never prove implementation.
|
|
98
|
+
4. **Assess each unit as built / partial / absent** against the live code (the rubric is in
|
|
99
|
+
[`reference/convergence-assessment.md`](reference/convergence-assessment.md)): every
|
|
100
|
+
acceptance criterion / scenario, every plan touch-point, and every existing slice's stated
|
|
101
|
+
Produces. A principle violated in the current code is its own top-severity gap.
|
|
102
|
+
Dispatch up to three independent inventory partitions to `devrites-evidence-scout` on the
|
|
103
|
+
same live-code snapshot — build each scout's read-set once with
|
|
104
|
+
`devrites-engine context --skills-root .dsh/skills <slug> --phase converge --role evidence-scout --out
|
|
105
|
+
ctx/converge-evidence-scout.p<n>.bundle.md` and hand it the bundle path; run the wave
|
|
106
|
+
through `devrites-engine dispatch <slug> open|start|seal|return` with one lane label
|
|
107
|
+
per partition (`--role evidence-scout.p1 --role evidence-scout.p2 ...`, per
|
|
108
|
+
[`parallel-dispatch.md`](../devrites-lib/reference/parallel-dispatch.md)), which
|
|
109
|
+
auto-records dispatch/return metrics. Await their
|
|
110
|
+
dossiers, then reconcile the cited facts in the root
|
|
111
|
+
context. **Completion:** every inventory unit is classified once with live-code evidence.
|
|
112
|
+
5. **Enqueue the remainder as new slices.** For each *partial* or *absent* unit, append a
|
|
113
|
+
`## SLICE-###` (continue the numbering after the highest existing id), each with a `Satisfies:` line tracing to the AC/REQ it closes and a
|
|
114
|
+
`Convergence: <iso>` marker line. Dependency-order them after the existing slices; a
|
|
115
|
+
principle-remediation slice sorts first. **If every unit is built → append nothing.**
|
|
116
|
+
**Completion:** every partial/absent unit has one traceable appended slice, or the file is byte-for-byte unchanged.
|
|
117
|
+
6. **Write append-only + bookkeeping.** Append the slice batch to `tasks.md` (nothing else in
|
|
118
|
+
that file changes); update `traceability.md` directly with rows for only the appended slices,
|
|
119
|
+
preserving every existing row. Appending a slice changes the plan input, so invalidate the prior vet:
|
|
120
|
+
update `state.md` to `Phase: plan`, `Next step: /rite-vet`, and set an existing
|
|
121
|
+
`eng-review.md` field to `Implementation readiness: NEEDS REPLAN`. When nothing was unmet,
|
|
122
|
+
leave the plan/vet verdict untouched and set `Next step: /rite-prove`. Append
|
|
123
|
+
`decisions.md` for any material call. When slices were appended, run
|
|
124
|
+
`devrites-engine check task-graph <slug>` before invoking Vet; failure stays in
|
|
125
|
+
Converge for correction and never spends a Vet reviewer context.
|
|
126
|
+
7. **STOP.** Report units assessed, built / partial / absent / unrequested counts, slices appended, and any
|
|
127
|
+
principle violation found. A direct invocation that appended slices becomes
|
|
128
|
+
the caller for the mandated next step: save a return cursor
|
|
129
|
+
(`return_phase`/`return_next_action`) naming this Converge pass as the
|
|
130
|
+
caller, invoke `/rite-vet` inline, and consume its results — an agent-owned
|
|
131
|
+
`NEEDS REPLAN` routes to `/rite-plan` repair internally under the
|
|
132
|
+
fingerprint caps; its return lands here, never on the user. Stop only at
|
|
133
|
+
Vet's boundary (READY readback; next step `/rite-build` for the appended
|
|
134
|
+
slices). Nothing appended → recommend `/rite-prove`.
|
|
135
|
+
|
|
136
|
+
## Completion evidence (fail-closed)
|
|
137
|
+
|
|
138
|
+
Before reporting "clean" or recommending `/rite-prove`, confirm:
|
|
139
|
+
|
|
140
|
+
- [ ] Every buildable AC/REQ in the assessment inventory has a built/partial/absent
|
|
141
|
+
classification with live-code citation
|
|
142
|
+
- [ ] Every plan touch-point and existing-slice Produces is classified with live-code citation
|
|
143
|
+
- [ ] Every declared principle is checked; violations are recorded as top-severity gaps
|
|
144
|
+
- [ ] `tasks.md` is byte-for-byte unchanged when clean, or append-only when gaps exist
|
|
145
|
+
- [ ] `traceability.md` updated only for appended slices
|
|
146
|
+
- [ ] No narrative "done" without the checklist above
|
|
147
|
+
|
|
148
|
+
**Failing case:** all units marked built but one AC lacks a test or runtime citation →
|
|
149
|
+
report partial, append slice, route `/rite-vet`.
|
|
150
|
+
|
|
151
|
+
## Appended slice format
|
|
152
|
+
|
|
153
|
+
Use the complete
|
|
154
|
+
[`canonical slice grammar`](../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar)
|
|
155
|
+
with one added `Convergence:` field after `Satisfies:`:
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
<!-- Convergence 2026-07-07: slices below appended by /rite-converge — live code assessed against intent. -->
|
|
159
|
+
## SLICE-014 <name of the unmet capability>
|
|
160
|
+
Satisfies: AC-007 # the criterion / scenario this closes
|
|
161
|
+
Convergence: 2026-07-07 # marks this as a convergence-appended slice, not an original
|
|
162
|
+
<all remaining canonical slice fields>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
> **Mid-flight discipline.** Do not rewrite an existing slice, edit source, mark a
|
|
166
|
+
> happy-path-only implementation as built, or add work for a spec you suspect is wrong.
|
|
167
|
+
> See [`reference/anti-patterns.md`](reference/anti-patterns.md).
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# /rite-converge anti-patterns
|
|
2
|
+
|
|
3
|
+
Load the moment you reach for one of these excuses.
|
|
4
|
+
|
|
5
|
+
## Common rationalizations
|
|
6
|
+
|
|
7
|
+
- *"I'll just fix this existing slice instead of appending a new one."*. No. The append-only
|
|
8
|
+
rule is what makes convergence **re-runnable** and its output **auditable**: a reader diffs
|
|
9
|
+
`tasks.md` and sees exactly what this pass added. Rewriting an existing slice destroys that
|
|
10
|
+
and can silently drop coverage. Append; never edit an existing `SLICE-###`.
|
|
11
|
+
- *"The gap is tiny. I'll just patch the code while I'm here."*. No. Convergence **assesses
|
|
12
|
+
and enqueues**; `/rite-build` implements. The moment you edit application code you've skipped
|
|
13
|
+
the build's slice discipline, tests, and reviewer. Enqueue it, however small.
|
|
14
|
+
- *"It's basically built. I'll call it done."*. Happy-path-only, untested, or half-wired is
|
|
15
|
+
**partial**, not built (`convergence-assessment.md`). Rounding partial up to built is how a
|
|
16
|
+
feature ships with the edge cases that were the whole reason for the scenario.
|
|
17
|
+
- *"The code does X, the spec says Y. I'll enqueue a slice to make the code match the spec."*:
|
|
18
|
+
Only if you're sure the **spec** is right. If the code is right and the requirement is stale,
|
|
19
|
+
that's **Spec Drift**: route it through the guard, don't launder a spec bug into a code task.
|
|
20
|
+
- *"The spec has no `AC-###` ids, so there's nothing to converge."*. Assess plan touch-points
|
|
21
|
+
and existing-slice Produces directly against the code; a coverage id is convenient, not
|
|
22
|
+
required. (And flag the untagged spec so `/rite-spec` can add ids.)
|
|
23
|
+
- *"I'll rewrite the whole tasks.md to be clean while I'm at it." That is a **reslice**, and
|
|
24
|
+
it belongs to `/rite-plan`, not here. Convergence only ever *appends*.
|
|
25
|
+
|
|
26
|
+
## Red flags in your own output
|
|
27
|
+
|
|
28
|
+
- An edit to `tasks.md` that touches a line **above** the appended batch → you rewrote history.
|
|
29
|
+
Revert; append only.
|
|
30
|
+
- Any change to `spec.md`, `plan.md`, or a source file in this pass → out of scope.
|
|
31
|
+
- An appended slice with no `Satisfies:` line → it traces to nothing; either tie it to a
|
|
32
|
+
criterion/touch-point or it isn't convergence work.
|
|
33
|
+
- A "clean" report that still left a `## Convergence` header or marker in `tasks.md` → clean
|
|
34
|
+
must be **byte-for-byte unchanged**.
|
|
35
|
+
- Reusing or renumbering an existing `SLICE-###` id → ids are append-only and stable.
|