Imported from ViktorsBaikers/DevRites (
pack/generated/pi/skills/rite-build/SKILL.md). Install upstream withnpx skills add ViktorsBaikers/DevRites --skill rite-build. Copyright stays with the author.
/rite-build: one verified slice
HITL stops; a later user invocation starts the next slice.
Explicit .devrites/AFK alone lets the controlling root chain under green proof,
caps and pause rules. Every wright returns after one slice.
Opt-in: /rite-build --parallel N (2≤N≤10; N=1≡serial) follows
reference/parallel-batch.md
(one-slice-cycle.md).
Root owns gates/bookkeeping; fresh
devrites-slice-wright writes source/tests.
Workflow Artifacts use
workflow-artifacts.md.
Execute reference/phase-contract.md
(one-slice-cycle.md,
afk-discipline.md); dispatch uses
reference/wright-dispatch.md.
Required rules
Read .pi/skills/devrites-lib/reference/standards/core.md first. Load only triggered rules:
coding/error/testing/tdd.md/patterns/DoD; binding
.devrites/principles.md; security; topology; data integrity; integration reliability.
Wright applies anti-slop; root verifies returns and never patches source.
Invariants
- Default: one slice; writers serial on control. Parallel only via
--parallel Nunderreference/parallel-batch.md. Same-worktree multi-writer / root-emulated concurrency forbidden. Native-worktree pilot = single-slice isolation whenwright-dispatch.mdpreflight + reconcile hold. - Exact feature scope only; reject out-of-allowlist diffs; record adjacent issues.
- Re-prove affected behavior after edits; reuse observations only under evidence validity.
- Unplanned dependency/design-system/gap/repair → Vet/Spec Drift Guard batch sweep: every contract-assumption violation recorded before one folded repair+vet. Ask only for licensing/cost/security/product or explicit architecture-policy decisions.
- Root never edits product source/tests (
.devrites/+ Workflow Artifact only). Wright is sole product writer; extras in returned paths/git diff --name-onlyhard-stop. - Principles bind; irreversible conflict needs human exception or stop.
- Evidence beats confidence. Never weaken tests, skip TDD, widen writers, or
self-approve. Drift →
spec-drift-guard.md; checkpoint →checkpoint.md. - Async readiness waits during slice work follow
debug-recovery.md(bounded poll + last-signal artifact; no blind sleep as primary strategy).
Workflow Artifact branch
--parallel N (opt-in)
Omitted/1 ≡ serial; 2–10 is a cap — the root runs the largest eligible
path-disjoint set it can start now (N_eff), takes fewer when the cap cannot be
filled, and recomputes after every integrate until no pending slice remains
(parallel-batch.md § Dynamic selection).
Unattended runs (/rite-autocomplete, .devrites/AFK max_parallel) repeat batches
inside the same run; HITL stops after each batch. Non-integer/N≤0/N>10 hard refuse.
All-green serial integrate; a red/gap sibling gets a bounded repair round in
its own worktree — never rebuilt from scratch while budget remains.
Post-writer inventory and affected rechecks follow phase-contract.md § Independent
Build review; fold accounts before one repair-all wright.
Plan-owned gaps still route through Spec Drift Guard
(batch sweep, one folded plan repair + one vet recheck inline); do not emit
a human Fix. Exhausted repair blocks and preserves everything;
cleanup --force salvages slice branches before removing worktrees —
human-gated to abandon a batch, orchestrator-emitted only as the salvage
step of an automatic frozen-lease re-batch.
AFK charges after integrate only. Running lease blocks another
/rite-build. Details: parallel-batch.md.
Execute and reply
Run every step in reference/phase-contract.md: readiness, one target, dispatch
or canonical transaction, return inspection, independent code/doubt/test analysis,
approved fail-on-red proof, record, AFK accounting, and stop. Use
reference/output.md plus the shared
reply contract. HITL never starts
the next slice automatically; AFK obeys remaining budget; Prove requires all slices built.
Phase exit
Complete when: the dispatched wright returns green proof for the slice,
git diff --name-only ⊆ allowlist, independent test analysis admits no Critical
gap, and state.md cursor advances with recorded evidence paths.
Failing case: wright reports "done" but proof command was not executed or failed → slice incomplete; do not advance cursor.