devrites 5.5.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +8 -6
- package/engine/internal/devritespaths/paths.go +3 -0
- package/engine/internal/hostpack/hostpack.go +45 -6
- package/engine/internal/hostpack/hostpack_test.go +29 -13
- package/engine/internal/install/apply.go +14 -5
- package/engine/internal/install/install.go +8 -2
- package/engine/internal/install/install_test.go +12 -5
- package/engine/internal/install/merge.go +5 -0
- package/engine/internal/install/preflight.go +20 -2
- package/engine/internal/install/uninstall.go +5 -0
- package/engine/internal/install/update.go +1 -1
- package/install.sh +107 -38
- package/pack/.claude/skills/rite-define/SKILL.md +1 -1
- package/pack/.claude/skills/rite-handoff/SKILL.md +1 -1
- package/pack/.claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/.claude/skills/rite-quick/SKILL.md +1 -1
- package/pack/.claude/skills/rite-status/SKILL.md +1 -1
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/README.md +5 -1
- package/pack/generated/claude/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-define/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-handoff/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-plan/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-pressure-test/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-quick/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-status/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-zoom-out/SKILL.md +1 -1
- package/pack/generated/pi/AGENTS.md +22 -0
- package/pack/generated/pi/agents/devrites-code-reviewer.md +142 -0
- package/pack/generated/pi/agents/devrites-devex-reviewer.md +124 -0
- package/pack/generated/pi/agents/devrites-doubt-reviewer.md +88 -0
- package/pack/generated/pi/agents/devrites-evidence-scout.md +72 -0
- package/pack/generated/pi/agents/devrites-frontend-reviewer.md +116 -0
- package/pack/generated/pi/agents/devrites-performance-reviewer.md +115 -0
- package/pack/generated/pi/agents/devrites-plan-drafter.md +99 -0
- package/pack/generated/pi/agents/devrites-plan-reviewer.md +142 -0
- package/pack/generated/pi/agents/devrites-proof-runner.md +74 -0
- package/pack/generated/pi/agents/devrites-retrospector.md +61 -0
- package/pack/generated/pi/agents/devrites-security-auditor.md +109 -0
- package/pack/generated/pi/agents/devrites-simplifier-reviewer.md +94 -0
- package/pack/generated/pi/agents/devrites-slice-wright.md +204 -0
- package/pack/generated/pi/agents/devrites-spec-reviewer.md +96 -0
- package/pack/generated/pi/agents/devrites-strategy-reviewer.md +100 -0
- package/pack/generated/pi/agents/devrites-test-analyst.md +94 -0
- package/pack/generated/pi/agents/devrites-upgrade-planner.md +89 -0
- package/pack/generated/pi/prompts/rite-adopt.md +5 -0
- package/pack/generated/pi/prompts/rite-autocomplete.md +5 -0
- package/pack/generated/pi/prompts/rite-build.md +5 -0
- package/pack/generated/pi/prompts/rite-clarify.md +5 -0
- package/pack/generated/pi/prompts/rite-converge.md +5 -0
- package/pack/generated/pi/prompts/rite-customize.md +5 -0
- package/pack/generated/pi/prompts/rite-define.md +5 -0
- package/pack/generated/pi/prompts/rite-doctor.md +5 -0
- package/pack/generated/pi/prompts/rite-dogfood.md +5 -0
- package/pack/generated/pi/prompts/rite-explain.md +5 -0
- package/pack/generated/pi/prompts/rite-frame.md +5 -0
- package/pack/generated/pi/prompts/rite-handoff.md +5 -0
- package/pack/generated/pi/prompts/rite-learn.md +5 -0
- package/pack/generated/pi/prompts/rite-plan.md +5 -0
- package/pack/generated/pi/prompts/rite-polish.md +5 -0
- package/pack/generated/pi/prompts/rite-pov.md +5 -0
- package/pack/generated/pi/prompts/rite-pr-feedback.md +5 -0
- package/pack/generated/pi/prompts/rite-pressure-test.md +5 -0
- package/pack/generated/pi/prompts/rite-prototype.md +5 -0
- package/pack/generated/pi/prompts/rite-prove.md +5 -0
- package/pack/generated/pi/prompts/rite-quick.md +5 -0
- package/pack/generated/pi/prompts/rite-resolve.md +5 -0
- package/pack/generated/pi/prompts/rite-review.md +5 -0
- package/pack/generated/pi/prompts/rite-seal.md +5 -0
- package/pack/generated/pi/prompts/rite-ship.md +5 -0
- package/pack/generated/pi/prompts/rite-spec.md +5 -0
- package/pack/generated/pi/prompts/rite-status.md +5 -0
- package/pack/generated/pi/prompts/rite-temper.md +5 -0
- package/pack/generated/pi/prompts/rite-upgrade.md +5 -0
- package/pack/generated/pi/prompts/rite-vet.md +5 -0
- package/pack/generated/pi/prompts/rite-watch-pr.md +5 -0
- package/pack/generated/pi/prompts/rite-zoom-out.md +5 -0
- package/pack/generated/pi/prompts/rite.md +5 -0
- package/pack/generated/pi/skills/devrites-api-interface/SKILL.md +63 -0
- package/pack/generated/pi/skills/devrites-audit/SKILL.md +50 -0
- package/pack/generated/pi/skills/devrites-browser-proof/SKILL.md +76 -0
- package/pack/generated/pi/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/pi/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/SKILL.md +96 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +34 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/pi/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/pi/skills/devrites-doubt/SKILL.md +79 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/SKILL.md +86 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/quality-standards.md +294 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/pi/skills/devrites-frontend-craft/reference/shape.md +56 -0
- package/pack/generated/pi/skills/devrites-interview/SKILL.md +102 -0
- package/pack/generated/pi/skills/devrites-lib/SKILL.md +58 -0
- package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/intent-map.md +64 -0
- package/pack/generated/pi/skills/devrites-lib/reference/orchestration-profiles.md +27 -0
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +73 -0
- package/pack/generated/pi/skills/devrites-lib/reference/reply-contract.md +88 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/README.md +60 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +30 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +398 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +99 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/anti-patterns.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/browser-proof-checklist.md +24 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/ci-cd.md +50 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-navigation.md +43 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/code-review.md +108 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/coding-style.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +109 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/core.md +167 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/data-integrity.md +118 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/debug-recovery.md +28 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/definition-of-done.md +19 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/deprecation.md +31 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/development-workflow.md +29 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/documentation.md +43 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/edge-case-trace.md +92 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/elicitation.md +85 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/error-handling.md +47 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/git-workflow.md +49 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/hooks.md +25 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/integration-reliability.md +102 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/loop-operations.md +85 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/observability.md +88 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/one-shot-actions.md +97 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/patterns.md +68 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/performance.md +51 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/principles.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/prose-style.md +123 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/release/ship-checklist.md +8 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/repository-topology.md +80 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/review-checklist.md +12 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security-checklist.md +25 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/security.md +202 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/skill-authoring.md +209 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/spec-grammar.md +197 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/test-proof-checklist.md +13 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/testing.md +212 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/tooling.md +92 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/workflow-artifacts.md +427 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/pi/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +267 -0
- package/pack/generated/pi/skills/devrites-prose-craft/SKILL.md +73 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/examples.md +131 -0
- package/pack/generated/pi/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/pi/skills/devrites-source-driven/SKILL.md +52 -0
- package/pack/generated/pi/skills/devrites-ux-shape/SKILL.md +134 -0
- package/pack/generated/pi/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/pi/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/pi/skills/rite/SKILL.md +148 -0
- package/pack/generated/pi/skills/rite/reference/menu.md +48 -0
- package/pack/generated/pi/skills/rite-adopt/SKILL.md +52 -0
- package/pack/generated/pi/skills/rite-adopt/reference/adoption.md +19 -0
- package/pack/generated/pi/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +132 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/decision-policy.md +41 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +148 -0
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +92 -0
- package/pack/generated/pi/skills/rite-build/SKILL.md +96 -0
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/pi/skills/rite-build/reference/anti-patterns.md +23 -0
- package/pack/generated/pi/skills/rite-build/reference/checkpoint-protocol.md +120 -0
- package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/pi/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/pi/skills/rite-build/reference/one-slice-cycle.md +50 -0
- package/pack/generated/pi/skills/rite-build/reference/output.md +33 -0
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +205 -0
- package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +87 -0
- package/pack/generated/pi/skills/rite-build/reference/spec-drift-guard.md +84 -0
- package/pack/generated/pi/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +89 -0
- package/pack/generated/pi/skills/rite-clarify/SKILL.md +99 -0
- package/pack/generated/pi/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/pi/skills/rite-clarify/reference/decision-coverage.md +55 -0
- package/pack/generated/pi/skills/rite-converge/SKILL.md +145 -0
- package/pack/generated/pi/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/pi/skills/rite-converge/reference/convergence-assessment.md +65 -0
- package/pack/generated/pi/skills/rite-customize/SKILL.md +60 -0
- package/pack/generated/pi/skills/rite-define/SKILL.md +169 -0
- package/pack/generated/pi/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/pi/skills/rite-define/reference/gates.md +154 -0
- package/pack/generated/pi/skills/rite-define/reference/plan-template.md +149 -0
- package/pack/generated/pi/skills/rite-doctor/SKILL.md +69 -0
- package/pack/generated/pi/skills/rite-dogfood/SKILL.md +55 -0
- package/pack/generated/pi/skills/rite-explain/SKILL.md +152 -0
- package/pack/generated/pi/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/pi/skills/rite-frame/SKILL.md +115 -0
- package/pack/generated/pi/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/pi/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/pi/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/pi/skills/rite-learn/SKILL.md +72 -0
- package/pack/generated/pi/skills/rite-plan/SKILL.md +186 -0
- package/pack/generated/pi/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/pi/skills/rite-plan/reference/replan-and-repair.md +105 -0
- package/pack/generated/pi/skills/rite-plan/reference/slicing.md +167 -0
- package/pack/generated/pi/skills/rite-plan/reference/task-breakdown.md +42 -0
- package/pack/generated/pi/skills/rite-polish/SKILL.md +104 -0
- package/pack/generated/pi/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/pi/skills/rite-polish/reference/anti-ai-slop.md +187 -0
- package/pack/generated/pi/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/pi/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/pi/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/pi/skills/rite-polish/reference/code.md +82 -0
- package/pack/generated/pi/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/pi/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/pi/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/pi/skills/rite-polish/reference/ledger.md +65 -0
- package/pack/generated/pi/skills/rite-polish/reference/ui.md +137 -0
- package/pack/generated/pi/skills/rite-pov/SKILL.md +58 -0
- package/pack/generated/pi/skills/rite-pr-feedback/SKILL.md +54 -0
- package/pack/generated/pi/skills/rite-pressure-test/SKILL.md +67 -0
- package/pack/generated/pi/skills/rite-prototype/SKILL.md +104 -0
- package/pack/generated/pi/skills/rite-prove/SKILL.md +120 -0
- package/pack/generated/pi/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/pi/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/pi/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/pi/skills/rite-prove/reference/failure-triage.md +43 -0
- package/pack/generated/pi/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/pi/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/pi/skills/rite-quick/SKILL.md +82 -0
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +95 -0
- package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +118 -0
- package/pack/generated/pi/skills/rite-review/SKILL.md +170 -0
- package/pack/generated/pi/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/pi/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/pi/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/pi/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/pi/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/pi/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/pi/skills/rite-review/reference/security-review.md +42 -0
- package/pack/generated/pi/skills/rite-seal/SKILL.md +75 -0
- package/pack/generated/pi/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/pi/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/pi/skills/rite-seal/reference/go-no-go.md +29 -0
- package/pack/generated/pi/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +47 -0
- package/pack/generated/pi/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/pi/skills/rite-seal/reference/seal-template.md +27 -0
- package/pack/generated/pi/skills/rite-ship/SKILL.md +88 -0
- package/pack/generated/pi/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/pi/skills/rite-ship/reference/close-out.md +68 -0
- package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +120 -0
- package/pack/generated/pi/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/pi/skills/rite-ship/reference/ship-template.md +39 -0
- package/pack/generated/pi/skills/rite-spec/SKILL.md +150 -0
- package/pack/generated/pi/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/pi/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/pi/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/pi/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/pi/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/pi/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/pi/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/pi/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/pi/skills/rite-spec/reference/spec-template.md +154 -0
- package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +227 -0
- package/pack/generated/pi/skills/rite-status/SKILL.md +57 -0
- package/pack/generated/pi/skills/rite-temper/SKILL.md +130 -0
- package/pack/generated/pi/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/pi/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/pi/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/pi/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/pi/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/pi/skills/rite-upgrade/SKILL.md +121 -0
- package/pack/generated/pi/skills/rite-vet/SKILL.md +193 -0
- package/pack/generated/pi/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/pi/skills/rite-vet/reference/artifacts.md +202 -0
- package/pack/generated/pi/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/pi/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/pi/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +201 -0
- package/pack/generated/pi/skills/rite-watch-pr/SKILL.md +85 -0
- package/pack/generated/pi/skills/rite-zoom-out/SKILL.md +69 -0
- package/package.json +3 -2
- package/scripts/build-host-artifacts.sh +100 -37
- package/scripts/pi-generate.sh +198 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Reference intake: design/style materials from the human
|
|
2
|
+
|
|
3
|
+
During spec, the human may supply screenshots, Figma, video, sites, or docs showing how the
|
|
4
|
+
feature should look or behave. When present, inspect them, save local copies, and classify
|
|
5
|
+
each as a fidelity **target**, hard **constraint**, or **inspiration** so a mood reference
|
|
6
|
+
cannot become a pixel-match contract. No references is valid; skip this intake.
|
|
7
|
+
|
|
8
|
+
## Gather + understand each reference
|
|
9
|
+
- **Images / screenshots / mockups:** open and **view** them (the Read tool renders
|
|
10
|
+
images). Describe what they show: layout, components, spacing, states, the target look.
|
|
11
|
+
- **Figma link:** if a Figma integration is available, pull its design context (frames,
|
|
12
|
+
tokens, components); otherwise record the link and ask the human for an export/screenshot
|
|
13
|
+
so there's something concrete to match offline.
|
|
14
|
+
- **Links / reference sites / docs:** fetch and read for the relevant intent (tone,
|
|
15
|
+
layout, interaction, quality bar). Capture *why* it's a reference, not just the URL.
|
|
16
|
+
- **Video:** note what it demonstrates (the expected interaction/flow). Save it; later
|
|
17
|
+
phases can step through it as tooling allows.
|
|
18
|
+
|
|
19
|
+
## Save local assets into the workspace
|
|
20
|
+
Copy any local file (screenshot, mockup, video, export) into
|
|
21
|
+
`.devrites/work/<slug>/references/` so it's durable and connectable later:
|
|
22
|
+
```
|
|
23
|
+
mkdir -p .devrites/work/<slug>/references
|
|
24
|
+
cp "<the file the human gave>" .devrites/work/<slug>/references/<clear-name>.<ext>
|
|
25
|
+
```
|
|
26
|
+
Use clear names (`login-mockup.png`, `checkout-flow.mp4`). Don't move the user's
|
|
27
|
+
original; copy it. For remote-only refs (a live Figma/URL), record the link in the index.
|
|
28
|
+
Index source/owner/license and **reference-only** or **may ship** usage; external screenshots
|
|
29
|
+
never grant rights to copy brand, copy, or assets.
|
|
30
|
+
|
|
31
|
+
## Index in `references.md`
|
|
32
|
+
```markdown
|
|
33
|
+
# References: <slug>
|
|
34
|
+
| Ref | Role | Usage / provenance | Type | Location | Shows / why it's a reference | Informs |
|
|
35
|
+
|-----|------|--------------------|------|----------|------------------------------|---------|
|
|
36
|
+
| R1 | target | project; may ship | screenshot | references/login-mockup.png | approved composition + spacing | spec UI, slice 2, proof |
|
|
37
|
+
| R2 | constraint | project; may ship | figma | https://figma.com/… | required tokens + components | all UI |
|
|
38
|
+
| R3 | target | user; reference-only | video | references/checkout-flow.mp4 | approved step order + transitions | build, proof |
|
|
39
|
+
| R4 | inspiration | external; reference-only | link | https://example.com | tone + density, not identity/layout | shape |
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Roles are normative: **target** means compare fidelity, **constraint** means satisfy the
|
|
43
|
+
named rule, and **inspiration** means extract the cited principle without copying identity,
|
|
44
|
+
composition, copy, or distinctive assets. Usage is normative too: only **may ship** assets
|
|
45
|
+
enter product code.
|
|
46
|
+
|
|
47
|
+
## Feed them into the spec + the design brief
|
|
48
|
+
- Use references to sharpen `spec.md` (UI impact, success/acceptance: e.g. "matches R1").
|
|
49
|
+
- When the feature touches UI, these references are the primary input to **`devrites-ux-shape`**
|
|
50
|
+
(spec step 3a): they anchor the design direction and can seed the visual-direction probe
|
|
51
|
+
(a Figma link → pulled design context; reference sites → screenshots). The resulting
|
|
52
|
+
`design-brief.md` cites them by R-id **and role**.
|
|
53
|
+
- A reference can *resolve a gap* ("which layout?"): record that in the gaps table.
|
|
54
|
+
- If a reference **conflicts** with the existing design system, that's an issue to raise
|
|
55
|
+
with the human (match the system, or adopt the reference: their call).
|
|
56
|
+
|
|
57
|
+
## Later phases use them (wire-through)
|
|
58
|
+
`devrites-frontend-craft` builds to the approved brief and its **target** references,
|
|
59
|
+
honors **constraints**, and uses **inspiration** only for the named principle. `/rite-prove`
|
|
60
|
+
records rendered comparisons in `browser-evidence.md`; `/rite-polish` and `/rite-seal`
|
|
61
|
+
reuse that same contract. Save and classify once here so every downstream phase makes the
|
|
62
|
+
same fidelity decision.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Spec-quality checklists
|
|
2
|
+
|
|
3
|
+
Before `/rite-define`, test requirement prose for completeness, clarity, and
|
|
4
|
+
measurability—not implementation. “Banner is prominent” lacks a threshold; ask
|
|
5
|
+
whether export defines empty data, never whether `exportCsv()` handles `[]`.
|
|
6
|
+
Function/file/library checks belong to `/rite-vet` and `/rite-prove`.
|
|
7
|
+
|
|
8
|
+
## Output: one file per requirement domain
|
|
9
|
+
|
|
10
|
+
Emit `.devrites/work/<slug>/checklists/<domain>.md` per covered domain; skip
|
|
11
|
+
`none`. Each domain maps gaps to a `devrites-interview` dimension:
|
|
12
|
+
|
|
13
|
+
| Domain file | Tests the prose of |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| `functional.md` | Functional requirements + scenarios: is each capability stated, bounded, testable? |
|
|
16
|
+
| `data-model.md` | Key entities / data model: shapes, fields, lifecycle, relationships (skip if "none"). |
|
|
17
|
+
| `interaction.md` | API / UI impact + UX states: every screen state and contract named (skip if no UI/API). |
|
|
18
|
+
| `non-functional.md` | Invariants; security/privacy/accessibility, latency/scale, compatibility, operations, and human-only proof prerequisites. |
|
|
19
|
+
| `edge-cases.md` | Empty/boundary/invalid/concurrent/failure/recovery paths plus the spec's applicability map. |
|
|
20
|
+
|
|
21
|
+
## Each item: a question, a verdict, the line it interrogates
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
# Spec checklist: <domain> — <slug>
|
|
25
|
+
Scored: <iso> Verdict: pass | gaps (<n CRITICAL / n minor>)
|
|
26
|
+
|
|
27
|
+
| # | Question (tests the requirement prose) | Verdict | Spec line | Severity |
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
| 1 | Is every quantitative qualifier ("prominent", "fast", "large") given a number or reference? | fail | "banner is prominent" | **CRITICAL** |
|
|
30
|
+
| 2 | Does each requirement name an observable outcome a test could check? | pass | REQ-001..004 | — |
|
|
31
|
+
| 3 | Are all enumerations closed — no "etc." / "and so on" / open "…"? | pass | — | — |
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Verdict: `pass | fail | n/a`. A fail is **CRITICAL** when ambiguity changes build
|
|
35
|
+
or acceptance: unquantified success, open enumeration, ambiguous data shape,
|
|
36
|
+
undefined stated-flow edge, or contradictory requirements. Other vague prose is
|
|
37
|
+
**minor**: record it; do not block.
|
|
38
|
+
|
|
39
|
+
## Question bank
|
|
40
|
+
|
|
41
|
+
Each question checks one requirement-prose failure mode:
|
|
42
|
+
|
|
43
|
+
- **Measurability:** every "good / fast / prominent / simple / secure" carries a number, a budget,
|
|
44
|
+
or a named reference. No adjective stands in for a threshold.
|
|
45
|
+
- **Completeness:** every enumeration is closed (no "etc."); every requirement with a precondition
|
|
46
|
+
states the failure branch; every entity names its required fields + lifecycle; every stated flow
|
|
47
|
+
names its empty / error / boundary behaviour.
|
|
48
|
+
- **Clarity:** one entity, one name (no `user`/`customer`/`account` drift); no requirement two
|
|
49
|
+
readers would implement differently; no "should" where "MUST" is meant.
|
|
50
|
+
- **Assumptions:** no material behavior, scope, data, security, or proof fact survives as a
|
|
51
|
+
hidden assumption; verify it or record an owned/deadlined assumption or blocking question.
|
|
52
|
+
- **Testability:** each acceptance criterion is binary and names (or clearly implies) its evidence.
|
|
53
|
+
A criterion only provable by reading code is a fail.
|
|
54
|
+
- **Consistency:** no requirement contradicts another, the data model, or a non-goal.
|
|
55
|
+
- **Stakeholders:** affected actors/operators are named; conflicting outcomes have an
|
|
56
|
+
explicit priority or decision owner rather than two simultaneously impossible promises.
|
|
57
|
+
- **Applicability:** topology, data, integration, security, UI/i18n/time zone, and
|
|
58
|
+
compatibility/delivery rows are `applies` with IDs or specifically justified `not applicable`.
|
|
59
|
+
- **Failure/recovery:** each partial, timeout, invalid, interrupted, or unavailable state
|
|
60
|
+
implied by an applicable row has a user outcome, system state, and safe retry/recovery rule.
|
|
61
|
+
- **Data:** schema/backfill/concurrency/tenant/retention implications state invariants and
|
|
62
|
+
prohibited loss/leakage; implementation detail stays for Define.
|
|
63
|
+
- **Integration:** timeout, invalid/partial response, auth/rate-limit/outage, duplicate,
|
|
64
|
+
ordering, and version-change behavior is specified when the boundary can produce it.
|
|
65
|
+
- **Preservation:** each material brownfield outcome appears in `Existing behavior
|
|
66
|
+
to preserve` with preserving REQ/AC and current evidence. Missing/vague “no
|
|
67
|
+
regressions” or unjustified `none` is CRITICAL.
|
|
68
|
+
**Failing case:** brownfield login still works but the table has no evidence column
|
|
69
|
+
→ CRITICAL until a test path, command, or observed contract is named.
|
|
70
|
+
- **Backstops:** each row names an independent held-out, property/metamorphic, or
|
|
71
|
+
direct behavioral check and the failure it discriminates; confidence/presence/self-review fail.
|
|
72
|
+
- **Non-functional:** each NFR names affected REQ/AC IDs or a bounded `global` scope;
|
|
73
|
+
human-only proof prerequisites name their owner.
|
|
74
|
+
|
|
75
|
+
## Readiness gate
|
|
76
|
+
|
|
77
|
+
The spec **Readiness gate** at the bottom of
|
|
78
|
+
[`spec-template.md`](spec-template.md) requires every
|
|
79
|
+
emitted `checklists/<domain>.md` to reach `Verdict: pass` (zero CRITICAL fails) before the gate
|
|
80
|
+
passes. Minor fails are logged, not blocking. A single open CRITICAL keeps the spec `Status: Draft`.
|
|
81
|
+
`/rite-define` reads the checklists at step 0 and **hard-blocks while any CRITICAL is
|
|
82
|
+
unchecked**. A spec without checklists is not yet checked, so define stops and routes
|
|
83
|
+
back here.
|
|
84
|
+
|
|
85
|
+
## Discipline
|
|
86
|
+
|
|
87
|
+
- Score honestly. Do not soften a checklist question to pass a weak spec.
|
|
88
|
+
- Don't pad. Five real questions that find one CRITICAL beat thirty rubber-stamped rows.
|
|
89
|
+
- If a question needs a function name, it belongs in `/rite-vet`'s `test-plan.md`.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# `spec.md` template
|
|
2
|
+
|
|
3
|
+
Contract WHAT users get, WHY, success, and scope. HOW belongs in `plan.md`,
|
|
4
|
+
topology in `architecture.md`/`flows.md`, coverage in `traceability.md`.
|
|
5
|
+
|
|
6
|
+
Use `[NEEDS CLARIFICATION: <question>]` (blocking stops `/rite-clarify`); before readiness
|
|
7
|
+
every surviving marker converts to a gated `Q-###` open question (`spec-grammar.md` §
|
|
8
|
+
Unresolved-question markers — fail closed). Stable `REQ-001`/`AC-001` IDs; link, never
|
|
9
|
+
duplicate, source artifacts; over-budget requires `Budget override: <reason>`.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Spec: <Feature>
|
|
13
|
+
Slug: <kebab-case>
|
|
14
|
+
Status: Draft | Ready
|
|
15
|
+
Created: <date>
|
|
16
|
+
|
|
17
|
+
## Problem
|
|
18
|
+
<What is broken, missing, or costly.>
|
|
19
|
+
|
|
20
|
+
## Goal
|
|
21
|
+
<User-visible outcome and why it matters.>
|
|
22
|
+
|
|
23
|
+
Capability impact: <affected capability/ies and change | none — specific justification>
|
|
24
|
+
|
|
25
|
+
## Non-goals
|
|
26
|
+
- <Explicitly out of scope.>
|
|
27
|
+
|
|
28
|
+
## Existing behavior to preserve
|
|
29
|
+
List affected observable public/security/data/operational outcomes that MUST
|
|
30
|
+
survive; map preserving REQ/AC plus current test/runtime/contract/source evidence.
|
|
31
|
+
No implementation detail. True greenfield: `none — no existing behavior in the affected scope`.
|
|
32
|
+
|
|
33
|
+
| Existing outcome | Preserved by | Current evidence |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| <outcome that must not regress> | REQ-001 / AC-001 | <current evidence> |
|
|
36
|
+
|
|
37
|
+
Each preservation row **must** cite current evidence (test, runtime, contract, or
|
|
38
|
+
observed behavior). An empty or vague evidence cell blocks Spec readiness.
|
|
39
|
+
|
|
40
|
+
**Failing case:** row lists REQ-001 with evidence "none" or "TBD" → readiness gate
|
|
41
|
+
fails until evidence is named or the outcome is removed from scope.
|
|
42
|
+
|
|
43
|
+
## Stakeholders and priorities
|
|
44
|
+
| Actor/stakeholder | Observable outcome | Conflict / priority rule |
|
|
45
|
+
| --- | --- | --- |
|
|
46
|
+
| <actor or affected owner> | <goal, protection, or operational need> | <none or how competing goals resolve> |
|
|
47
|
+
|
|
48
|
+
## Constraints and invariants
|
|
49
|
+
- INV-001: <fact that MUST remain true across success, failure, retry, and recovery>.
|
|
50
|
+
- <security/privacy/accessibility/performance/compatibility/data/operational constraint,
|
|
51
|
+
or `none — <specific reason>` for a materially relevant category>.
|
|
52
|
+
|
|
53
|
+
## Requirements
|
|
54
|
+
- REQ-001: The system MUST <observable product behavior>.
|
|
55
|
+
- REQ-002: The system MUST NOT <prohibited behavior>.
|
|
56
|
+
|
|
57
|
+
## Acceptance criteria
|
|
58
|
+
Binary/evidence-backed; each maps to a requirement and later a traceability slice.
|
|
59
|
+
|
|
60
|
+
- [ ] AC-001: Given <state>, when <action>, then <outcome>. (REQ-001)
|
|
61
|
+
- [ ] AC-002: Given <state>, when <action>, then <outcome>. (REQ-002)
|
|
62
|
+
|
|
63
|
+
Behavioral/high-risk work uses this grammar, with the AC ID inside the scenario:
|
|
64
|
+
|
|
65
|
+
### Requirement: <name>
|
|
66
|
+
The system SHALL <core observable behavior>.
|
|
67
|
+
|
|
68
|
+
#### Scenario: <name>
|
|
69
|
+
- [ ] AC-003: **WHEN** <trigger> **THEN** <observable outcome>. (REQ-001)
|
|
70
|
+
|
|
71
|
+
## Edge Coverage
|
|
72
|
+
Use `covered | backstop | dismissed | unresolved`; target an existing REQ/AC
|
|
73
|
+
unless dismissed. `backstop` requires a named independent held-out,
|
|
74
|
+
property/metamorphic, or direct behavioral check plus the wrong behavior it
|
|
75
|
+
discriminates. If unavailable, use `unresolved`; presence/prose/self-judgment cannot pass.
|
|
76
|
+
|
|
77
|
+
| Edge ID | Requirement/AC | Class | Status | Reason/backstop |
|
|
78
|
+
| --- | --- | --- | --- | --- |
|
|
79
|
+
| EDGE-001 | AC-001 | empty/error/permission/race/migration | covered | <evidence/rationale> |
|
|
80
|
+
|
|
81
|
+
## Prohibitions (must-NOT)
|
|
82
|
+
Bespoke only; generic security/privacy stays in standards. Status:
|
|
83
|
+
`resolved/test | resolved/judgment | dismissed | unresolved`.
|
|
84
|
+
|
|
85
|
+
| Prohibition ID | Requirement/AC | Status | Test/evidence |
|
|
86
|
+
| --- | --- | --- | --- |
|
|
87
|
+
| PROH-001 | REQ-002 | resolved/test | <test/evidence link> |
|
|
88
|
+
|
|
89
|
+
## Failure and recovery behavior
|
|
90
|
+
| Trigger / partial state | User-visible outcome | System state | Recovery / retry rule | Requirement/AC |
|
|
91
|
+
| --- | --- | --- | --- | --- |
|
|
92
|
+
| <timeout, invalid input, interruption, dependency loss> | <clear bounded outcome> | <unchanged/pending/reconciling> | <who/what can safely recover> | <REQ/AC> |
|
|
93
|
+
|
|
94
|
+
## Applicability map
|
|
95
|
+
Use `applies | not applicable`; a non-applicable row needs a specific reason. The
|
|
96
|
+
status routes Define/Vet/Build/Prove to the named standard without copying it here.
|
|
97
|
+
|
|
98
|
+
| Concern | Status and trigger | Affected REQ/AC/invariant |
|
|
99
|
+
| --- | --- | --- |
|
|
100
|
+
| Repository topology (nested/mono/multi-repo, languages, services, generated/vendor) | <status + reason> | <ids> |
|
|
101
|
+
| Data integrity (writes, schema/migration, concurrency, tenant, retention/privacy) | <status + reason> | <ids> |
|
|
102
|
+
| Integration reliability (API/webhook/queue/job/cache/cross-service) | <status + reason> | <ids> |
|
|
103
|
+
| Security boundary (authn/authz, hostile input/files, secrets, privilege) | <status + reason> | <ids> |
|
|
104
|
+
| UI/accessibility/i18n/time-zone behavior | <status + reason> | <ids> |
|
|
105
|
+
| Compatibility/delivery (old/new versions, config, flag, rollout/rollback) | <status + reason> | <ids> |
|
|
106
|
+
|
|
107
|
+
## Edge cases
|
|
108
|
+
- <Boundary note not captured above.>
|
|
109
|
+
|
|
110
|
+
## AI-SPEC annex
|
|
111
|
+
- Model/RAG/agent/eval/LLM-output scope: `ai-spec.md` from `ai-spec-template.md`.
|
|
112
|
+
- Otherwise: not applicable.
|
|
113
|
+
|
|
114
|
+
## Success metrics
|
|
115
|
+
- <Metric or observable proof.>
|
|
116
|
+
|
|
117
|
+
## Scope boundaries
|
|
118
|
+
- Owns: <surface/behavior>.
|
|
119
|
+
- Does not own: <adjacent area>.
|
|
120
|
+
- Placement summary: <module/layer>; full map in `architecture.md`.
|
|
121
|
+
|
|
122
|
+
## Coverage seed
|
|
123
|
+
- Actors/journeys/components: <material surfaces>.
|
|
124
|
+
- States/data/contracts/integrations: <material boundaries>.
|
|
125
|
+
- Operations/proof: <config, observability, rollout/rollback, evidence constraints>.
|
|
126
|
+
|
|
127
|
+
## References
|
|
128
|
+
- `brief.md`: request/outcome/scope; `architecture.md`: placement/integration;
|
|
129
|
+
`flows.md`: Mermaid-first diagrams (optional `visual/<flow>.html`+`.outline.md` companion
|
|
130
|
+
+ link when richer presentation earns it — load playbooks via
|
|
131
|
+
`devrites-lib/reference/visual-playbooks/index.md`); `decisions.md`: decisions;
|
|
132
|
+
`decision-coverage.md`: Clarify topology/verdict; `traceability.md`: Define coverage;
|
|
133
|
+
`design-brief.md`: UI direction.
|
|
134
|
+
|
|
135
|
+
## Open questions
|
|
136
|
+
| Question ID | Gate | Question | Impact |
|
|
137
|
+
| --- | --- | --- | --- |
|
|
138
|
+
| Q-001 | blocking | [NEEDS CLARIFICATION: <question>] | AC-001 |
|
|
139
|
+
|
|
140
|
+
## Readiness gate
|
|
141
|
+
- [ ] No blocking clarification or open `blocking`/`escalating` question; REQ/AC IDs are valid and ACs independently provable.
|
|
142
|
+
- [ ] Stakeholder conflicts/priority rules, constraints, and invariants are explicit;
|
|
143
|
+
implementation preferences are not disguised as requirements.
|
|
144
|
+
- [ ] Existing affected behavior maps to preserving REQ/AC + current evidence, or uses the exact justified greenfield `none`.
|
|
145
|
+
- [ ] Edge rows target REQ/AC or justify dismissal; every backstop names independent discriminating evidence, else `unresolved`.
|
|
146
|
+
- [ ] Prohibitions resolve/dismiss; `resolved/test` links evidence.
|
|
147
|
+
- [ ] Each material failure/partial state names user outcome, system state, recovery,
|
|
148
|
+
and REQ/AC; no silent success or blind retry remains.
|
|
149
|
+
- [ ] Every applicability row is `applies` with affected IDs or has a specific
|
|
150
|
+
evidence-backed `not applicable` reason.
|
|
151
|
+
- [ ] AI has `ai-spec.md` and UI has `design-brief.md`; out-of-scope work states not applicable.
|
|
152
|
+
- [ ] Non-goals/scope are explicit; capability impact is singular/specific and matches ledger deltas.
|
|
153
|
+
- [ ] Architecture/flows/decisions are linked, not duplicated; Coverage seed names Clarify surfaces.
|
|
154
|
+
```
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# `.devrites/` state workspace
|
|
2
|
+
|
|
3
|
+
This is the writer-facing companion to the canonical schema in
|
|
4
|
+
[`devrites-lib/reference/workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md).
|
|
5
|
+
Load that schema before creating or updating workspace artifacts.
|
|
6
|
+
|
|
7
|
+
## Layout
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
.devrites/
|
|
11
|
+
ACTIVE
|
|
12
|
+
work/
|
|
13
|
+
<feature-slug>/
|
|
14
|
+
README.md # compact workspace map
|
|
15
|
+
brief.md
|
|
16
|
+
spec.md
|
|
17
|
+
checklists/ # from /rite-spec step 5a
|
|
18
|
+
architecture.md # from /rite-define
|
|
19
|
+
flows.md # optional Mermaid-first; only when useful
|
|
20
|
+
visual/ # optional HTML+outline companions (never readiness)
|
|
21
|
+
decisions.md
|
|
22
|
+
assumptions.md
|
|
23
|
+
questions.md
|
|
24
|
+
decision-coverage.md # from /rite-clarify
|
|
25
|
+
strategy.md # from /rite-temper
|
|
26
|
+
plan.md # from /rite-define
|
|
27
|
+
tasks.md # from /rite-define
|
|
28
|
+
traceability.md # from /rite-define
|
|
29
|
+
eng-review.md # from /rite-vet
|
|
30
|
+
test-plan.md # from /rite-vet
|
|
31
|
+
state.md
|
|
32
|
+
evidence.md # from /rite-build or /rite-prove
|
|
33
|
+
browser-evidence.md # UI only
|
|
34
|
+
drift.md # drift only
|
|
35
|
+
touched-files.md # from /rite-build
|
|
36
|
+
design-brief.md # UI only
|
|
37
|
+
handoff.md # from /rite-handoff
|
|
38
|
+
references.md
|
|
39
|
+
references/
|
|
40
|
+
archive/
|
|
41
|
+
<feature-slug>/
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## `flows.md` (optional Mermaid-first)
|
|
45
|
+
|
|
46
|
+
Write `flows.md` only when sequence/state/data/lifecycle diagrams clarify the feature.
|
|
47
|
+
Keep **Mermaid in `flows.md`** when that is enough. When a richer reviewable presentation
|
|
48
|
+
is needed, **also** emit `.devrites/work/<slug>/visual/<flow>.html` +
|
|
49
|
+
`visual/<flow>.outline.md` and link the pair from `flows.md`.
|
|
50
|
+
|
|
51
|
+
Before any HTML:
|
|
52
|
+
|
|
53
|
+
1. Open matching playbooks via
|
|
54
|
+
[`../../devrites-lib/reference/visual-playbooks/index.md`](../../devrites-lib/reference/visual-playbooks/index.md)
|
|
55
|
+
(progressive; never preload all seven).
|
|
56
|
+
2. Copy required outline headings from
|
|
57
|
+
[`outline-template.md`](../../devrites-lib/reference/visual-playbooks/outline-template.md).
|
|
58
|
+
3. Dual-read: agents treat the outline as SSOT; **outline wins** on conflict. No Lavish
|
|
59
|
+
runtime; this is not a new lifecycle phase and never inflates readiness.
|
|
60
|
+
|
|
61
|
+
`/rite-spec` may seed a thin `flows.md` when investigation already needs a diagram;
|
|
62
|
+
`/rite-define` owns richer architecture/flow companions beside `architecture.md`.
|
|
63
|
+
|
|
64
|
+
## Creation rules
|
|
65
|
+
|
|
66
|
+
- Create or reuse the slug exactly under the canonical schema's
|
|
67
|
+
[Slug identity](../../devrites-lib/reference/workspace-artifact-schema.md#slug-identity)
|
|
68
|
+
contract.
|
|
69
|
+
- `/rite-spec` creates the workspace map, `brief.md`, `spec.md`, `decisions.md`,
|
|
70
|
+
`assumptions.md`, `questions.md`, `state.md`, optional `references.md` /
|
|
71
|
+
`references/`, optional `flows.md` when a diagram already clarifies investigation,
|
|
72
|
+
and optional `design-brief.md` for UI.
|
|
73
|
+
- `/rite-clarify` adds `decision-coverage.md`.
|
|
74
|
+
- `/rite-define` adds `architecture.md`, `plan.md`, `tasks.md`, and
|
|
75
|
+
`traceability.md`; may add or enrich `flows.md` and optional `visual/` HTML+outline
|
|
76
|
+
companions when Mermaid alone is not enough.
|
|
77
|
+
- `/rite-vet` adds `eng-review.md` and `test-plan.md`.
|
|
78
|
+
- Later phases add only the artifact they own. Do not create optional files as
|
|
79
|
+
empty placeholders; absence means the phase has not produced that artifact.
|
|
80
|
+
- Each artifact starts with a summary and links to deeper source files instead of
|
|
81
|
+
copying their content.
|
|
82
|
+
- Use stable IDs: `REQ-001`, `AC-001`, `EDGE-001`, `PROH-001`, `SLICE-001`,
|
|
83
|
+
`DEC-001`, `ASM-001`, `DRIFT-001`, `EVID-001`; apply the canonical schema's
|
|
84
|
+
append-only ID contract. Queued questions use `q-YYYY-MM-DD-NNN` below.
|
|
85
|
+
|
|
86
|
+
## README.md template
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
# <Feature> Workspace
|
|
90
|
+
phase: spec
|
|
91
|
+
status: running
|
|
92
|
+
next_action: /rite-clarify after spec readiness passes
|
|
93
|
+
last_updated: <date>
|
|
94
|
+
|
|
95
|
+
## Artifact map
|
|
96
|
+
| File | Job |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| brief.md | Objective and bounds |
|
|
99
|
+
| spec.md | Product contract |
|
|
100
|
+
| decision-coverage.md | Clarification verdict; absent until /rite-clarify |
|
|
101
|
+
| strategy.md | Temper record; absent until /rite-temper |
|
|
102
|
+
| architecture.md | Technical map; absent until /rite-define |
|
|
103
|
+
| plan.md | Technical approach; absent until /rite-define |
|
|
104
|
+
| tasks.md | Vertical slices; absent until /rite-define |
|
|
105
|
+
| traceability.md | Coverage dashboard; absent until /rite-define |
|
|
106
|
+
| evidence.md | Proof log; absent until /rite-build or /rite-prove |
|
|
107
|
+
|
|
108
|
+
## Read next
|
|
109
|
+
| Phase / role | Read |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| Spec | brief.md, spec.md, questions.md |
|
|
112
|
+
| Clarify | spec.md, decisions.md, assumptions.md, questions.md |
|
|
113
|
+
| Build | state.md, decision-coverage.md, eng-review.md, test-plan.md, tasks.md, plan.md |
|
|
114
|
+
| Review | traceability.md, evidence.md, decisions.md |
|
|
115
|
+
|
|
116
|
+
## Blocking gates
|
|
117
|
+
None.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## state.md template
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
# State
|
|
124
|
+
|
|
125
|
+
## Cursor
|
|
126
|
+
| Key | Value |
|
|
127
|
+
| --- | --- |
|
|
128
|
+
| phase | spec |
|
|
129
|
+
| status | running |
|
|
130
|
+
| active_slice | none |
|
|
131
|
+
| slice_mode | none |
|
|
132
|
+
| risk | none |
|
|
133
|
+
| next_action | <single command + reason, or terminal: none — technical recovery exhausted for an unchanged causal fingerprint> |
|
|
134
|
+
| return_phase | <originating later phase; clarification or agent-owned technical backtracking only> |
|
|
135
|
+
| return_next_action | <saved originating command> |
|
|
136
|
+
|
|
137
|
+
## Awaiting human
|
|
138
|
+
Only present when status is awaiting_human.
|
|
139
|
+
| Key | Value |
|
|
140
|
+
| --- | --- |
|
|
141
|
+
| question_id | q-YYYY-MM-DD-NNN |
|
|
142
|
+
| gate | blocking |
|
|
143
|
+
| blocking_slices | SLICE-001 |
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
`state.md` is a compact cursor, not a history file. Put proof in `evidence.md`,
|
|
147
|
+
decisions in `decisions.md`, assumptions in `assumptions.md`, and drift in
|
|
148
|
+
`drift.md`. Omit both `return_*` rows outside a later-phase `/rite-clarify`
|
|
149
|
+
retrofit or agent-owned technical backtracking chain.
|
|
150
|
+
|
|
151
|
+
Before an active caller moves backward, it copies its current phase and
|
|
152
|
+
non-empty action into the two return rows. Nested Plan, Vet, Build, and proof
|
|
153
|
+
work preserves that valid cursor. Once the prerequisite chain is green, the
|
|
154
|
+
controlling caller restores the saved phase/action and removes both rows in one
|
|
155
|
+
rewrite. A real HITL or exhausted-recovery stop retains the cursor for cold
|
|
156
|
+
resume. Never overwrite an existing valid return cursor, and preserve every
|
|
157
|
+
unrelated Markdown byte. `/rite-clarify` applies its stricter native cursor protocol in `/rite-clarify`.
|
|
158
|
+
|
|
159
|
+
On cold resume, a terminal `next_action` is a claim to verify, not a counter.
|
|
160
|
+
Reconcile the exact fingerprint and its attempts in `drift.md` / `evidence.md`.
|
|
161
|
+
If a consumptive action retained a distinct fingerprint below the no-progress
|
|
162
|
+
cap, rewrite the cursor into caller-owned recovery and preserve or reconstruct
|
|
163
|
+
the return rows only from the current phase and approved recorded action. The
|
|
164
|
+
spent action authorization blocks another execution, not that rewrite.
|
|
165
|
+
|
|
166
|
+
`afk_slices_remaining` is mutable runtime state, not `.devrites/AFK`
|
|
167
|
+
configuration. Only the controlling root writes it under the shared
|
|
168
|
+
[`afk-hitl.md`](../../devrites-lib/reference/standards/afk-hitl.md#the-sentinel-devritesafk)
|
|
169
|
+
contract and Build's
|
|
170
|
+
[`afk-discipline.md`](../../rite-build/reference/afk-discipline.md#iteration-cap).
|
|
171
|
+
Ordinary workspace creation preserves the field without initializing,
|
|
172
|
+
increasing, renaming, or deleting it. Released bullet workspaces spell it `AFK
|
|
173
|
+
slices remaining`; preserve that presentation rather than migrating it.
|
|
174
|
+
|
|
175
|
+
When the brief records a [sequence continuation](../../rite-plan/reference/slicing.md#continuation-workspaces),
|
|
176
|
+
seed the `sequence_parent`, `sequence_position`, `sequence_workspaces_remaining`,
|
|
177
|
+
and — for the release entry — `sequence_role` rows at creation per that contract.
|
|
178
|
+
Without them `state merge-manifest` cannot walk the chain and the release-union
|
|
179
|
+
gate never engages.
|
|
180
|
+
|
|
181
|
+
## questions.md entry format
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
## q-YYYY-MM-DD-NNN
|
|
185
|
+
status: open | answered | dropped
|
|
186
|
+
slice: spec | plan | SLICE-001
|
|
187
|
+
gate: advisory | validating | blocking | escalating
|
|
188
|
+
route: <specialist tag> (escalating only; omit otherwise)
|
|
189
|
+
question: <one crisp sentence>
|
|
190
|
+
options:
|
|
191
|
+
1. <recommended> (Recommended) - <trade-off>
|
|
192
|
+
2. <alternative> - <trade-off>
|
|
193
|
+
proposed: <best current answer>
|
|
194
|
+
raised_at: <iso>
|
|
195
|
+
answered_at:
|
|
196
|
+
answer:
|
|
197
|
+
impact: <affected AC/REQ/slice IDs>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
No open blocking/escalating question may remain before define/build/prove gates.
|
|
201
|
+
For a new entry, scan every `## q-YYYY-MM-DD-NNN` header for the current date,
|
|
202
|
+
choose one above the highest suffix (or `001` when none exist), advancing until
|
|
203
|
+
it is unused, then re-read
|
|
204
|
+
`questions.md` immediately before the append and recompute. If the candidate is
|
|
205
|
+
no longer unused, retry the scan; never reserve or derive it with an engine
|
|
206
|
+
command.
|
|
207
|
+
|
|
208
|
+
## brief.md template
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
# Brief: <Feature>
|
|
212
|
+
|
|
213
|
+
## Objective
|
|
214
|
+
<One sentence.>
|
|
215
|
+
|
|
216
|
+
## Non-goals
|
|
217
|
+
- <Explicitly out of scope.>
|
|
218
|
+
|
|
219
|
+
## Success definition
|
|
220
|
+
<One sentence that says what "done" means.>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Compactness
|
|
224
|
+
|
|
225
|
+
High-traffic files should stay within the budgets in
|
|
226
|
+
`workspace-artifact-schema.md`. If a file truly must exceed its budget, add
|
|
227
|
+
`Budget override: <reason>` near the top.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rite-status
|
|
3
|
+
description: "User-invoked read-only active-feature report: phase, active slice, next action, evidence, open questions, drift, risks, and handoff readiness."
|
|
4
|
+
argument-hint: "[feature-slug]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /rite-status: active feature status
|
|
10
|
+
|
|
11
|
+
Read-only. Report the active workspace; do not run a phase or write files.
|
|
12
|
+
|
|
13
|
+
## Load
|
|
14
|
+
|
|
15
|
+
Use the supplied slug or `.devrites/ACTIVE`; require its authoritative
|
|
16
|
+
`state.md` and read the cursor directly. Read question, evidence, and risk
|
|
17
|
+
artifacts only as needed. Never infer lifecycle state from `README.md` or chat.
|
|
18
|
+
|
|
19
|
+
If no workspace exists: when archived workspaces record an unfinished
|
|
20
|
+
[continuation sequence](../rite-plan/reference/slicing.md#continuation-workspaces),
|
|
21
|
+
list each next command (`/rite-spec <parent>-<n> "<objective>"`); otherwise
|
|
22
|
+
recommend `/rite-spec <feature>`. Then stop.
|
|
23
|
+
|
|
24
|
+
If `state.md` is unreadable/malformed: report a gap with the defect and stop — never infer the phase from other files; `/rite-doctor`/`/rite-upgrade` own repair.
|
|
25
|
+
|
|
26
|
+
## Report
|
|
27
|
+
|
|
28
|
+
1. feature and one-line objective;
|
|
29
|
+
2. phase, run mode, and active slice;
|
|
30
|
+
3. status from `state.md`;
|
|
31
|
+
4. the single `Next step` recorded in `state.md`;
|
|
32
|
+
5. proven versus unproven evidence;
|
|
33
|
+
6. open questions by gate, including the exact resolving command when awaiting
|
|
34
|
+
a human; list `gate: escalating` entries separately under **Escalating:**
|
|
35
|
+
with their `route:` specialist tag (do not mix with synchronous blockers);
|
|
36
|
+
7. unresolved drift and material risks;
|
|
37
|
+
8. handoff readiness.
|
|
38
|
+
|
|
39
|
+
A workspace is handoff-ready when it records one next action, all unresolved
|
|
40
|
+
questions, non-obvious decisions, load-bearing assumptions, current drift
|
|
41
|
+
status, and evidence for its claims. If chat contains missing durable context,
|
|
42
|
+
recommend `/rite-handoff` before the lifecycle command.
|
|
43
|
+
|
|
44
|
+
Do not derive a command from host identity or invent one from phase names. Read
|
|
45
|
+
the persisted `Next step`.
|
|
46
|
+
|
|
47
|
+
## Output
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Feature: <slug> — <objective>
|
|
51
|
+
Phase: <phase>; slice: <slice|n/a>; mode: <HITL|AFK>; status: <status>
|
|
52
|
+
Evidence: <fresh/proven summary | gaps>
|
|
53
|
+
Open: <questions/drift/blockers | none>
|
|
54
|
+
Escalating: <qid route:tag … | none>
|
|
55
|
+
Handoff: <ready | missing durable context>
|
|
56
|
+
Next: <single persisted command>
|
|
57
|
+
```
|