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,114 @@
|
|
|
1
|
+
# Re-plan & repair modes
|
|
2
|
+
|
|
3
|
+
`/rite-plan` runs in one of these modes. Pick from `$ARGUMENTS` or infer from state.
|
|
4
|
+
|
|
5
|
+
Authority: `.dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md`.
|
|
6
|
+
|
|
7
|
+
<!-- BEGIN RESLICE ROUTE-TO-ACTION -->
|
|
8
|
+
- `FOLD` → reconcile `architecture.md`, `plan.md`, `tasks.md`, and `traceability.md` atomically; invalidate Vet/readiness; Vet.
|
|
9
|
+
- `GUARD_AND_REPAIR` → no planning writes; Spec Drift Guard → Clarify → Plan repair → Vet.
|
|
10
|
+
- `BLOCKED_INPUT` → no planning writes; exact diagnostic; recover input; reclassify.
|
|
11
|
+
<!-- END RESLICE ROUTE-TO-ACTION -->
|
|
12
|
+
|
|
13
|
+
## decompose
|
|
14
|
+
|
|
15
|
+
First (or fresh) breakdown into vertical slices. Use `task-breakdown.md` +
|
|
16
|
+
`slicing.md`. Output: a populated `tasks.md` and an ordered `plan.md` graph.
|
|
17
|
+
|
|
18
|
+
## reslice
|
|
19
|
+
|
|
20
|
+
A slice proved too large (couldn't build+prove in one cycle, or its goal has multiple
|
|
21
|
+
"and"s). Split into thinner end-to-end slices, preserving acceptance coverage: split
|
|
22
|
+
**by the sizing rule, not to a target count**. Update `tasks.md` under the canonical
|
|
23
|
+
[ID contract](../../devrites-lib/reference/workspace-artifact-schema.md#id-contract):
|
|
24
|
+
preserve unaffected IDs; never renumber or fill retired gaps. New meanings get the
|
|
25
|
+
next unused IDs; record relationships in `decisions.md` or `drift.md` before updating
|
|
26
|
+
downstream dependency edges and traceability.
|
|
27
|
+
|
|
28
|
+
## repair (after Spec Drift Guard)
|
|
29
|
+
|
|
30
|
+
A drift event stopped the build. Steps:
|
|
31
|
+
|
|
32
|
+
1. Read the `drift.md` entries and their classifications. Fold EVERY open entry
|
|
33
|
+
and accepted finding for the affected artifacts in ONE pass, never serially.
|
|
34
|
+
2. If the user answered a drift question, encode that decision in `decisions.md`.
|
|
35
|
+
Fold each `decisions.md` carry-forward constraint into `Prior-slice learnings`
|
|
36
|
+
of the remaining slices it affects.
|
|
37
|
+
3. Update `spec.md` (only the affected sections) and `plan.md`/`tasks.md` to match
|
|
38
|
+
reality. Fix acceptance wording only when its meaning stays the same. An
|
|
39
|
+
acceptance meaning change needs a user directive or a recorded user decision
|
|
40
|
+
([provenance](../../devrites-lib/reference/standards/acceptance-preserving-reslice.md));
|
|
41
|
+
without one, ask with a recommended option. **Failing case:** root rewords an
|
|
42
|
+
AC so a bound may be exceeded, records its own decision, and sends it to Vet.
|
|
43
|
+
**Write the pointer, not the history.** Name the findings a fold closes by ID, one line
|
|
44
|
+
of meaning each; never restate prior folds, prior DEC lists, or closed-round narrative in
|
|
45
|
+
`architecture.md`/`plan.md`/`tasks.md`/`traceability.md`. That text belongs in
|
|
46
|
+
`decisions.md`, or in `history/` via [Budget relocation](#revise) once closed, so each
|
|
47
|
+
fold appends a bounded line. A banner that grows with the round count is the defect.
|
|
48
|
+
4. Mark each `drift.md` entry **resolved** with the resolution + date.
|
|
49
|
+
5. **Self-check and self-attack the repaired candidate on the delta before
|
|
50
|
+
handoff** — re-verify every invariant the correction touched (acyclic
|
|
51
|
+
dependency graph, bidirectional traceability, Shared contract proof vs
|
|
52
|
+
boundary set, sizing, no correction-created regression), then probe the
|
|
53
|
+
delta against the reviewers' attack classes (race/observation windows,
|
|
54
|
+
alias escapes, ordering gaps, capability gaps, unbounded blocking,
|
|
55
|
+
happy-path-only coverage); fold a fix or a named bounded residual into
|
|
56
|
+
the same pass. Record both in the Plan
|
|
57
|
+
checkpoint; Vet's recheck verifies it rather than rediscovering the defect a
|
|
58
|
+
loop later.
|
|
59
|
+
6. Resume at the corrected slice.
|
|
60
|
+
Never quietly delete a requirement; use the marked action before contract edits.
|
|
61
|
+
|
|
62
|
+
## reorder
|
|
63
|
+
|
|
64
|
+
Dependency order is wrong or suboptimal. Recompute the graph (`dependency-graph.md`),
|
|
65
|
+
re-sort risk-first within tiers, update `plan.md`'s implementation order.
|
|
66
|
+
|
|
67
|
+
## split (backend/frontend contract)
|
|
68
|
+
|
|
69
|
+
A slice couples two sides too tightly. Define the contract first (shape, status codes,
|
|
70
|
+
errors: `devrites-api-interface`), then split into a backend slice (can land with a
|
|
71
|
+
stub consumer) and a frontend slice (can land against a mock/real contract).
|
|
72
|
+
|
|
73
|
+
## unblock
|
|
74
|
+
|
|
75
|
+
An exhausted fingerprint blocks diagnosis, not symptom. Route around/reslice; escalate
|
|
76
|
+
only for scope change. If proof removed that cause but symptom remains, keep the dead
|
|
77
|
+
end and plan a new diagnosis/proof fingerprint. Never clear/reuse old one.
|
|
78
|
+
|
|
79
|
+
## course-correct
|
|
80
|
+
|
|
81
|
+
Mid-build user pivot. Apply the marked action, choose rollback or forward-fix, and
|
|
82
|
+
update permitted artifacts atomically (`MVP cut` is the named retreat). Invalidate
|
|
83
|
+
Vet/readiness when contract or topology changes.
|
|
84
|
+
|
|
85
|
+
**Feature-ceiling cut.** When unbuilt slices exceed the
|
|
86
|
+
[feature ceiling](slicing.md#feature-ceiling-split-an-epic-never-override-the-budget),
|
|
87
|
+
`MVP cut` keeps the built slices plus the thinnest shippable unbuilt subset here; the
|
|
88
|
+
remaining slices, their REQ/AC IDs and proof rows move verbatim into a named
|
|
89
|
+
continuation list (spec `Non-goals` → future `/rite-spec <slug>-2`, `-3`, …) through
|
|
90
|
+
the Spec Drift Guard. IDs never renumber; each ID is owned by exactly one workspace.
|
|
91
|
+
Record the sequence once in `decisions.md`.
|
|
92
|
+
|
|
93
|
+
## revise
|
|
94
|
+
|
|
95
|
+
Artifact-only reconciliation of `spec.md`, `architecture.md`, `plan.md`, `tasks.md`,
|
|
96
|
+
or `traceability.md` — never source. Propose/confirm the file set first. A neutral workspace
|
|
97
|
+
edit is authorized by explicit `/rite-upgrade` with a `repairable` assessment, or, for budget
|
|
98
|
+
relocation only, by the phase owner when `orient` reports `over: true`.
|
|
99
|
+
|
|
100
|
+
Unchanged acceptance/behavior with non-equivalent `proposed_coverage` is a
|
|
101
|
+
contradictory input: the canonical classifier blocks it — there is no fourth
|
|
102
|
+
route (see [`acceptance-preserving-reslice.md`](../../devrites-lib/reference/standards/acceptance-preserving-reslice.md)).
|
|
103
|
+
|
|
104
|
+
**Budget relocation** (authorized as above): move checkpoint narrative, historical fold text and
|
|
105
|
+
closed-round accounts verbatim from `state.md`/`tasks.md`/`plan.md`/`architecture.md`/
|
|
106
|
+
`eng-review.md` into `history/<file>-<YYYYMMDD>.md`, packets/accounts from the root
|
|
107
|
+
into `packets/`, leaving a one-line pointer. Cursor, live slices, open findings, IDs,
|
|
108
|
+
answers, decisions and bindings stay unchanged; nothing is deleted or reworded.
|
|
109
|
+
Re-emit the readiness binding when a readiness input moved.
|
|
110
|
+
|
|
111
|
+
## Always
|
|
112
|
+
|
|
113
|
+
Update `state.md` (phase, next step) and append a dated line to `decisions.md`
|
|
114
|
+
explaining *why* the plan changed. Preserve mapped-action decisions.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Slicing
|
|
2
|
+
|
|
3
|
+
DevRites builds in **thin vertical slices**: each slice cuts through every layer it
|
|
4
|
+
needs (data → logic → API → UI) and leaves the system in a working, testable state.
|
|
5
|
+
|
|
6
|
+
## Vertical, not horizontal
|
|
7
|
+
Horizontal layering delays integration feedback. Vertical slicing delivers a usable path:
|
|
8
|
+
```
|
|
9
|
+
SLICE-001: Create a task (DB + API + minimal UI) -> user can create + test passes
|
|
10
|
+
SLICE-002: List tasks (query + API + UI) -> user can see them
|
|
11
|
+
SLICE-003: Edit a task (update + API + UI) -> user can modify
|
|
12
|
+
SLICE-004: Delete a task (delete + API + UI + confirm) -> full CRUD
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Sizing a slice
|
|
16
|
+
A slice is the right size when it:
|
|
17
|
+
- delivers one observable capability end-to-end;
|
|
18
|
+
- can finish its writer, independent review, and slice proof within `/rite-build`;
|
|
19
|
+
- has acceptance criteria you can verify with evidence;
|
|
20
|
+
- can be rolled back on its own;
|
|
21
|
+
- is worth its own review gate: a reviewer could meaningfully reject *this* slice while
|
|
22
|
+
approving its neighbor. If two slices can only pass or fail together, they're one slice.
|
|
23
|
+
|
|
24
|
+
Size by independent invariants, failure modes, and proof seams, not file count or
|
|
25
|
+
the word "and". Split independently acceptable/provable responsibilities; several
|
|
26
|
+
files may serve one inseparable capability. Full feature `/rite-prove` follows all
|
|
27
|
+
slices; slice proof never replaces final integration or acceptance proof.
|
|
28
|
+
|
|
29
|
+
For `Complexity` and irreducible boundaries, use the canonical
|
|
30
|
+
[`tasks.md` slice grammar](../../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar).
|
|
31
|
+
Keep the smallest cut that stands alone end-to-end; do not add slices or gates for
|
|
32
|
+
fragments that can only pass together. No slice size guarantees first-pass correctness.
|
|
33
|
+
|
|
34
|
+
## How many slices?: derive, don't dictate
|
|
35
|
+
The slice **count is an output, not an input.** It falls out of the work: one slice per
|
|
36
|
+
independently-shippable vertical increment that satisfies one (or a tight group of)
|
|
37
|
+
acceptance criteria and passes the sizing test above. A 2-criterion feature is 1-2 slices;
|
|
38
|
+
a 12-criterion feature is however many thin end-to-end cuts those 12 need.
|
|
39
|
+
|
|
40
|
+
- **Never slice to a target number.** Don't pad a small feature into "5 slices" or
|
|
41
|
+
compress a large one into "3" because a figure was named.
|
|
42
|
+
- **A user-supplied count is a hint at most.** If the user says "do it in 4", slice the
|
|
43
|
+
work logically first; if your honest decomposition differs, present the logical count
|
|
44
|
+
and *why*, then let them redirect: don't silently force their number.
|
|
45
|
+
- **Re-size by the rule, not the tally** (`/rite-plan reslice`): split a slice because it
|
|
46
|
+
failed the sizing test, not to hit a count.
|
|
47
|
+
|
|
48
|
+
`.devrites/AFK` `max_slices` limits unattended execution, never plan decomposition.
|
|
49
|
+
|
|
50
|
+
## Feature ceiling: split an epic, never override the budget
|
|
51
|
+
|
|
52
|
+
The derived count is also a size signal. A decomposition that cannot fit the
|
|
53
|
+
`tasks.md` / `plan.md` / `traceability.md` budgets in
|
|
54
|
+
[`workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md)
|
|
55
|
+
(about ten canonical slices) is an epic: every Vet/Doubt/Build review re-reads the
|
|
56
|
+
whole surface, each round finds new material, and the loop never converges.
|
|
57
|
+
`Budget override` never covers slice or acceptance-criteria count.
|
|
58
|
+
|
|
59
|
+
- Keep the thinnest independently shippable subset here; the rest becomes spec
|
|
60
|
+
`Non-goals` (via the Spec Drift Guard), each continuation a named future `/rite-spec`
|
|
61
|
+
workspace. Record the sequence once in `decisions.md`.
|
|
62
|
+
- Acceptance-preserving: every REQ/AC keeps its ID, owned by exactly one workspace.
|
|
63
|
+
- Earliest owner wins: Temper's one-sentence test → Define/Plan decomposition → Vet §0
|
|
64
|
+
scope finding → `/rite-plan course-correct` (`MVP cut`). Mid-build, unbuilt slices
|
|
65
|
+
beyond the ceiling move; built slices stay.
|
|
66
|
+
- The ceiling bounds one **workspace**, never the product: the sequence delivers every
|
|
67
|
+
slice, in order, each with its own Vet/Build/Review loop. A human may still accept a
|
|
68
|
+
single larger workspace by recording the decision in `decisions.md` and a bounded
|
|
69
|
+
`Budget override: <=N lines; <reason>` (N at most 2x the budget; past that only
|
|
70
|
+
relocation to history/ or a split) in the affected artifacts; the extra review rounds on the whole
|
|
71
|
+
surface are then the accepted, named cost. The deterministic gate
|
|
72
|
+
(`check readiness`/`check seal`) blocks only a material overshoot without such an
|
|
73
|
+
override, so the choice stays explicit rather than accidental.
|
|
74
|
+
|
|
75
|
+
### Continuation workspaces
|
|
76
|
+
|
|
77
|
+
Granularity is a real cost choice, not a formality: a workspace costs ~8–12 fixed
|
|
78
|
+
dispatches (drafter, plan reviewer, proof runner, spec/code reviewers, seal roster;
|
|
79
|
+
Temper is skippable when the parent's `strategy.md` already covers the scope) plus
|
|
80
|
+
~3–5 per slice. The split does not remove per-slice cost; it bounds each round's
|
|
81
|
+
context, stops the non-convergent whole-surface loop, isolates a plan defect's blast
|
|
82
|
+
radius to its own workspace, and lets independent continuations run in parallel.
|
|
83
|
+
|
|
84
|
+
Make each continuation cheap and drift-free:
|
|
85
|
+
|
|
86
|
+
- `brief.md` names the parent slug and the sequence position; `decisions.md` holds the
|
|
87
|
+
sequence once (in the parent).
|
|
88
|
+
- The child's `state.md` seeds the durable cursor at creation — `sequence_parent` =
|
|
89
|
+
parent slug, `sequence_position` = parent position + 1,
|
|
90
|
+
`sequence_workspaces_remaining` = parent remaining − 1, and `sequence_role:
|
|
91
|
+
release` only when the recorded entry is the sequence's release milestone.
|
|
92
|
+
Values derive from the parent's `state.md` and its `decisions.md` record,
|
|
93
|
+
exactly once; resume re-derives the same values rather than charging again.
|
|
94
|
+
A workspace that is not a recorded continuation leaves all four rows absent.
|
|
95
|
+
This is what `state merge-manifest` walks and what the release-union gate reads,
|
|
96
|
+
so a manually opened continuation needs the same seeding as an armed run.
|
|
97
|
+
- Read the parent's `architecture.md`, `plan.md`, `decisions.md` (or its archived copy)
|
|
98
|
+
as **design input** — never re-derive settled architecture, dependency choices, or
|
|
99
|
+
interfaces. Proof is always fresh for the new candidate; parent evidence is cited as
|
|
100
|
+
input, never as proof for this workspace.
|
|
101
|
+
- Shared interfaces, data shapes, and contracts are pinned **once**, in the workspace
|
|
102
|
+
that introduces them, and referenced afterwards. A continuation that must change a
|
|
103
|
+
pinned contract does so through its own `plan.md` shared-contract proof and an ADR
|
|
104
|
+
that names the superseded owner — never by silently re-deciding it.
|
|
105
|
+
- A request that names a recorded continuation is a new workspace, not
|
|
106
|
+
`/rite-plan revise` on the parent.
|
|
107
|
+
- Phases chain automatically only **inside** one workspace (`/rite-autocomplete`
|
|
108
|
+
drives spec → clarify → temper → define → vet → build × slices → prove → polish →
|
|
109
|
+
review → seal; plain HITL chains plan↔vet inline and stops at each other boundary).
|
|
110
|
+
HITL: next continuation is a new invocation. Autocomplete chains it
|
|
111
|
+
(Deferred-ship) unless `continue_sequence: false`.
|
|
112
|
+
|
|
113
|
+
### Release milestone (full-picture gate)
|
|
114
|
+
|
|
115
|
+
Milestone gates are feature-scoped: `prove` proves *that* workspace's acceptance,
|
|
116
|
+
`review`/`seal` judge *that* candidate. A product release therefore needs one more
|
|
117
|
+
workspace — the **release milestone** — planned last, whose subject is the assembled
|
|
118
|
+
product:
|
|
119
|
+
|
|
120
|
+
- Its ACs are product-level: cross-milestone integration, end-to-end journeys,
|
|
121
|
+
performance/release budgets, docs/rollout. Milestone ACs stay owned by their
|
|
122
|
+
milestones and are **referenced** here, never re-owned.
|
|
123
|
+
- Its candidate manifest lists the union of shipped surfaces, so one `prove` → `review`
|
|
124
|
+
→ `seal` binds the whole product, and one `ship` commits/pushes/tags the release.
|
|
125
|
+
Its `state.md` cursor carries `sequence_role: release` (seeded when the recorded
|
|
126
|
+
continuation is the sequence's release entry); `check candidate`/`check seal`
|
|
127
|
+
then require the manifest to cover the whole recorded chain. Build that union
|
|
128
|
+
deterministically: `devrites-engine state merge-manifest <release-slug>` walks
|
|
129
|
+
the recorded `sequence_parent` chain (live `work/` first, then `archive/`) and
|
|
130
|
+
folds every predecessor's manifest into the release `## Candidate manifest`;
|
|
131
|
+
on a path collision the later sequence position's row wins. An explicit
|
|
132
|
+
ordered `<pred>...` argument exists for chains recorded before the sequence
|
|
133
|
+
cursor fields.
|
|
134
|
+
- Earlier milestones keep their own slice-level proof and their own prove/review/seal;
|
|
135
|
+
that is what stops a late defect from invalidating 170 slices of work. Skipping a
|
|
136
|
+
milestone's proof is allowed only by recording the decision — the release milestone
|
|
137
|
+
then carries the full acceptance burden, and that cost is the named trade-off.
|
|
138
|
+
- The capability ledger (`.devrites/specs/<capability>/spec.md`) accumulates the
|
|
139
|
+
product picture across milestones; Polish folds each milestone's deltas.
|
|
140
|
+
- **Deferred-ship sequence** (autocomplete default; `.devrites/AFK` `max_workspaces: N`):
|
|
141
|
+
milestones are sealed but not shipped, and the armed run opens the next recorded
|
|
142
|
+
continuation automatically; local `WIP(<slug>):` checkpoints still land with
|
|
143
|
+
human summaries (never a slice id),
|
|
144
|
+
so the tree stays clean. One release ship at the end collapses the sequence's
|
|
145
|
+
checkpoints into the single release commit, pushes/tags it, and may archive the
|
|
146
|
+
sealed predecessors. Because no milestone boundary was shipped, later work can touch
|
|
147
|
+
an earlier milestone's surfaces without an affected-re-proof trigger — so the release
|
|
148
|
+
milestone re-proves the union acceptance map, and that full re-proof is this mode's
|
|
149
|
+
named cost. Trade-off against per-milestone ship: no shared-history rollback point
|
|
150
|
+
per increment, one Git approval at the end.
|
|
151
|
+
- What is full-surface here is the **review**: reviewers see the whole product diff.
|
|
152
|
+
Re-proof stays targeted — this milestone's product ACs, everything a later milestone
|
|
153
|
+
touched, and any uncertain closure. Milestone evidence is cited only under
|
|
154
|
+
[evidence validity](../../devrites-lib/reference/candidate-integrity.md#evidence-validity)
|
|
155
|
+
with explicit unchanged-input/dependency justification and a link to the original
|
|
156
|
+
account; a blind re-proof of every milestone AC is a recorded decision, not a default.
|
|
157
|
+
|
|
158
|
+
## First slice
|
|
159
|
+
Make slice 1 the **thinnest useful end-to-end path**. It flushes out integration and
|
|
160
|
+
convention surprises early, while changes are cheap.
|
|
161
|
+
|
|
162
|
+
**Risk-first exception.** When the biggest risk is a technical *unknown*: "will this library
|
|
163
|
+
even do X?", "can we hit the latency target?": let slice 1 (or a throwaway spike ahead of it)
|
|
164
|
+
prove that unknown, even if it isn't the thinnest user-facing path. Fail the risky bet first,
|
|
165
|
+
while pivoting is still cheap.
|
|
166
|
+
|
|
167
|
+
## Slice independence
|
|
168
|
+
Order by dependency, but minimize coupling. A slice that needs three other slices first
|
|
169
|
+
is a smell: look for a thinner cut that stands alone. An edge exists only when this slice
|
|
170
|
+
reads something the other produces: write it as `SLICE-001 (via <interface>)`. If you
|
|
171
|
+
cannot name what crosses, drop the edge; a shallow, wide graph runs in parallel.
|
|
172
|
+
|
|
173
|
+
Slices sharing a file never build side by side: put a hub file's shared edit
|
|
174
|
+
(registry, command table, test harness) in one seam slice the others depend on.
|
|
175
|
+
`check task-graph` prints the `schedule:`, `ADVISORY hub:` and `ADVISORY chain:` lines.
|
|
176
|
+
A `chain` line means only one slice was ever ready, so the DAG rather than the cap
|
|
177
|
+
serializes: cut a slice that stands alone, or record `Serial rationale: <why>`.
|
|
178
|
+
`check task-graph <slug> --strict` refuses a plan whose shared path carries `ADVISORY hub:`
|
|
179
|
+
writers, so a contended plan must split disjointly instead of widening the cap.
|
|
180
|
+
Never merge slices or drop acceptance to widen it.
|
|
181
|
+
|
|
182
|
+
## Deferred slice
|
|
183
|
+
A slice with `Satisfies: none` is an optional follow-up: plan-invented hardening or
|
|
184
|
+
owner-moved scope kept with its preserved source and contracts. It carries no acceptance
|
|
185
|
+
(every AC still maps to a required slice), is never dispatched (`check slice` refuses
|
|
186
|
+
it), and never counts toward "all slices built", Prove, or Seal. The owner elects it
|
|
187
|
+
later through a plan change that gives it an AC.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Task breakdown
|
|
2
|
+
|
|
3
|
+
How to turn a spec into ordered, vertical slices in `tasks.md`.
|
|
4
|
+
|
|
5
|
+
## Each slice is one task
|
|
6
|
+
|
|
7
|
+
Use the complete canonical grammar in
|
|
8
|
+
[`workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md#canonical-slice-grammar).
|
|
9
|
+
This reference owns decomposition; the shared schema owns field names and meanings.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
1. List the capabilities the spec promises.
|
|
13
|
+
2. Map each to a vertical slice (thinnest end-to-end cut).
|
|
14
|
+
3. Order by dependency; risk-first within a tier (do the scary slice early while it's
|
|
15
|
+
cheap to change).
|
|
16
|
+
4. Mark which slices touch UI (→ frontend craft + browser proof), map each to the design
|
|
17
|
+
brief states, and give each a binary visual acceptance target. Mark which slices cross
|
|
18
|
+
a module/service boundary (→ `devrites-api-interface`, `devrites-doubt`). For a changed
|
|
19
|
+
provider/consumer boundary, map the plan's `Shared contract proof` artifact before its
|
|
20
|
+
provider- and consumer-side asserting tests; both tests consume that same artifact and
|
|
21
|
+
their slice dependencies preserve the order. Do not duplicate the contract in each slice.
|
|
22
|
+
For each applicable topology/data/integration row, assign its owner, failure/recovery
|
|
23
|
+
case, and proof to a slice; preserve deployment/resource ordering from the plan.
|
|
24
|
+
5. Write or update `traceability.md` so every `AC-###` maps to ≥1 `SLICE-###`, a
|
|
25
|
+
planned proof, evidence status, and likely touched files.
|
|
26
|
+
6. Sanity check: every acceptance criterion in `spec.md` maps to ≥1 slice; no slice has
|
|
27
|
+
an unowned criterion.
|
|
28
|
+
7. Resolve every foreseeable human-owned checkpoint now. Keep a build-time checkpoint only
|
|
29
|
+
when it needs evidence unavailable before code or mandatory action-time approval, and say why.
|
|
30
|
+
8. Make every `Tests/proof` entry executable: exact command, working directory, prerequisites,
|
|
31
|
+
expected signal, and mutable inputs whose provenance evidence must bind. Source the command
|
|
32
|
+
from `devrites-engine detect commands` output where a slot resolves; an `unresolved` slot
|
|
33
|
+
means the plan names the concrete command explicitly, never an invented one.
|
|
34
|
+
|
|
35
|
+
## Keep it honest
|
|
36
|
+
- **Interfaces prevent cross-slice drift.** A slice-wright sees only its own contract; the
|
|
37
|
+
`Interfaces` line is how it learns the names and types neighboring slices use. A function
|
|
38
|
+
called `clearLayers()` in slice 3 and `clearFullLayers()` in slice 7 is a planning bug:
|
|
39
|
+
name shared symbols once, here.
|
|
40
|
+
- Don't pre-write code in the task: describe the outcome, not the implementation.
|
|
41
|
+
- **Read the fields, not the title.** A slice fails Vet (`kind: contract`, Important, field
|
|
42
|
+
quoted) when its `Goal` or `Done condition` names an activity instead of an observable end
|
|
43
|
+
state ("implement backend", "add tests", "handle errors", "wire up UI"); when a no-op or
|
|
44
|
+
wrong diff could meet the `Done condition` ("tests pass", "works correctly"); or when
|
|
45
|
+
`Tests/proof` names no specific test or assertion ("run the suite"). **Failing case:**
|
|
46
|
+
`Goal: Implement export backend · Done condition: tests pass · Tests/proof: go test ./...`.
|
|
47
|
+
- Don't bundle "while we're here" work into a slice. That's scope creep; log it as a
|
|
48
|
+
follow-up instead.
|
|
49
|
+
- Don't slice to a target number: the count comes from the capabilities + the sizing
|
|
50
|
+
rule (`slicing.md`), not a figure anyone named.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-polish
|
|
3
|
+
description: Polish the active feature's code and any touched UI before review. Use for finish or normalization requests; not for repository-wide refactors.
|
|
4
|
+
argument-hint: "[target | bolder | quieter | distill | harden | normalize-only]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/candidate-integrity.md","rite-polish/reference/code.md","rite-polish/reference/anti-patterns.md","rite-polish/reference/anti-ai-slop.md","rite-polish/reference/harden-checklist.md","rite-polish/reference/ledger.md","rite-build/reference/checkpoint.md"],"triggers":{"adr":["rite-polish/reference/adr-promotion.md"],"agents":["devrites-lib/reference/standards/agents.md"],"backend":["rite-polish/reference/backend-polish.md"],"coding":["devrites-lib/reference/standards/coding-style.md","devrites-lib/reference/standards/duplicate-code.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"ui":["rite-polish/reference/ui.md","rite-polish/reference/design-memory.md","rite-polish/reference/design-system-discovery.md","rite-polish/reference/browser-polish-evidence.md","devrites-lib/reference/standards/browser-proof-checklist.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","design-brief.md","browser-evidence.md","polish-report.md"],"workspaceByRole":{"slice-wright":["spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","design-brief.md"]},"rootOnly":["rite-build/reference/checkpoint.md"]} -->
|
|
9
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --phase polish` 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-polish: finish before review
|
|
13
|
+
|
|
14
|
+
Polish code for every feature. When the feature touches UI, normalize and polish the
|
|
15
|
+
UI as well. Complete this self-review before `/rite-review`. The code and UI phases
|
|
16
|
+
live in [`reference/code.md`](reference/code.md)
|
|
17
|
+
([`anti-ai-slop.md`](reference/anti-ai-slop.md),
|
|
18
|
+
[`backend-polish.md`](reference/backend-polish.md))
|
|
19
|
+
and [`reference/ui.md`](reference/ui.md)
|
|
20
|
+
([`browser-polish-evidence.md`](reference/browser-polish-evidence.md),
|
|
21
|
+
[`design-system-discovery.md`](reference/design-system-discovery.md),
|
|
22
|
+
[`harden-checklist.md`](reference/harden-checklist.md));
|
|
23
|
+
read only the phase in scope.
|
|
24
|
+
|
|
25
|
+
## Operating rules
|
|
26
|
+
|
|
27
|
+
- **Functionality complete first.** Polish runs after `/rite-prove` (full
|
|
28
|
+
feature proven).
|
|
29
|
+
- Follow the shared
|
|
30
|
+
[`candidate-integrity.md`](../devrites-lib/reference/candidate-integrity.md).
|
|
31
|
+
Polish owns every candidate-affecting correction and durable rollup before Review.
|
|
32
|
+
- Feature scope only.
|
|
33
|
+
- For UI, **normalize before polishing**. Do not add decoration on top of drift.
|
|
34
|
+
- **Bounded polish passes.** Verification runs in bounded passes, not a loop: after the
|
|
35
|
+
Phase 4 assessment, at most one more correction round for **new** findings, then stop —
|
|
36
|
+
residual subjective preference is recorded in `polish-report.md`, not re-polished.
|
|
37
|
+
**Failing case:** the same surface reopened a third time with no new failing evidence.
|
|
38
|
+
- **Root selects; wright edits.** The controlling chat assesses and reconciles, but every
|
|
39
|
+
accepted source/test correction is dispatched to the sole writer,
|
|
40
|
+
`devrites-slice-wright`, through
|
|
41
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md). Never edit source inline or
|
|
42
|
+
run two correction writers concurrently.
|
|
43
|
+
|
|
44
|
+
## Polish axes (C3 — completeness vs craft)
|
|
45
|
+
|
|
46
|
+
Score **separately**; conflating them hides gaps:
|
|
47
|
+
|
|
48
|
+
| Axis | Question | Failing case |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| **ux_coverage** | Did we compare every stated alternative/state? | Omitted empty/error state treated as agreement |
|
|
51
|
+
| **completeness** | Are required states, copy, and flows present? | Hero-only layout with no loading/error |
|
|
52
|
+
| **craft / anti-slop** | Does the UI avoid generic template patterns? | Inter + purple gradient hero with no product-specific hierarchy |
|
|
53
|
+
| **distinction** | Is there one intentional signature detail? | Polished but indistinguishable from a template |
|
|
54
|
+
|
|
55
|
+
Incomplete comparison is **not** agreement. Record axis deltas in `polish-report.md`.
|
|
56
|
+
|
|
57
|
+
## Orchestration
|
|
58
|
+
|
|
59
|
+
0. **Read** `.dsh/skills/devrites-lib/reference/standards/core.md` first (the always-on operating rules). The
|
|
60
|
+
per-phase rule files ([`coding-style.md`](../devrites-lib/reference/standards/coding-style.md), [`error-handling.md`](../devrites-lib/reference/standards/error-handling.md), …) load on demand
|
|
61
|
+
from `reference/code.md` / `reference/ui.md` when their phase runs; for UI scope also read
|
|
62
|
+
`.dsh/skills/devrites-lib/reference/standards/browser-proof-checklist.md`.
|
|
63
|
+
Then read the explicit or active workspace's `state.md` directly.
|
|
64
|
+
1. **Read** `state.md`, `touched-files.md`, the current candidate digest, and the
|
|
65
|
+
`git diff` for the active workspace (or `$ARGUMENTS` if a target was given).
|
|
66
|
+
2. **Detect UI scope:** UI is touched when the diff changes rendered output:
|
|
67
|
+
markup, template, style, design token, client component, or a visible string
|
|
68
|
+
(including an API error message shown in the UI). These paths are leads to
|
|
69
|
+
inspect, not the predicate: `.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`,
|
|
70
|
+
`.scss`, `.sass`, `.less`, `.styl`, component dirs (`components/`,
|
|
71
|
+
`pages/`, `routes/`, `app/`, `views/`, `screens/`), Storybook stories,
|
|
72
|
+
or design-token files; when in doubt whether output changes, treat it as UI
|
|
73
|
+
scope. A diff with no rendered-output change records
|
|
74
|
+
`UI scope: none (no rendered output)` and skips Phases 3–4; non-visual client
|
|
75
|
+
code still gets frontend engineering review (`devrites-code-reviewer` frontend lane).
|
|
76
|
+
**Failing case:** an `app/services/billing.rb` diff opens Phase 4 and demands
|
|
77
|
+
captures.
|
|
78
|
+
3. **Always** read [`reference/code.md`](reference/code.md) and assess **Phase 1
|
|
79
|
+
(code polish)**; if backend was touched, assess **Phase 2 (backend polish)** from
|
|
80
|
+
the same file. Assess step 4's UI phases on the same frozen digest while the
|
|
81
|
+
code assessment runs, reconcile both, then send every accepted code and UI
|
|
82
|
+
correction as one bounded wright contract (normalize corrections before polish
|
|
83
|
+
ones): build its read-set with
|
|
84
|
+
`devrites-engine context --skills-root .dsh/skills <slug> --phase polish --role slice-wright`, run the
|
|
85
|
+
single-agent wave through `devrites-engine dispatch <slug> open|start|seal|return`
|
|
86
|
+
(auto-records dispatch/return metrics; `open` passes `--claim-session <id>` and one
|
|
87
|
+
`--claim <path>` per contract path, so the root-edit tripwire attributes its edits), and gate returned paths
|
|
88
|
+
with `devrites-engine check diff-scope <slug> --allow <contract-paths>` before
|
|
89
|
+
proof.
|
|
90
|
+
4. **If UI scope detected** read [`reference/ui.md`](reference/ui.md), and read
|
|
91
|
+
`design-brief.md` if present so the polish follows the direction and states established
|
|
92
|
+
by `devrites-ux-shape` and refined by `devrites-frontend-craft`. **Read the
|
|
93
|
+
`## Visual Verdict` table in `browser-evidence.md` if present:
|
|
94
|
+
its `FAIL` and `PARTIAL` rows are the normalize/quality-bar worklist**: identify the root
|
|
95
|
+
cause of each (a missing state, an off-token CTA, or an anti-slop hit) rather than
|
|
96
|
+
hiding it with decoration. Assess **Phase 3 (normalize)** → **Phase 4 (UI polish)**,
|
|
97
|
+
and fold accepted UI
|
|
98
|
+
corrections into step 3's single wright contract (the wright invokes the relevant craft skill). Honor argument modes:
|
|
99
|
+
- `bolder | quieter | distill | harden`: passed to Phase 4 as the
|
|
100
|
+
emphasis dial.
|
|
101
|
+
- `normalize-only`: assess Phase 3 and stop (no Phase 4).
|
|
102
|
+
5. **Finish durable rollups before Review.** Apply the capability
|
|
103
|
+
[`ledger`](reference/ledger.md) when requirements changed, the optional UI
|
|
104
|
+
[`design memory`](reference/design-memory.md), and durable
|
|
105
|
+
[`ADR promotion`](reference/adr-promotion.md). Add every changed project path
|
|
106
|
+
to the candidate manifest and record each root-written ADR or `DESIGN.md` path the
|
|
107
|
+
tripwire flags (`check candidate` names it) with `devrites-engine dispatch <slug> attribute --reason "polish rollup" --path <path>`;
|
|
108
|
+
none of these writes waits for Ship.
|
|
109
|
+
6. **Re-prove and close.** After all accepted code/UI corrections and rollups,
|
|
110
|
+
run `devrites-engine check candidate <slug>` and `devrites-engine check
|
|
111
|
+
windows <slug>` — an unwaived deferral marker surfaces here, not at Seal.
|
|
112
|
+
Any digest change requires
|
|
113
|
+
affected real re-proof using the approved commands, fresh proof-runner
|
|
114
|
+
validation, refreshed evidence/browser bindings, and an updated candidate
|
|
115
|
+
manifest. Record a **`Re-verification:`** line in `polish-report.md`. Close
|
|
116
|
+
the candidate for Review only after these checks are green. Then checkpoint
|
|
117
|
+
remaining candidate diffs per
|
|
118
|
+
[`checkpoint.md`](../rite-build/reference/checkpoint.md).
|
|
119
|
+
7. **Aggregate output:** each phase appends to the single `polish-report.md`.
|
|
120
|
+
|
|
121
|
+
## Refinement modes
|
|
122
|
+
|
|
123
|
+
Pass the requested UI direction to Phase 4. Modes do not bypass normalization or the
|
|
124
|
+
quality bar; they apply after the system is aligned. See `reference/ui.md`.
|
|
125
|
+
|
|
126
|
+
> **Mid-flight discipline.** When tempted to polish UI without normalize, cite
|
|
127
|
+
> clean lint as proof of quality, skip Phase 2 on a backend diff, or delete a
|
|
128
|
+
> Chesterton's Fence: see [anti-patterns](reference/anti-patterns.md).
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# ADR promotion
|
|
2
|
+
|
|
3
|
+
During Polish, promote a `decisions.md` architecture/interface choice only when it is
|
|
4
|
+
hard to reverse, surprising without context, and a real trade-off. Otherwise leave it in
|
|
5
|
+
the archived workspace. If the project has no `docs/adr/`, ask before creating that
|
|
6
|
+
convention.
|
|
7
|
+
|
|
8
|
+
Write the next append-only `docs/adr/ADR-NNN.md` with Context, Decision, Status
|
|
9
|
+
`accepted`, and Consequences. Never rewrite an accepted ADR; supersede it with a linked
|
|
10
|
+
new ADR. Add it to the candidate manifest, run affected real re-proof, and refresh evidence
|
|
11
|
+
and browser bindings before Review. Ship performs no ADR promotion.
|