devrites 7.2.8 → 7.3.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 +32 -0
- package/README.md +1 -1
- package/docs/candidate-integrity.md +10 -0
- package/docs/cli.md +7 -1
- package/docs/command-map.md +5 -2
- package/docs/engine/commands.md +28 -4
- package/docs/orchestration.md +26 -13
- package/docs/skills.md +5 -0
- package/engine/internal/acceptance/cli.go +27 -26
- package/engine/internal/acceptance/preconditions.go +1 -1
- package/engine/internal/acceptance/run.go +42 -16
- package/engine/internal/acceptance/transcript.go +236 -45
- package/engine/internal/devritespaths/paths.go +16 -3
- package/engine/internal/gate/gate.go +6 -0
- package/engine/internal/lib/candidate.go +20 -7
- package/engine/internal/lib/candidate_coverage.go +2 -19
- package/engine/internal/lib/closeout.go +16 -4
- package/engine/internal/lib/context.go +64 -45
- package/engine/internal/lib/context_io.go +171 -0
- package/engine/internal/lib/detect.go +8 -8
- package/engine/internal/lib/dispatch.go +2 -0
- package/engine/internal/lib/packet.go +37 -7
- package/engine/internal/lib/packet_freeze.go +60 -12
- package/engine/internal/lib/packet_integrity.go +179 -0
- package/engine/internal/lib/perturb.go +3 -3
- package/engine/internal/lib/slicecheck.go +7 -1
- package/engine/internal/lib/taskgraph.go +20 -36
- package/engine/internal/lib/triggers.go +28 -29
- package/engine/internal/lib/workspace_pool.go +330 -0
- package/engine/internal/parallel/cli.go +190 -49
- package/engine/internal/parallel/git.go +47 -14
- package/engine/internal/parallel/landing.go +232 -0
- package/engine/internal/parallel/lease.go +97 -18
- package/engine/internal/parallel/ops.go +312 -155
- package/engine/internal/parallel/pathdisjoint.go +48 -4
- package/engine/internal/parallel/prune.go +133 -0
- package/engine/internal/parallel/repository.go +239 -0
- package/engine/internal/parallel/select.go +64 -42
- package/engine/main.go +2 -1
- package/pack/.claude/agents/devrites-proof-runner.md +16 -9
- package/pack/.claude/skills/devrites-lib/SKILL.md +2 -0
- package/pack/.claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/.claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/.claude/skills/rite-build/SKILL.md +13 -10
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/.claude/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/.claude/skills/rite-clarify/SKILL.md +2 -2
- package/pack/.claude/skills/rite-converge/SKILL.md +4 -4
- package/pack/.claude/skills/rite-define/SKILL.md +7 -3
- package/pack/.claude/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/.claude/skills/rite-plan/SKILL.md +11 -8
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/.claude/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/.claude/skills/rite-polish/SKILL.md +3 -3
- package/pack/.claude/skills/rite-prove/SKILL.md +9 -5
- package/pack/.claude/skills/rite-resolve/SKILL.md +3 -3
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/.claude/skills/rite-review/SKILL.md +4 -3
- package/pack/.claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/.claude/skills/rite-seal/SKILL.md +1 -1
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/.claude/skills/rite-ship/SKILL.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/.claude/skills/rite-spec/SKILL.md +8 -5
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/.claude/skills/rite-temper/SKILL.md +3 -3
- package/pack/.claude/skills/rite-vet/SKILL.md +9 -5
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/claude/agents/devrites-proof-runner.md +16 -9
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/claude/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/claude/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/claude/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/claude/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/claude/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/claude/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/claude/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/claude/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/claude/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/claude/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/claude/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/claude/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/claude/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/claude/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/codex/agents/devrites-proof-runner.toml +16 -9
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/codex/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/codex/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/codex/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/codex/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/codex/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/codex/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/codex/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/codex/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/codex/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/codex/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/codex/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/codex/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/codex/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/codex/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/codex/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/devin/agents/devrites-proof-runner.md +16 -9
- package/pack/generated/devin/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/devin/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/devin/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/devin/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/devin/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/devin/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/devin/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/devin/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/devin/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/devin/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/devin/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/devin/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/devin/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/devin/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/devin/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/devin/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/devin/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/devin/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/devin/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/devin/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/devin/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/devin/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/devin/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/devin/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/devin/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/devin/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/devin/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/devin/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/devin/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/devin/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/devin/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/devin/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/devin/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/devin/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/devin/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/devin/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/devin/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/devin/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/dsh/agents/devrites-proof-runner.md +16 -9
- package/pack/generated/dsh/runtime/cordis.patch.yml +1 -1
- package/pack/generated/dsh/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/dsh/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/dsh/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/dsh/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/dsh/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/dsh/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/dsh/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/dsh/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/dsh/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/dsh/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/dsh/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/dsh/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/dsh/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/dsh/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/dsh/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/omp/agents/devrites-proof-runner.md +16 -9
- package/pack/generated/omp/commands/rite-build.md +1 -1
- package/pack/generated/omp/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/omp/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/omp/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/omp/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/omp/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/omp/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/omp/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/omp/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/omp/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/omp/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/omp/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/omp/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/omp/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/omp/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/omp/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/omp/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/omp/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/omp/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/omp/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/omp/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/omp/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/omp/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/omp/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/omp/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/omp/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/omp/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/omp/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/omp/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/omp/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/omp/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/omp/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/omp/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/omp/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/omp/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/omp/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/omp/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/omp/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/omp/skills/rite-vet/reference/review-axes.md +12 -5
- package/pack/generated/pi/agents/devrites-proof-runner.md +16 -9
- package/pack/generated/pi/prompts/rite-build.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/SKILL.md +2 -0
- package/pack/generated/pi/skills/devrites-lib/reference/candidate-integrity.md +7 -3
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-dispatch.md +3 -0
- package/pack/generated/pi/skills/devrites-lib/reference/parallel-workspaces.md +202 -0
- package/pack/generated/pi/skills/devrites-lib/reference/standards/afk-hitl.md +9 -12
- package/pack/generated/pi/skills/devrites-lib/reference/standards/agents.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/context-hygiene.md +1 -1
- package/pack/generated/pi/skills/devrites-lib/reference/standards/gates.md +18 -9
- package/pack/generated/pi/skills/devrites-lib/reference/workspace-artifact-schema.md +10 -0
- package/pack/generated/pi/skills/rite-autocomplete/SKILL.md +13 -10
- package/pack/generated/pi/skills/rite-autocomplete/reference/lookahead.md +4 -4
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +13 -9
- package/pack/generated/pi/skills/rite-build/SKILL.md +13 -10
- package/pack/generated/pi/skills/rite-build/reference/afk-discipline.md +1 -1
- package/pack/generated/pi/skills/rite-build/reference/checkpoint.md +1 -1
- package/pack/generated/pi/skills/rite-build/reference/parallel-batch.md +57 -36
- package/pack/generated/pi/skills/rite-build/reference/phase-contract.md +8 -5
- package/pack/generated/pi/skills/rite-build/reference/wright-dispatch.md +7 -7
- package/pack/generated/pi/skills/rite-clarify/SKILL.md +2 -2
- package/pack/generated/pi/skills/rite-converge/SKILL.md +4 -4
- package/pack/generated/pi/skills/rite-define/SKILL.md +7 -3
- package/pack/generated/pi/skills/rite-define/reference/plan-template.md +4 -2
- package/pack/generated/pi/skills/rite-plan/SKILL.md +11 -8
- package/pack/generated/pi/skills/rite-plan/reference/dependency-graph.md +9 -2
- package/pack/generated/pi/skills/rite-plan/reference/slicing.md +2 -0
- package/pack/generated/pi/skills/rite-polish/SKILL.md +3 -3
- package/pack/generated/pi/skills/rite-prove/SKILL.md +9 -5
- package/pack/generated/pi/skills/rite-resolve/SKILL.md +3 -3
- package/pack/generated/pi/skills/rite-resolve/reference/answer-protocol.md +2 -0
- package/pack/generated/pi/skills/rite-review/SKILL.md +4 -3
- package/pack/generated/pi/skills/rite-review/reference/feature-scoped-review.md +2 -2
- package/pack/generated/pi/skills/rite-seal/SKILL.md +1 -1
- package/pack/generated/pi/skills/rite-seal/reference/phase-contract.md +1 -1
- package/pack/generated/pi/skills/rite-ship/SKILL.md +2 -2
- package/pack/generated/pi/skills/rite-ship/reference/git-ship.md +2 -2
- package/pack/generated/pi/skills/rite-spec/SKILL.md +8 -5
- package/pack/generated/pi/skills/rite-spec/reference/state-workspace.md +5 -0
- package/pack/generated/pi/skills/rite-temper/SKILL.md +3 -3
- package/pack/generated/pi/skills/rite-vet/SKILL.md +9 -5
- package/pack/generated/pi/skills/rite-vet/reference/review-axes.md +12 -5
- package/package.json +1 -1
|
@@ -47,7 +47,7 @@ Required review rosters and final proof remain. Preserve protected history uncha
|
|
|
47
47
|
a compact current view references originals without omitting active requirements.
|
|
48
48
|
|
|
49
49
|
**Compaction fallback:** after compaction or a resumed session, always run
|
|
50
|
-
`devrites-engine handoff
|
|
50
|
+
`devrites-engine handoff <source> --resume` first for the selected source per [phase target binding](../parallel-workspaces.md#phase-target-binding) — one
|
|
51
51
|
deterministic resume record reduced from durable artifacts (cursor, `awaiting_human`,
|
|
52
52
|
open `questions.md` gates, the `gates.md` reduction with unmet/stale ids,
|
|
53
53
|
`decisions.md` dead ends, in-flight dispatch waves, and the read-next order over
|
|
@@ -65,11 +65,18 @@ their optional `Run at` cell, writing the same transcripts.
|
|
|
65
65
|
Execution contract: the command runs through the platform shell in the named
|
|
66
66
|
directory with a bounded timeout; pass requires exit 0 **and** output matching
|
|
67
67
|
EXPECT. Without `--transcripts`, output is captured but never persisted, only its
|
|
68
|
-
digest. `--transcripts` writes
|
|
69
|
-
`references/gates/<gate-id
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
`OUTPUT_SHA256`
|
|
68
|
+
digest. `--transcripts` atomically writes a private v2 executed record under
|
|
69
|
+
`references/gates/<gate-id>/`, or returns a verified original record for reuse
|
|
70
|
+
without rewriting its historical candidate labels. Metadata and output mask
|
|
71
|
+
known credential shapes; output is capped at 1 MiB. `DEFINITION_SHA256` binds the
|
|
72
|
+
oracle, `OUTPUT_SHA256`/`OUTPUT_BYTES` describe original output, and the final
|
|
73
|
+
`TRANSCRIPT_SHA256` hashes all preceding record bytes for drift detection.
|
|
74
|
+
Do not rehash redacted/truncated output as though it were original output.
|
|
75
|
+
Reuse requires a complete passing executed origin matching current definition,
|
|
76
|
+
output identity and declared inputs, plus current command approval. Missing,
|
|
77
|
+
corrupt, legacy v1 or reuse-only records rerun only affected approved checks;
|
|
78
|
+
missing approval blocks even when an old checkbox remains met. A record checksum
|
|
79
|
+
detects drift; it is not a signature or proof of honest execution.
|
|
73
80
|
|
|
74
81
|
After Vet READY the runnable set is fixed: converting a runnable gate to manual,
|
|
75
82
|
loosening EXPECT, changing CHECK or CWD, adding or narrowing INPUTS, or removing
|
|
@@ -115,10 +122,12 @@ devrites-engine gates attest <slug> <id> <note> record human evidence on a man
|
|
|
115
122
|
devrites-engine gates abandon <slug> <id> <why> record a terminal ABANDON handoff
|
|
116
123
|
```
|
|
117
124
|
|
|
118
|
-
Run/reverify
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
Run/reverify serialize execution, origin lookup and transcript publication under
|
|
126
|
+
the gates lock; the feature lock is held only for input acquisition and ledger
|
|
127
|
+
writeback. Results whose gate definition moved are discarded. Unchanged declared
|
|
128
|
+
inputs may reuse proof even under reverify; a reused result is never execution.
|
|
129
|
+
If non-file prerequisites changed or proof is doubtful, invalidate affected
|
|
130
|
+
automatic evidence through the single-writer protocol before approved rerun.
|
|
122
131
|
|
|
123
132
|
## Oracle quality (`gates lint`)
|
|
124
133
|
|
|
@@ -223,6 +223,7 @@ SLA: <15m | 4h | 24h | none>
|
|
|
223
223
|
Checkpoint: <question + why it needs unavailable pre-code evidence or action-time approval | none>
|
|
224
224
|
Dependencies: <SLICE-### (via <interface it consumes>) list | none>
|
|
225
225
|
depends_on: [<SLICE-### IDs>]
|
|
226
|
+
Workspace dependencies: <none | comma-separated <workspace-slug>/SLICE-### producer refs>
|
|
226
227
|
Consumes / Produces: <interfaces read and exposed>
|
|
227
228
|
Known-Gotchas: <ordering hazards and framework footguns | none>
|
|
228
229
|
Prior-slice learnings: <constraints learned earlier | none>
|
|
@@ -245,6 +246,15 @@ Done condition: <checkable, exhaustive completion criterion>
|
|
|
245
246
|
|
|
246
247
|
`depends_on` is the machine-readable mirror of `Dependencies`; keep the sets
|
|
247
248
|
identical and cycle-free. Each dependency names what crosses it (`check task-graph` advises).
|
|
249
|
+
`Workspace dependencies` records cross-workspace producer prerequisites, separate
|
|
250
|
+
from local `Dependencies`/`depends_on`. Define/Plan writes it after native interface,
|
|
251
|
+
assumption, runtime-resource and proof-independence review; Vet approves the current
|
|
252
|
+
bound declaration. `none` is explicit, not inferred from paths or local edges.
|
|
253
|
+
Only durably BUILT/integrated producer checkpoints satisfy refs, including valid
|
|
254
|
+
archived predecessors; unknown/malformed refs or cycles withhold unsafe work.
|
|
255
|
+
Missing field on a legacy future plan requires narrow Plan/Vet repair before
|
|
256
|
+
early admission, not rejection of existing local/standalone execution. The global
|
|
257
|
+
controller procedure lives only in [`parallel-workspaces.md`](parallel-workspaces.md).
|
|
248
258
|
Define and `/rite-plan` repair write `Prior-slice learnings`, folding Build's
|
|
249
259
|
`decisions.md` carry-forward constraints; Build never edits `tasks.md`. `Gate`, `SLA`, and `Checkpoint` are required for HITL
|
|
250
260
|
slices; use `none` when they do not apply. Complexity above 3 triggers reslicing
|
|
@@ -5,7 +5,7 @@ argument-hint: "[idea] [--ship|--yolo] [--max-slices N] [--parallel N] [--full]
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/one-shot-actions.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/acceptance-preserving-reslice.md","rite-autocomplete/reference/decision-policy.md","rite-autocomplete/reference/loop.md","rite-autocomplete/reference/stop-conditions.md"],"triggers":{"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"],"lookahead":["rite-autocomplete/reference/lookahead.md"]},"workspace":["state.md","spec.md","plan.md","tasks.md","questions.md","decisions.md","drift.md","evidence.md","test-plan.md"],"rootOnly":["devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/standards/workflow-artifacts.md","rite-autocomplete/reference/lookahead.md"]} -->
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/one-shot-actions.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/acceptance-preserving-reslice.md","rite-autocomplete/reference/decision-policy.md","rite-autocomplete/reference/loop.md","rite-autocomplete/reference/stop-conditions.md"],"triggers":{"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"],"lookahead":["rite-autocomplete/reference/lookahead.md"]},"workspace":["state.md","spec.md","plan.md","tasks.md","questions.md","decisions.md","drift.md","evidence.md","test-plan.md"],"rootOnly":["devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/orchestration-profiles.md","devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/workflow-artifacts.md","rite-autocomplete/reference/lookahead.md"]} -->
|
|
9
9
|
> Read-set manifest: `devrites-engine context <slug> --phase autocomplete` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
10
|
|
|
11
11
|
|
|
@@ -86,7 +86,7 @@ With `--lookahead` (trigger `lookahead`), follow
|
|
|
86
86
|
[`lookahead.md`](reference/lookahead.md) instead of the steps below: plan the
|
|
87
87
|
next sequence continuation through Vet in a second session, then stop.
|
|
88
88
|
|
|
89
|
-
1. **Orient and parse.** Resolve
|
|
89
|
+
1. **Orient and parse.** Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding); when a workspace exists,
|
|
90
90
|
require its `state.md` and read its cursor; a fresh idea starts empty at step 2.
|
|
91
91
|
Before honoring `blocked` with terminal `next_action`,
|
|
92
92
|
reconcile retained consumptive evidence and fingerprint attempts from
|
|
@@ -96,7 +96,7 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
96
96
|
Reconstruct a missing return cursor only from
|
|
97
97
|
the current phase and exact approved action in `test-plan.md`/evidence, never
|
|
98
98
|
from chat. After compaction or a resumed session, always run `devrites-engine
|
|
99
|
-
handoff <
|
|
99
|
+
handoff <source> --resume` first for that selected source and open only the
|
|
100
100
|
`read_next` artifacts it names, per [`context-hygiene.md`](../devrites-lib/reference/standards/context-hygiene.md) § Compaction fallback.
|
|
101
101
|
Normalize current arguments to idea, `ship_preflight: yes|no`,
|
|
102
102
|
`max_slices: unlimited`, `parallel: N|default`, `profile: standard|full`,
|
|
@@ -118,13 +118,16 @@ next sequence continuation through Vet in a second session, then stop.
|
|
|
118
118
|
`/rite-build` batch loop → `/rite-prove` → `/rite-polish` →
|
|
119
119
|
`/rite-review` → `/rite-seal`. Read and execute each skill; durable files, not
|
|
120
120
|
chat, carry state. Apply the mutable post-vet budget before first Build.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
`--parallel N
|
|
121
|
+
Execute [`parallel-workspaces.md`](../devrites-lib/reference/parallel-workspaces.md):
|
|
122
|
+
continuously scan the authorized recorded sequence across stages, preparing
|
|
123
|
+
and re-Vetting future targets while writers run. Build queries the global
|
|
124
|
+
pool with `parallel select --from-plan --slug <controller> --workspaces
|
|
125
|
+
<controller,authorized-source,...> --cap N`; N is explicit `--parallel N`, else
|
|
126
|
+
sentinel `max_parallel`, else 10 — one global writer cap, including explicit 1.
|
|
127
|
+
Always pass resolved `--parallel N` to Build. Cap>1 uses an isolated first
|
|
128
|
+
writer even when initially alone; refill globally per landing and planning/
|
|
129
|
+
review return. Unsupported host stays serial. No local ready slice is not
|
|
130
|
+
completion while authorized planning, repair/re-Vet or independent work remains.
|
|
128
131
|
**Completion:** loop reaches Seal GO or persists a valid stop before any later phase.
|
|
129
132
|
5. **Apply stops.** At every gate use
|
|
130
133
|
[stop-conditions.md](reference/stop-conditions.md). A `blocked` label alone is not a stop condition:
|
|
@@ -19,15 +19,15 @@ Exit 3: held, stop. Re-add the same session each phase. Release with `devrites-e
|
|
|
19
19
|
|
|
20
20
|
## Rules
|
|
21
21
|
|
|
22
|
-
-
|
|
22
|
+
- Preserve the ordered owner's `.devrites/ACTIVE`; bind every phase and handoff to the target per shared [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding).
|
|
23
23
|
- After the workspace exists, run `devrites-engine state set <target> sequence_lookahead=yes`.
|
|
24
24
|
- Run Spec → Clarify → Temper → Define → Plan → Vet. Define and Plan read the predecessor tree and plan. Record one assumption per predecessor interface used.
|
|
25
25
|
- At Vet record `Predecessor readiness: <active-slug> <digest>` in `eng-review.md` (the `--emit-binding` hex). A later planning change blocks `DRV-GATE-READINESS-STALE`; re-vet before Build.
|
|
26
|
-
-
|
|
26
|
+
- This explicit second session stays planning-only: no Build, product source/tests, commits or `.devrites/AFK` writes, even after predecessor Seal. Main controller may later consume the prepared target under [`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md); its sanctioned isolated Build is not a second same-tree writer. Acceptance, scope and irreversible risk still stop.
|
|
27
27
|
- No spawn tool is not gate `access` or `awaiting_human`. Root writes Define and Plan. No Vet `READY` until those roles are admitted; else stop `running`, `next_action: /rite-vet`.
|
|
28
28
|
- On every entry, re-read `state.md` and `questions.md`. Do not report a stop from chat. `continuation: clear` with `awaiting_human` is not done: fold resolved decisions into the spec, then continue. An except-principle or change-the-spec question complies: change the spec and resolve it. Ask only when the approved objective cannot comply.
|
|
29
|
-
- Stop at Vet `READY` with `next_action: build
|
|
29
|
+
- Stop at Vet `READY` with `next_action: /rite-build <target>` as a cursor for the main controller (not permission for this lookahead session to Build), at a real human gate, or when the lease is lost. Release the planning claim so the main controller can recheck/admit it.
|
|
30
30
|
|
|
31
|
-
**Failing case:**
|
|
31
|
+
**Failing case:** lookahead session starts Build; main controller is blanket-blocked until predecessor Seal despite current native independent admission; or Define/Plan/Vet are skipped because predecessor is still Build. Missing strategy-reviewer spawn is not gate `access`.
|
|
32
32
|
|
|
33
33
|
**Failing case:** stops to except a principle the spec can avoid.
|
|
@@ -16,7 +16,7 @@ allow_gates: [advisory, validating]
|
|
|
16
16
|
# max_slices / max_agents / max_minutes / max_review_queue omitted: unlimited
|
|
17
17
|
# continue_sequence: false # opt out; default chains after Seal GO
|
|
18
18
|
# max_workspaces: 5 # sequence budget when chaining
|
|
19
|
-
# max_parallel: 10 # default
|
|
19
|
+
# max_parallel: 10 # fresh-run default; preserve retained lease capacity on cold resume; explicit `--parallel N` rewrites only this field
|
|
20
20
|
# max_tokens: <N>
|
|
21
21
|
# max_cost_usd: <amount>
|
|
22
22
|
# notify: "<cmd>"
|
|
@@ -28,7 +28,10 @@ when this invocation contains `--parallel N`: then write or replace only
|
|
|
28
28
|
malformed. Do not stop because it names `max_slices` / `max_agents` /
|
|
29
29
|
`max_minutes` / `max_review_queue` or only `[advisory]`. If absent, write it
|
|
30
30
|
once after clarity, and include `max_parallel: N` when that flag is present.
|
|
31
|
-
|
|
31
|
+
Without the flag, seed a newly created sentinel from retained global lease capacity
|
|
32
|
+
when present; otherwise use fresh-run default 10. Never replace a valid existing
|
|
33
|
+
sentinel's capacity from lease/default. Never write `max_slices` from `--max-slices`.
|
|
34
|
+
It is otherwise read-only: never rewrite it after Vet or reset it on resume. Leftover `expires_at` is ignored
|
|
32
35
|
and never rewritten. **Failing case:** leftover `max_parallel: 1` keeps the run
|
|
33
36
|
serial after `--parallel 5`.
|
|
34
37
|
|
|
@@ -64,7 +67,7 @@ Workspace files, not chat, carry state. Read/execute each phase skill:
|
|
|
64
67
|
| 3 | `/rite-temper` | harden or reduce; `expand` and extra acceptance stop for a human; irreversible risk still pauses |
|
|
65
68
|
| 4 | `/rite-define` | approved plan/tasks/traceability |
|
|
66
69
|
| 5 | `/rite-vet` | every plan; derive mutable budget after READY |
|
|
67
|
-
| 6 | `/rite-build`
|
|
70
|
+
| 6 | `/rite-build` global frontier | execute [shared controller workflow](../../devrites-lib/reference/parallel-workspaces.md); scan authorized stages and repair/re-Vet while writers run, refill per landing under one global cap; charge each source once per landed slice |
|
|
68
71
|
| 7 | `/rite-prove` | all slices built except deferred (`Satisfies: none`); approved proof; recovery on red |
|
|
69
72
|
| 8 | `/rite-polish` | re-prove after code edits |
|
|
70
73
|
| 9 | `/rite-review` | in-scope correction then fresh proof |
|
|
@@ -72,7 +75,7 @@ Workspace files, not chat, carry state. Read/execute each phase skill:
|
|
|
72
75
|
| 11 | `/rite-ship` | only after GO; `--ship` never authorizes Git; stop at literal-GO/native approval |
|
|
73
76
|
|
|
74
77
|
Check [stop-conditions.md](stop-conditions.md) before advancing. Discard stale
|
|
75
|
-
pass evidence after source edits. Re-read
|
|
78
|
+
pass evidence after source edits. Re-read the selected source before each phase per [phase target binding](../../devrites-lib/reference/parallel-workspaces.md#phase-target-binding). On a cold resume or
|
|
76
79
|
new activation, run `devrites-engine check regression <slug>`: `BLOCKED` names a
|
|
77
80
|
durable fact lost since the last checkpoint — restore or route it through its
|
|
78
81
|
owning phase before continuing; `unproven` does not block. After each phase's
|
|
@@ -89,11 +92,12 @@ step 10 does not end the run: leave the sealed workspace unshipped with its
|
|
|
89
92
|
(`/rite-spec <parent>-<n> "<objective>"` from the parent's `decisions.md` sequence)
|
|
90
93
|
and re-enter step 1. Spend one workspace per opened continuation.
|
|
91
94
|
|
|
92
|
-
For
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
For an already prepared child, do not re-specify. Follow
|
|
96
|
+
[`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md)
|
|
97
|
+
while the owner is still running: honor claims, repair/re-Vet stale readiness,
|
|
98
|
+
and admit only explicitly independent/dependency-satisfied isolated work.
|
|
99
|
+
ACTIVE changes to the child only at normal ordered handoff after the owner Seal;
|
|
100
|
+
resume its durable cursor without a second controller or another opening charge.
|
|
97
101
|
|
|
98
102
|
Before invoking a continuation, require durable `state.md`
|
|
99
103
|
`sequence_workspaces_remaining > 0`; if absent, first write
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rite-build
|
|
3
|
-
description: Build the next approved vertical slice with evidence. HITL one-slice default; AFK/autocomplete
|
|
3
|
+
description: Build the next approved vertical slice with evidence. HITL one-slice default; AFK/autocomplete refill eligible isolated work under --parallel N, one global writer cap under Autocomplete.
|
|
4
4
|
argument-hint: "[--parallel N] [slice number or name]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/agents.md","rite-build/reference/phase-contract.md","rite-build/reference/one-slice-cycle.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/spec-drift-guard.md","rite-build/reference/output.md","rite-build/reference/anti-patterns.md"],"rootOnly":["devrites-lib/reference/standards/code-index.md","rite-build/reference/phase-contract.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/output.md","rite-build/reference/afk-discipline.md","rite-build/reference/checkpoint-protocol.md","rite-build/reference/parallel-batch.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/workflow-artifacts.md"],"triggers":{"afk":["rite-build/reference/afk-discipline.md","devrites-lib/reference/standards/afk-hitl.md","rite-build/reference/checkpoint-protocol.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"coding":["devrites-lib/reference/standards/coding-style.md"],"debug-recovery":["devrites-lib/reference/standards/debug-recovery.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"frontend":["rite-build/reference/frontend-trigger.md"],"parallel":["rite-build/reference/parallel-batch.md"],"patterns":["devrites-lib/reference/standards/patterns.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md"],"tdd":["rite-build/reference/tdd.md","devrites-lib/reference/standards/testing.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","strategy.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md"],"slice-wright":["brief.md","spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","assumptions.md","questions.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md"]}} -->
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/agents.md","rite-build/reference/phase-contract.md","rite-build/reference/one-slice-cycle.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/spec-drift-guard.md","rite-build/reference/output.md","rite-build/reference/anti-patterns.md"],"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/parallel-workspaces.md","rite-build/reference/phase-contract.md","rite-build/reference/wright-dispatch.md","rite-build/reference/checkpoint.md","rite-build/reference/output.md","rite-build/reference/afk-discipline.md","rite-build/reference/checkpoint-protocol.md","rite-build/reference/parallel-batch.md","devrites-lib/reference/standards/afk-hitl.md","devrites-lib/reference/standards/workflow-artifacts.md"],"triggers":{"afk":["rite-build/reference/afk-discipline.md","devrites-lib/reference/standards/afk-hitl.md","rite-build/reference/checkpoint-protocol.md"],"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"coding":["devrites-lib/reference/standards/coding-style.md"],"debug-recovery":["devrites-lib/reference/standards/debug-recovery.md"],"dod":["devrites-lib/reference/standards/definition-of-done.md"],"errors":["devrites-lib/reference/standards/error-handling.md"],"frontend":["rite-build/reference/frontend-trigger.md"],"parallel":["rite-build/reference/parallel-batch.md","devrites-lib/reference/parallel-workspaces.md"],"patterns":["devrites-lib/reference/standards/patterns.md"],"principles":["devrites-lib/reference/standards/principles.md"],"security":["devrites-lib/reference/standards/security.md"],"tdd":["rite-build/reference/tdd.md","devrites-lib/reference/standards/testing.md"],"workflow-artifacts":["devrites-lib/reference/standards/workflow-artifacts.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","strategy.md"],"workspaceByRole":{"code-reviewer":["spec.md","plan.md","tasks.md","test-plan.md","architecture.md","decisions.md","state.md"],"doubt-reviewer":["spec.md","plan.md","tasks.md","state.md","decisions.md"],"slice-wright":["brief.md","spec.md","architecture.md","plan.md","tasks.md","test-plan.md","state.md","decisions.md","assumptions.md","questions.md"],"test-analyst":["spec.md","tasks.md","test-plan.md","state.md"]}} -->
|
|
9
9
|
> Read-set manifest: `devrites-engine context <slug> --phase build` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
10
|
|
|
11
11
|
|
|
@@ -80,12 +80,14 @@ Wright applies anti-slop; root verifies returns and never patches source. Refuse
|
|
|
80
80
|
<!-- workflow-artifact-adapter: {"module":"devrites-lib/reference/standards/workflow-artifacts.md","entry":"Vet-ready admitted bytes require root authorship outside product wright","action":"ROOT_TRANSACTION; root writes only admitted .devrites/** targets","return":"saved Build slice cursor; wright product allowlist unchanged"} -->
|
|
81
81
|
## `--parallel N` (opt-in)
|
|
82
82
|
|
|
83
|
-
HITL default/explicit `1` ≡ serial; AFK inherits cap.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
Standalone HITL default/explicit `1` ≡ serial; AFK inherits cap. Under
|
|
84
|
+
Autocomplete, read and execute shared root-only
|
|
85
|
+
[`parallel-workspaces.md`](../devrites-lib/reference/parallel-workspaces.md)
|
|
86
|
+
(trigger `parallel`, including global cap 1): controller/source routing,
|
|
87
|
+
authorized pool, isolated first writer and continuous repair/re-Vet/refill.
|
|
88
|
+
Standalone Build remains local. `2`–`10` is a cap, not a quota; eligible
|
|
89
|
+
path-disjoint work refills after each landing
|
|
90
|
+
([`parallel-batch.md`](reference/parallel-batch.md#dynamic-selection-and-re-batching)).
|
|
89
91
|
Unattended runs (`/rite-autocomplete`, `.devrites/AFK` `max_parallel`) refill
|
|
90
92
|
inside the same run; HITL stops after each landing. This invocation's `--parallel N`
|
|
91
93
|
is the cap: leftover sentinel `max_parallel` is not consulted. Autocomplete with
|
|
@@ -102,8 +104,9 @@ a human `Fix`. Exhausted repair blocks and preserves everything;
|
|
|
102
104
|
`cleanup --force` salvages slice branches before removing worktrees —
|
|
103
105
|
human-gated to abandon a batch, orchestrator-emitted only as the salvage
|
|
104
106
|
step of an automatic frozen-lease re-batch.
|
|
105
|
-
AFK charges per landed sibling only.
|
|
106
|
-
|
|
107
|
+
AFK charges per landed sibling only. A retained lease resumes through its
|
|
108
|
+
controller; it blocks a competing Build root, not controller-owned source dispatch.
|
|
109
|
+
Details: `parallel-batch.md`.
|
|
107
110
|
|
|
108
111
|
## Execute and reply
|
|
109
112
|
|
|
@@ -110,7 +110,7 @@ the hook receives:
|
|
|
110
110
|
| `DEVRITES_QID` | the new qid (e.g. `q-2026-05-28-001`) |
|
|
111
111
|
| `DEVRITES_GATE` | `advisory` / `validating` / `blocking` / `escalating` |
|
|
112
112
|
| `DEVRITES_SLICE` | `<N — name>` |
|
|
113
|
-
| `DEVRITES_SLUG` |
|
|
113
|
+
| `DEVRITES_SLUG` | source feature slug |
|
|
114
114
|
| `DEVRITES_QUESTION` | the checkpoint text |
|
|
115
115
|
| `DEVRITES_PROPOSED` | the proposed answer |
|
|
116
116
|
|
|
@@ -70,7 +70,7 @@ After a crash, a fresh session may read the last `WIP(<slug>)` body as crash con
|
|
|
70
70
|
Authoritative state remains in `.devrites/`: validate the body against that workspace;
|
|
71
71
|
never reconstruct or advance state from the commit body. Reload per
|
|
72
72
|
[`context-hygiene.md`](../../devrites-lib/reference/standards/context-hygiene.md)
|
|
73
|
-
(
|
|
73
|
+
(source-local `state.md`, `questions.md`, `decisions.md`, `test-plan.md`/`evidence.md`).
|
|
74
74
|
|
|
75
75
|
## Collapse at ship
|
|
76
76
|
WIP commits are scratch and never reach shared history. `/rite-ship` folds them into the
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.md).
|
|
6
6
|
|
|
7
|
+
Autocomplete first executes shared
|
|
8
|
+
[`parallel-workspaces.md`](../../devrites-lib/reference/parallel-workspaces.md):
|
|
9
|
+
it owns global admission, authorized source discovery and controller routing.
|
|
10
|
+
The local selection below applies to standalone Build; mixed selection uses
|
|
11
|
+
that reference and then this same per-slice review/repair/integration lifecycle.
|
|
12
|
+
|
|
7
13
|
## Entry
|
|
8
14
|
|
|
9
15
|
| Input | Behavior |
|
|
@@ -14,8 +20,9 @@ Opt-in only. Default `/rite-build` stays [`one-slice-cycle.md`](one-slice-cycle.
|
|
|
14
20
|
| Autocomplete `--parallel N` | N is the cap for this run; leftover sentinel `max_parallel` is ignored, then `/rite-autocomplete` writes or replaces only `max_parallel: N` |
|
|
15
21
|
| Autocomplete, no flag | Same path, cap from sentinel `max_parallel` else 10; serial only when ineligible |
|
|
16
22
|
|
|
17
|
-
AFK caps `N`. Charge green
|
|
18
|
-
|
|
23
|
+
AFK caps `N`. Charge each green sibling once after its successful landing;
|
|
24
|
+
rejected/unlanded work charges zero, without undoing prior landed accounting.
|
|
25
|
+
`parallel create` refuses another retained repository controller.
|
|
19
26
|
Reconcile retained repair-round artifacts by exact causal fingerprint before honoring a stored blocked status/verdict. Blocked status, round count, or distinct finding alone cannot stop cold resume: establish missing or stale review coverage under step 4; repair unless a stop condition remains evidenced.
|
|
20
27
|
|
|
21
28
|
## Dynamic selection and re-batching
|
|
@@ -45,8 +52,10 @@ passes `--whole` so the other slices stay visible.
|
|
|
45
52
|
`next` prints `eligible_now:`/`batch:`. `n_eff` counts new picks only.
|
|
46
53
|
With a running lease, a single new pick still uses `parallel add`;
|
|
47
54
|
`n_eff=0` with a running lease waits for siblings, not Prove. Without one:
|
|
48
|
-
≥2 → parallel batch, 1 → serial
|
|
49
|
-
|
|
55
|
+
≥2 → parallel batch, 1 → standalone serial; Autocomplete cap>1 on a capable
|
|
56
|
+
host instead isolates that first writer for global refill. No pending work
|
|
57
|
+
returns to the caller's next phase; no ready local work does not exhaust its
|
|
58
|
+
authorized global frontier. A cap need not be filled.
|
|
50
59
|
|
|
51
60
|
**Refill per landing; never wait for the batch.** Each sibling lands alone when
|
|
52
61
|
green ([Lifecycle](#lifecycle) step 6). Re-read state, pending slices, and the
|
|
@@ -91,33 +100,36 @@ lands a broken lockfile.
|
|
|
91
100
|
|
|
92
101
|
## Control vs workers
|
|
93
102
|
|
|
94
|
-
Control owns
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
`.devrites/**`.
|
|
103
|
+
Control owns the controller lease; source workspaces own their bookkeeping.
|
|
104
|
+
Use returned worker `worktree_path`/`branch`: controller-local siblings retain
|
|
105
|
+
`<batch>/<slice>`, foreign siblings use `<batch>/_workspaces/<source>/<slice>`.
|
|
106
|
+
Workers never write `.devrites/**`.
|
|
98
107
|
|
|
99
|
-
Lease
|
|
100
|
-
`
|
|
101
|
-
`
|
|
102
|
-
`
|
|
108
|
+
Lease includes `batch_id`, `created_at`, `base_sha`, `capacity`, `n`, `status`,
|
|
109
|
+
`control_pid_or_session` and `slices[]` (`id`, optional `workspace`, `paths`,
|
|
110
|
+
`worktree_path`, `branch`, `wright_status`, `transfer_commit`). Omitted workspace
|
|
111
|
+
means controller; CLI lease `--slice` uses source-qualified foreign keys.
|
|
103
112
|
|
|
104
113
|
## Lifecycle
|
|
105
114
|
|
|
106
115
|
1. Orient/gate; parse the cap; compute `N_eff` and select the eligible set
|
|
107
116
|
([Dynamic selection and re-batching](#dynamic-selection-and-re-batching)) —
|
|
108
|
-
`parallel select --slug <slug> --cap N --from-plan
|
|
109
|
-
|
|
117
|
+
local `parallel select --slug <slug> --cap N --from-plan`, or Autocomplete's
|
|
118
|
+
authorized mixed-source query from the shared controller reference.
|
|
110
119
|
Preflight each selected slice with `devrites-engine check slice <slug>
|
|
111
120
|
<id>`, plus `check preconditions <slug> --slice <id>` when it has a
|
|
112
121
|
`pre-dispatch <id>` preflight row; a malformed contract or non-zero
|
|
113
122
|
precondition is dropped from the batch and recorded as a gap, not dispatched.
|
|
114
|
-
2. Write lease
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
2. Write lease with `parallel create --cap N`; freeze `B=HEAD`; create isolated
|
|
124
|
+
worktrees, including Autocomplete's first lone writer at cap>1.
|
|
125
|
+
3. Dispatch ≤N active wrights globally (absolute cwd=returned worktree; exact
|
|
126
|
+
`devrites-slice-wright` native profile; source slug; allowlist; prove `HEAD==B`).
|
|
127
|
+
Source-local waves use one role per sibling:
|
|
128
|
+
`--role slice-wright.<SLICE-ID> --slice <SLICE-ID>`.
|
|
129
|
+
`start` every selected role across sources before waiting on any.
|
|
130
|
+
Shared `slice-wright` role is refused: one handle cannot track siblings.
|
|
131
|
+
Linked worktrees run source checks with `DEVRITES_ROOT=<control>/.devrites`;
|
|
132
|
+
source overrides never leak into controller lease mutations.
|
|
121
133
|
4. Inspect each returned path list, cumulative diff from `B`, transfer identity,
|
|
122
134
|
and required result fields against the immutable contract. Reject malformed,
|
|
123
135
|
stale, or out-of-scope work. Freeze and probe the sibling in its worktree:
|
|
@@ -145,21 +157,30 @@ Lease: `batch_id`, `created_at`, `base_sha`, `n`,
|
|
|
145
157
|
preserve completed and in-progress recoverable work and classify each result.
|
|
146
158
|
6. `parallel integrate --slice <id> --apply-to-control` **only after its steps
|
|
147
159
|
4–5 are green**: `transfer_commit` descends from the sibling's base and diffs
|
|
148
|
-
path-exact vs it; apply as its own local `WIP(<slug>):` commit
|
|
149
|
-
(imperative summary, never a slice id). Staging branch,
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
path-exact vs it; apply as its own local `WIP(<source-slug>):` commit
|
|
161
|
+
(imperative summary, never a slice id). Staging branch, durable exact landing
|
|
162
|
+
intent, then FF; retry the same operation after interrupted persistence.
|
|
163
|
+
The engine reconciles only that recorded landing and refuses unrelated
|
|
164
|
+
HEAD/ref movement. Conflict → `integrate-failed`; classify under repair rounds
|
|
165
|
+
(siblings stay in place).
|
|
152
166
|
Never integrate because a wright returned.
|
|
153
167
|
7. Each landing: FF control (the branch that held `HEAD` when the batch started —
|
|
154
168
|
often `main`/`master`, otherwise whatever the user was on) by one local commit,
|
|
155
|
-
never pushed; union that sibling's paths into `touched-files.md`;
|
|
156
|
-
state/evidence; AFK +1
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
169
|
+
never pushed; union only that sibling's paths into SOURCE `touched-files.md`;
|
|
170
|
+
update its checked BUILT state/evidence and regression floor; AFK +1 once.
|
|
171
|
+
Once every worker-bound reviewer/proof handle is terminal and source bookkeeping
|
|
172
|
+
is durable, run `parallel prune --root <repo> --slug <controller>` to release
|
|
173
|
+
clean integrated checkouts before refilling. It keeps transfer branches, proof
|
|
174
|
+
identities, lease rows and pending siblings. A dirty, ignored-data-bearing,
|
|
175
|
+
switched or unknown checkout stays untouched; record its recovery path and
|
|
176
|
+
continue safe independent work, never force-delete it to reclaim a slot.
|
|
177
|
+
Land every independently green sibling and refill globally immediately
|
|
178
|
+
([Dynamic selection](#dynamic-selection-and-re-batching)), then run source-owned
|
|
179
|
+
feature gates for the train ([Proof tiers](phase-contract.md#proof-tiers));
|
|
180
|
+
refilled wrights do not wait for unrelated source proof.
|
|
181
|
+
8. Whole cleanup runs only after the last landing marks the lease `complete`.
|
|
182
|
+
`parallel cleanup` removes verified disposable checkouts/branches; late edits,
|
|
183
|
+
ignored/untracked data and extra commits stay with reported recovery paths.
|
|
163
184
|
Blocked/human-stopped batches keep lease, worktrees, branches — nothing is
|
|
164
185
|
removed while the batch may resume. `parallel abort` + `cleanup --force`
|
|
165
186
|
abandons the batch — the explicit human discard path; the single
|
|
@@ -225,9 +246,9 @@ Repair rejected work in place; never discard/rebuild while budget remains.
|
|
|
225
246
|
## Engine verbs
|
|
226
247
|
|
|
227
248
|
```text
|
|
228
|
-
devrites-engine parallel select --cap <1-10> [--root <dir>] [--slug <
|
|
229
|
-
devrites-engine parallel create --root <repo> --slug <
|
|
230
|
-
devrites-engine parallel add --root <repo> --slug <
|
|
249
|
+
devrites-engine parallel select --cap <1-10> [--root <dir>] [--slug <controller>] [--from-plan [--workspaces <controller,authorized-source,...>] | <json-file>|-]
|
|
250
|
+
devrites-engine parallel create --root <repo> --slug <controller> --batch <id> --base <B> --cap <N> --json <file>|-
|
|
251
|
+
devrites-engine parallel add --root <repo> --slug <controller> --cap <N> --json <file>|-
|
|
231
252
|
devrites-engine parallel record-green --root <repo> --slug <slug> --slice <id> --commit <sha>
|
|
232
253
|
devrites-engine parallel integrate --root <repo> --slug <slug> --slice <id> --apply-to-control
|
|
233
254
|
devrites-engine parallel integrate --root <repo> --slug <slug> --apply-to-control
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
Apply [`one-slice-cycle.md`](one-slice-cycle.md) and
|
|
6
6
|
[`candidate-integrity.md`](../../devrites-lib/reference/candidate-integrity.md).
|
|
7
|
-
|
|
7
|
+
`--parallel N` uses [`parallel-batch.md`](parallel-batch.md) for steps 2–8;
|
|
8
|
+
Autocomplete also executes the shared
|
|
9
|
+
[`workspace controller`](../../devrites-lib/reference/parallel-workspaces.md).
|
|
8
10
|
Spec Drift Guard still applies.
|
|
9
11
|
|
|
10
|
-
1. **Gate.** Read core
|
|
11
|
-
|
|
12
|
+
1. **Gate.** Read core and ordered ACTIVE owner; use explicit SOURCE slug for
|
|
13
|
+
`devrites-engine orient <slug>` (`next <slug>` prints its minimal path) and the
|
|
12
14
|
Build read-next in
|
|
13
15
|
[`workspace-artifact-schema.md`](../../devrites-lib/reference/workspace-artifact-schema.md#read-next-by-phase):
|
|
14
16
|
the selected slice via `devrites-engine observe slice <slug> <SLICE-ID>`, not whole
|
|
@@ -16,8 +18,9 @@ Spec Drift Guard still applies.
|
|
|
16
18
|
`Implementation readiness: READY`, current `Readiness inputs SHA-256`, exact
|
|
17
19
|
required accounts, ID/meaning traceability and green proof preflight.
|
|
18
20
|
Run `devrites-engine check readiness <slug>`; any miss/nonzero blocks.
|
|
19
|
-
Non-empty `orient` `inflight_waves` is reconciled first:
|
|
20
|
-
|
|
21
|
+
Non-empty `orient` `inflight_waves` is reconciled first: record accounts in
|
|
22
|
+
hand; retain running/unknown writer handles, claims and lease slots. Read-only
|
|
23
|
+
stale waves follow terminal reconciliation before re-dispatch, not blind abandon.
|
|
21
24
|
2. **Select.** Pick the lowest pending slice whose `depends_on` are all built, using
|
|
22
25
|
`orient` `task_graph.slices` plus the `state.md` built list — never by scanning
|
|
23
26
|
`tasks.md`; then `observe slice` it. Restate its goal, ACs, exclusions and exact paths. Include
|
|
@@ -46,10 +46,10 @@ only per [`checkpoint.md`](checkpoint.md).
|
|
|
46
46
|
|
|
47
47
|
Conflict, extra/missing commit, moved base, or cleanup failure is `gap`/STOP:
|
|
48
48
|
preserve the worktree and commit. Without explicit reconciliation, use same-worktree serial.
|
|
49
|
-
Parallel isolated
|
|
50
|
-
|
|
51
|
-
(
|
|
52
|
-
worktrees stay forbidden.
|
|
49
|
+
Parallel isolated writers use only [`parallel-batch.md`](parallel-batch.md) and,
|
|
50
|
+
under Autocomplete, the shared
|
|
51
|
+
[`workspace controller`](../../devrites-lib/reference/parallel-workspaces.md).
|
|
52
|
+
Same-worktree multi-writer / root-emulated worktrees stay forbidden.
|
|
53
53
|
|
|
54
54
|
## Prepare
|
|
55
55
|
|
|
@@ -131,9 +131,9 @@ a spec trace of the slice's obligations (hardening no AC/INV/PROH requires moves
|
|
|
131
131
|
a sibling slice dependents do not need, still gated before Seal), and
|
|
132
132
|
reopen with `--reslice-review <DRIFT-ID>`. Same-worktree stays one writer.
|
|
133
133
|
Never run two writers in one worktree, mix isolated and same-worktree writers,
|
|
134
|
-
or substitute a generic agent.
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
or substitute a generic agent. Sanctioned parallel dispatch uses one exact
|
|
135
|
+
wright per worktree, source-local `slice-wright.<SLICE-ID>` roles and starts
|
|
136
|
+
all selected sources before first wait ([`parallel-batch.md`](parallel-batch.md)).
|
|
137
137
|
|
|
138
138
|
The `return` that completes the wave releases its claim; `dispatch abandon --release`
|
|
139
139
|
releases it on any other host-confirmed terminal path (a stop, a launch refused with no
|
|
@@ -5,7 +5,7 @@ argument-hint: "[feature-slug]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","rite-clarify/reference/decision-coverage.md","rite-clarify/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md"],"workspaceByRole":{"evidence-scout":["brief.md","spec.md","state.md","questions.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md","rite-clarify/reference/decision-coverage.md","rite-clarify/reference/anti-patterns.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md"],"workspaceByRole":{"evidence-scout":["brief.md","spec.md","state.md","questions.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/afk-hitl.md"]} -->
|
|
9
9
|
> Read-set manifest: `devrites-engine context <slug> --phase clarify` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
10
|
|
|
11
11
|
|
|
@@ -40,7 +40,7 @@ dispatch uses
|
|
|
40
40
|
|
|
41
41
|
## Workflow
|
|
42
42
|
|
|
43
|
-
1. **Orient.**
|
|
43
|
+
1. **Orient.** Resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), then read its `state.md` and `spec.md`. Require
|
|
44
44
|
`state.md` `spec_gate: passed` (legacy `Spec gate: passed` line accepted); otherwise stop at `/rite-spec`. Apply the native cursor
|
|
45
45
|
protocol below before changing workspace artifacts.
|
|
46
46
|
2. **Enumerate the topology.** From the spec, live code, contracts, references,
|
|
@@ -5,7 +5,7 @@ argument-hint: "[feature-slug]"
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/testing.md","rite-converge/reference/convergence-assessment.md","rite-converge/reference/anti-patterns.md","rite-build/reference/spec-drift-guard.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","evidence.md"],"workspaceByRole":{"evidence-scout":["spec.md","plan.md","tasks.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md"]} -->
|
|
8
|
+
<!-- loads: {"always":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/code-navigation.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/spec-grammar.md","devrites-lib/reference/standards/agents.md","devrites-lib/reference/standards/tooling.md","devrites-lib/reference/standards/testing.md","rite-converge/reference/convergence-assessment.md","rite-converge/reference/anti-patterns.md","rite-build/reference/spec-drift-guard.md"],"triggers":{"applicability":["devrites-lib/reference/standards/repository-topology.md","devrites-lib/reference/standards/data-integrity.md","devrites-lib/reference/standards/integration-reliability.md"],"principles":["devrites-lib/reference/standards/principles.md"],"workflow-artifacts":["devrites-lib/reference/workspace-artifact-schema.md"]},"workspace":["brief.md","spec.md","state.md","decisions.md","assumptions.md","questions.md","decision-coverage.md","architecture.md","plan.md","tasks.md","traceability.md","eng-review.md","test-plan.md","gates.md","evidence.md"],"workspaceByRole":{"evidence-scout":["spec.md","plan.md","tasks.md","state.md","evidence.md"]},"rootOnly":["devrites-lib/reference/parallel-workspaces.md","devrites-lib/reference/standards/code-index.md","devrites-lib/reference/standards/tooling.md"]} -->
|
|
9
9
|
> Read-set manifest: `devrites-engine context <slug> --phase converge` bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
10
10
|
|
|
11
11
|
|
|
@@ -16,7 +16,7 @@ Read `spec.md`, `plan.md`, and `tasks.md` as the **sole source of intent** (with
|
|
|
16
16
|
implements, and **append every unmet piece as a new traceable `SLICE-###`** at the
|
|
17
17
|
bottom of `tasks.md` so `/rite-build` can finish it. Use this for a resumed half-built
|
|
18
18
|
feature, an adopted codebase that drifted from its derived spec, or a build that stalled
|
|
19
|
-
mid-slice. **Read the
|
|
19
|
+
mid-slice. **Read the selected source
|
|
20
20
|
workspace first**; if there's no `spec.md`/`plan.md`/`tasks.md`, tell the user which
|
|
21
21
|
prerequisite skill to run.
|
|
22
22
|
|
|
@@ -74,9 +74,9 @@ Pull on demand:
|
|
|
74
74
|
## Workflow
|
|
75
75
|
|
|
76
76
|
0. **Read `.claude/skills/devrites-lib/reference/standards/core.md`** first (the always-on
|
|
77
|
-
operating rules), then resolve
|
|
77
|
+
operating rules), then resolve source per [phase target binding](../devrites-lib/reference/parallel-workspaces.md#phase-target-binding), require its `state.md`, and
|
|
78
78
|
read the cursor directly.
|
|
79
|
-
1. **Confirm the gate.** Require `spec.md` + `plan.md` + `tasks.md` in
|
|
79
|
+
1. **Confirm the gate.** Require `spec.md` + `plan.md` + `tasks.md` in that source workspace. If
|
|
80
80
|
any is missing, **STOP** and name the prerequisite (`/rite-spec` for a missing spec,
|
|
81
81
|
`/rite-define` for a missing plan/tasks, `/rite-adopt` to onboard existing code). Do not
|
|
82
82
|
produce partial output.
|