devrites 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +20 -8
- package/docs/adr/0012-semantic-workspace-upgrades.md +77 -0
- package/docs/adr/README.md +1 -0
- package/docs/architecture.md +31 -10
- package/docs/cli.md +10 -4
- package/docs/command-map.md +15 -6
- package/docs/engine/commands.md +6 -0
- package/docs/engine/workspace-schema.md +10 -1
- package/docs/flow.md +12 -7
- package/docs/orchestration.md +2 -2
- package/docs/quick-reference.md +4 -0
- package/docs/skills.md +8 -5
- package/docs/usage.md +31 -5
- package/engine/internal/lib/buildreadiness.go +9 -1
- package/engine/internal/lib/readiness_contract.json +8 -1
- package/engine/internal/lib/readinessartifact.go +28 -5
- package/engine/internal/lib/readinessartifact_test.go +105 -4
- package/engine/testdata/golden/TestParityBuildReadiness/arg=legacycontract.golden +1 -0
- package/engine/tests/parity_buildreadiness_test.go +27 -1
- package/pack/.claude/agents/devrites-plan-drafter.md +3 -1
- package/pack/.claude/agents/devrites-upgrade-planner.md +100 -0
- package/pack/.claude/skills/devrites-lib/SKILL.md +2 -1
- package/pack/.claude/skills/devrites-lib/reference/intent-map.md +1 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +3 -1
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +17 -0
- package/pack/.claude/skills/rite/SKILL.md +2 -0
- package/pack/.claude/skills/rite/reference/menu.md +5 -1
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +3 -3
- package/pack/.claude/skills/rite-build/reference/spec-drift-guard.md +10 -4
- package/pack/.claude/skills/rite-clarify/SKILL.md +2 -1
- package/pack/.claude/skills/rite-clarify/reference/decision-coverage.md +3 -1
- package/pack/.claude/skills/rite-define/SKILL.md +2 -1
- package/pack/.claude/skills/rite-define/reference/plan-template.md +3 -1
- package/pack/.claude/skills/rite-plan/SKILL.md +4 -1
- package/pack/.claude/skills/rite-upgrade/SKILL.md +125 -0
- package/pack/.claude/skills/rite-vet/SKILL.md +6 -2
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +9 -1
- package/pack/generated/claude/agents/devrites-plan-drafter.md +3 -1
- package/pack/generated/claude/agents/devrites-upgrade-planner.md +100 -0
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +2 -1
- package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +1 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +3 -1
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +17 -0
- package/pack/generated/claude/skills/rite/SKILL.md +2 -0
- package/pack/generated/claude/skills/rite/reference/menu.md +5 -1
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +3 -3
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +10 -4
- package/pack/generated/claude/skills/rite-clarify/SKILL.md +2 -1
- package/pack/generated/claude/skills/rite-clarify/reference/decision-coverage.md +3 -1
- package/pack/generated/claude/skills/rite-define/SKILL.md +2 -1
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +3 -1
- package/pack/generated/claude/skills/rite-plan/SKILL.md +4 -1
- package/pack/generated/claude/skills/rite-upgrade/SKILL.md +125 -0
- package/pack/generated/claude/skills/rite-vet/SKILL.md +6 -2
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +9 -1
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +3 -1
- package/pack/generated/codex/agents/devrites-upgrade-planner.toml +106 -0
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +2 -1
- package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +1 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +3 -1
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +17 -0
- package/pack/generated/codex/skills/rite/SKILL.md +2 -0
- package/pack/generated/codex/skills/rite/reference/menu.md +5 -1
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +3 -1
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +3 -3
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +10 -4
- package/pack/generated/codex/skills/rite-clarify/SKILL.md +2 -1
- package/pack/generated/codex/skills/rite-clarify/reference/decision-coverage.md +3 -1
- package/pack/generated/codex/skills/rite-define/SKILL.md +2 -1
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +3 -1
- package/pack/generated/codex/skills/rite-plan/SKILL.md +4 -1
- package/pack/generated/codex/skills/rite-upgrade/SKILL.md +141 -0
- package/pack/generated/codex/skills/rite-upgrade/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-vet/SKILL.md +6 -2
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +9 -1
- package/package.json +1 -1
- package/scripts/run-outcome-evals.sh +33 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
|
|
4
4
|
|
|
5
|
+
## [3.2.0](https://github.com/ViktorsBaikers/DevRites/compare/v3.1.0...v3.2.0) (2026-07-24)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
* **rite:** add semantic workspace upgrades ([3a7e51d](https://github.com/ViktorsBaikers/DevRites/commit/3a7e51d478fe9ed19c4de1ee4988e43d63ecf9a2))
|
|
10
|
+
|
|
5
11
|
## [3.1.0](https://github.com/ViktorsBaikers/DevRites/compare/v3.0.7...v3.1.0) (2026-07-24)
|
|
6
12
|
|
|
7
13
|
### Added
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ final commit, push, and tag, and it requires a typed `GO` confirmation.
|
|
|
25
25
|
Unattended runs may create local WIP checkpoint commits along the way, but only
|
|
26
26
|
Ship collapses and pushes them.
|
|
27
27
|
|
|
28
|
-
**Status:** [`v3.
|
|
28
|
+
**Status:** [`v3.2.0`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v3.2.0): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
|
|
29
29
|
|
|
30
30
|
## Quick start
|
|
31
31
|
|
|
@@ -85,6 +85,7 @@ the same skill.
|
|
|
85
85
|
| 10 | Review | [`/rite-review`](pack/.claude/skills/rite-review/SKILL.md) | Reviews the completed feature against its spec and engineering standards. |
|
|
86
86
|
| 11 | Seal | [`/rite-seal`](pack/.claude/skills/rite-seal/SKILL.md) | Writes the final `GO` or `NO-GO` decision without changing git. |
|
|
87
87
|
| 12 | Ship | [`/rite-ship`](pack/.claude/skills/rite-ship/SKILL.md) | On `GO`, asks for typed confirmation, performs the approved git actions, and archives the workspace. |
|
|
88
|
+
| n/a | Upgrade *(conditional)* | [`/rite-upgrade [slug]`](pack/.claude/skills/rite-upgrade/SKILL.md) | Brings an active unfinished workspace onto the current planning contract without rewriting completed work or evidence. Build readiness sends stale workspaces here automatically. |
|
|
88
89
|
|
|
89
90
|
Some work needs a different route:
|
|
90
91
|
|
|
@@ -93,8 +94,16 @@ Some work needs a different route:
|
|
|
93
94
|
- [`/rite-autocomplete`](pack/.claude/skills/rite-autocomplete/SKILL.md) runs
|
|
94
95
|
the lifecycle unattended. With `--ship`, it auto-confirms the final typed
|
|
95
96
|
`GO`; without that flag, it stops and waits for you.
|
|
97
|
+
- [`/rite-upgrade [slug]`](pack/.claude/skills/rite-upgrade/SKILL.md) is a
|
|
98
|
+
maintenance route for an active workspace planned under older DevRites
|
|
99
|
+
rules. It is not a mandatory lifecycle phase.
|
|
96
100
|
- [`/rite`](pack/.claude/skills/rite/SKILL.md) shows the command menu.
|
|
97
101
|
|
|
102
|
+
`devrites-engine update` refreshes the installed engine and pack.
|
|
103
|
+
`devrites-engine migrate` normalizes workspace layout and structural state.
|
|
104
|
+
Neither replaces `/rite-upgrade`, which reconciles unfinished planning
|
|
105
|
+
semantics while preserving completed work.
|
|
106
|
+
|
|
98
107
|
The [command map](docs/command-map.md) covers every command, trigger, input, and
|
|
99
108
|
output. The [worked examples](docs/usage.md) show normal features, plan drift,
|
|
100
109
|
UI work, backend work, and mid-flight handoffs.
|
|
@@ -146,9 +155,11 @@ Some phases add focused artifacts such as `strategy.md`, `design-brief.md`,
|
|
|
146
155
|
its proof before returning control. Before dispatching the sole writer, the
|
|
147
156
|
root writes an exact `.wright-allowlist`. Reconciliation and integrity gates
|
|
148
157
|
use the same pre-slice baseline.
|
|
149
|
-
- **
|
|
150
|
-
|
|
151
|
-
|
|
158
|
+
- **Classify drift before routing.** The Spec Drift Guard records the mismatch
|
|
159
|
+
in `drift.md`. Build handles objective implementation and tool failures with
|
|
160
|
+
bounded recovery; it uses
|
|
161
|
+
[`/rite-plan repair`](pack/.claude/skills/rite-plan/SKILL.md) only when the
|
|
162
|
+
durable plan is wrong, and asks you only for a real product or risk decision.
|
|
152
163
|
- **Prove claims.** Tests, commands, output, and opened screenshots support
|
|
153
164
|
completion claims. A screenshot path by itself is not proof.
|
|
154
165
|
- **Separate the decision from the action.** Seal makes the release decision.
|
|
@@ -275,14 +286,15 @@ through Claude Code or Codex plugin stores.
|
|
|
275
286
|
|
|
276
287
|
## Skills and agents
|
|
277
288
|
|
|
278
|
-
The pack ships
|
|
279
|
-
the `rite` menu and
|
|
289
|
+
The pack ships 44 skills: 32 public and 12 internal. The public surface contains
|
|
290
|
+
the `rite` menu and 31 `rite-*` workflows and utilities. Eleven `devrites-*`
|
|
280
291
|
specialists load when a matching task needs them; `devrites-lib` carries the
|
|
281
292
|
shared contracts and engineering standards.
|
|
282
293
|
|
|
283
|
-
|
|
294
|
+
Eighteen fresh-context agents ship with the pack. Seventeen are read-only,
|
|
284
295
|
including the evidence scout, plan drafter, proof runner, reviewers, judges,
|
|
285
|
-
and retrospector. `devrites-slice-wright` is the only
|
|
296
|
+
upgrade planner, and retrospector. `devrites-slice-wright` is the only
|
|
297
|
+
source/test writer.
|
|
286
298
|
|
|
287
299
|
The authoritative [skills catalogue](docs/skills.md) lists every skill and
|
|
288
300
|
agent. The [flow diagrams](docs/flow.md) show routing, reviewer fan-out, and
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# ADR-0012: Separate semantic workspace upgrades from structural migration
|
|
2
|
+
|
|
3
|
+
- **Status:** Accepted
|
|
4
|
+
- **Date:** 2026-07-24
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
Updating DevRites replaces the installed engine, skills, agents, and hooks. It
|
|
9
|
+
does not prove that an active workspace was planned under the rules shipped by
|
|
10
|
+
that update.
|
|
11
|
+
|
|
12
|
+
The existing `devrites-engine migrate` command has a narrower job: it repairs
|
|
13
|
+
workspace layout, aliases, and state schema. Extending it to rewrite plans would
|
|
14
|
+
mix structural storage changes with product decisions and could damage completed
|
|
15
|
+
work.
|
|
16
|
+
|
|
17
|
+
This distinction matters most for long-running workspaces. A plan may still be
|
|
18
|
+
internally consistent while carrying an obsolete proof recipe, a local command
|
|
19
|
+
wrapper, or readiness evidence produced by an older workflow. Byte hashes alone
|
|
20
|
+
cannot tell us that those instructions remain valid.
|
|
21
|
+
|
|
22
|
+
## Decision
|
|
23
|
+
|
|
24
|
+
DevRites will keep three upgrade operations separate:
|
|
25
|
+
|
|
26
|
+
| Operation | Responsibility |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| `devrites-engine update` | Update the installed engine and workflow pack. |
|
|
29
|
+
| `devrites-engine migrate` | Normalize workspace layout and structural state schema. |
|
|
30
|
+
| `/rite-upgrade [slug]` | Reconcile an active workspace with the current semantic planning contract. |
|
|
31
|
+
|
|
32
|
+
Semantic compatibility is versioned by the readiness-artifact contract, not by
|
|
33
|
+
the DevRites release number or workspace state schema. The current contract is
|
|
34
|
+
`devrites.readiness-artifacts.v2`.
|
|
35
|
+
|
|
36
|
+
`decision-coverage.md`, `eng-review.md`, and `test-plan.md` declare the semantic
|
|
37
|
+
contract that produced them. Build readiness returns code `8`
|
|
38
|
+
(`upgrade-required`) when existing readiness artifacts use an older, missing,
|
|
39
|
+
or incompatible contract, and routes the workspace to `/rite-upgrade`.
|
|
40
|
+
|
|
41
|
+
`/rite-upgrade` is desired-state reconciliation, not a replay of historical
|
|
42
|
+
migrations. It:
|
|
43
|
+
|
|
44
|
+
- works only on the active unfinished planning surface;
|
|
45
|
+
- preserves product source, completed slice bodies, proof, evidence, and
|
|
46
|
+
accepted decisions;
|
|
47
|
+
- removes obsolete engine-repair recipes and machine-local command wrappers
|
|
48
|
+
from active canonical plans;
|
|
49
|
+
- reruns current coverage, planning, and engineering-readiness checks;
|
|
50
|
+
- asks the user only when the current contract exposes a real product or risk
|
|
51
|
+
decision; and
|
|
52
|
+
- makes no changes when the workspace is already current and ready, completed,
|
|
53
|
+
or archived.
|
|
54
|
+
|
|
55
|
+
A fresh read-only `devrites-upgrade-planner` classifies the gap before any
|
|
56
|
+
mutation. The public skill remains the sole writer and verifies the resulting
|
|
57
|
+
workspace before build resumes.
|
|
58
|
+
|
|
59
|
+
## Alternatives considered
|
|
60
|
+
|
|
61
|
+
| Option | Why not |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| Treat the installed DevRites release as the workspace contract | Release numbers describe the whole product and do not say which planning semantics produced an artifact. |
|
|
64
|
+
| Extend `devrites-engine migrate` to rewrite planning artifacts | Structural migration cannot safely make product judgments or distinguish completed evidence from unfinished instructions. |
|
|
65
|
+
| Replay one migration for every historical release | It would preserve obsolete intermediate mechanics and make long-lived workspaces depend on an ever-growing migration chain. Desired-state reconciliation is smaller and safer. |
|
|
66
|
+
| Force users to restart old workspaces | It discards trustworthy completed work and evidence without improving the unfinished plan. |
|
|
67
|
+
|
|
68
|
+
## Consequences
|
|
69
|
+
|
|
70
|
+
- Updating DevRites cannot silently certify an old plan as current.
|
|
71
|
+
- Structural migration stays deterministic and safe to run independently.
|
|
72
|
+
- Active work can move forward without discarding trustworthy completed
|
|
73
|
+
evidence or recreating an old engine.
|
|
74
|
+
- New semantic rules require a readiness-contract revision and a bounded
|
|
75
|
+
desired-state upgrade path.
|
|
76
|
+
- Archived workspaces remain historical records rather than being rewritten to
|
|
77
|
+
match current conventions.
|
package/docs/adr/README.md
CHANGED
|
@@ -57,3 +57,4 @@ architecture; per-feature `decisions.md` files stay scoped to that feature.
|
|
|
57
57
|
| [0009](0009-prebuild-decision-coverage-and-readiness.md) | Pre-build decision coverage and implementation readiness | Accepted | `internal/state/state_test.go`, `tests/parity_buildreadiness_test.go` |
|
|
58
58
|
| [0010](0010-agent-first-fresh-context-orchestration.md) | Agent-first fresh-context orchestration | Accepted | `tests/hook_test.go`, `tests/codex-agent-generation-test.sh` |
|
|
59
59
|
| [0011](0011-define-plan-transition-rights.md) | Separate Define authoring from the Plan checkpoint | Accepted | `internal/state/state_test.go`, `tests/adr_0011_define_plan_test.go` |
|
|
60
|
+
| [0012](0012-semantic-workspace-upgrades.md) | Separate semantic workspace upgrades from structural migration | Accepted | `tests/parity_buildreadiness_test.go` |
|
package/docs/architecture.md
CHANGED
|
@@ -19,15 +19,17 @@ traceability rules, and phase-relative completeness model, see
|
|
|
19
19
|
`rite-vet`, `rite-build`, recovery `rite-converge`, `rite-prove`,
|
|
20
20
|
`rite-polish`, `rite-review`, `rite-seal`, and `rite-ship`. `rite-plan`
|
|
21
21
|
repairs or reslices an active plan. The resume verb `rite-resolve` answers a
|
|
22
|
-
HITL gate and clears `Awaiting human`.
|
|
23
|
-
|
|
22
|
+
HITL gate and clears `Awaiting human`. `rite-upgrade` is a conditional
|
|
23
|
+
maintenance route for semantically stale active workspaces, not a lifecycle
|
|
24
|
+
phase. The thin `/rite` menu and read-only `rite-status` live in the public
|
|
25
|
+
utility layer below.
|
|
24
26
|
`/rite-seal` **decides** GO/NO-GO and writes the verdict to `seal.md`;
|
|
25
27
|
`/rite-ship` is the final core lifecycle rite that **executes** the
|
|
26
28
|
irreversible git ladder and **closes** the task by archiving the workspace
|
|
27
29
|
and clearing `ACTIVE`. Separate steps let users audit the release decision
|
|
28
30
|
before any irreversible action.
|
|
29
31
|
2. **Public utility and on-ramp skills**: `rite-adopt`, `rite-quick`,
|
|
30
|
-
`rite-frame`, `rite-status`, `rite-doctor`, `rite-learn`, `rite-explain`,
|
|
32
|
+
`rite-frame`, `rite-status`, `rite-doctor`, `rite-upgrade`, `rite-learn`, `rite-explain`,
|
|
31
33
|
`rite-customize`, `rite-zoom-out`, `rite-prototype`, `rite-handoff`,
|
|
32
34
|
`rite-pressure-test`, `rite-pov`, `rite-dogfood`, `rite-pr-feedback`, and
|
|
33
35
|
`rite-autocomplete`. These are public commands. `rite-autocomplete` is the
|
|
@@ -56,12 +58,13 @@ traceability rules, and phase-relative completeness model, see
|
|
|
56
58
|
4. **Supporting references**: `reference/*.md` inside each skill. Long checklists,
|
|
57
59
|
templates, and anti-rationalization tables loaded on demand (progressive
|
|
58
60
|
disclosure) so `SKILL.md` bodies stay small.
|
|
59
|
-
5. **Agents**: `.claude/agents/devrites-*` contains **
|
|
60
|
-
|
|
61
|
+
5. **Agents**: `.claude/agents/devrites-*` contains **18 flat depth-one roles**:
|
|
62
|
+
17 read-only leaves and the sole source/test writer,
|
|
61
63
|
`devrites-slice-wright`. The read-only set includes three bounded work
|
|
62
64
|
leaves (`devrites-evidence-scout`, `devrites-plan-drafter`, and
|
|
63
|
-
`devrites-proof-runner`)
|
|
64
|
-
retrospector. Public rites remain
|
|
65
|
+
`devrites-proof-runner`), the fresh `devrites-upgrade-planner`, plus the
|
|
66
|
+
existing reviewers, auditors, judge, and retrospector. Public rites remain
|
|
67
|
+
authoritative: leaves return typed
|
|
65
68
|
evidence, never ask the human, change phase, or write canonical
|
|
66
69
|
`.devrites/**` state. See [`orchestration.md`](orchestration.md) for the
|
|
67
70
|
dispatch, fallback, identity, and reconciliation contract.
|
|
@@ -138,6 +141,24 @@ generated into `pack/generated/**` and installed to `.agents/skills`, `.codex/ag
|
|
|
138
141
|
different project-local conventions. Those generated host artifacts are delivered by the
|
|
139
142
|
npm installer; Claude/Codex plugin packaging is intentionally not a distribution path.
|
|
140
143
|
|
|
144
|
+
### Why semantic upgrade is separate from update and migration
|
|
145
|
+
|
|
146
|
+
Three operations solve different problems. `devrites-engine update` refreshes
|
|
147
|
+
the installed binary and pack. `devrites-engine migrate` normalizes workspace
|
|
148
|
+
layout and structural state schema. Neither one can claim that an active plan
|
|
149
|
+
still follows the current planning rules.
|
|
150
|
+
|
|
151
|
+
`/rite-upgrade [slug]` owns that semantic reconciliation. Build readiness uses
|
|
152
|
+
the `devrites.readiness-artifacts.v2` contract declared by
|
|
153
|
+
`decision-coverage.md`, `eng-review.md`, and `test-plan.md`; it returns code `8`
|
|
154
|
+
when those existing artifacts are stale. The rite then asks a fresh read-only
|
|
155
|
+
`devrites-upgrade-planner` to classify the gap before the root changes anything.
|
|
156
|
+
It preserves completed source, slice bodies, decisions, and evidence, repairs
|
|
157
|
+
only active unfinished planning, removes obsolete proof recipes and local
|
|
158
|
+
wrappers, and reruns the current readiness gates. Already-current workspaces
|
|
159
|
+
that pass readiness, completed workspaces, and archives remain untouched. See
|
|
160
|
+
[ADR-0012](adr/0012-semantic-workspace-upgrades.md).
|
|
161
|
+
|
|
141
162
|
### Why `/engine` was rejected
|
|
142
163
|
A single `/engine` (or `/devrites`) command would load every phase's
|
|
143
164
|
instructions into one context. That would increase context pressure, obscure
|
|
@@ -278,8 +299,8 @@ contract.
|
|
|
278
299
|
|
|
279
300
|
## Design choices at a glance
|
|
280
301
|
|
|
281
|
-
- **Surface**:
|
|
282
|
-
menu:
|
|
302
|
+
- **Surface**: 31 public `rite-*` skills (44 total), plus the thin `/rite`
|
|
303
|
+
menu: 32 public and 12 internal. The lifecycle
|
|
283
304
|
includes mandatory adaptive Clarify, optional Temper, mandatory Vet, and
|
|
284
305
|
Converge recovery; Seal **decides** and Ship **executes + closes**. Eleven
|
|
285
306
|
`devrites-*` specialists are model-invoked and `devrites-lib` is the shared
|
|
@@ -296,7 +317,7 @@ contract.
|
|
|
296
317
|
- **Slice rule**: build **one vertical slice, then stop**. There is no automatic continuation.
|
|
297
318
|
- **Drift**: an explicit **Spec Drift Guard** in build/prove/polish/review/seal.
|
|
298
319
|
- **Design**: `devrites-frontend-craft` + a four-phase `/rite-polish` orchestrator (code + backend always; UI normalize + polish when UI is in scope).
|
|
299
|
-
- **Agents**:
|
|
320
|
+
- **Agents**: 18 fresh-context roles at flat depth one: 17 read-only leaves and
|
|
300
321
|
one wright. Fallback order is named, generic, then labelled inline.
|
|
301
322
|
- **Review**: **feature-scoped** multi-axis review with severity labels and
|
|
302
323
|
fresh-context agents at the seal.
|
package/docs/cli.md
CHANGED
|
@@ -69,6 +69,7 @@ objective gaps to their owner:
|
|
|
69
69
|
| `5` | `workspace-missing` | Workspace or state.md is missing | `/rite-spec` |
|
|
70
70
|
| `6` | `coverage-not-clear` | Decision coverage is not CLEAR and fresh | `/rite-clarify` |
|
|
71
71
|
| `7` | `engineering-not-ready` | Plan is not vetted or implementation readiness is not READY | `/rite-vet` |
|
|
72
|
+
| `8` | `upgrade-required` | Planning artifacts use an older or unknown DevRites contract | `/rite-upgrade` |
|
|
72
73
|
<!-- authority:readiness-reasons:end -->
|
|
73
74
|
|
|
74
75
|
A non-zero `build-readiness`,
|
|
@@ -76,10 +77,15 @@ A non-zero `build-readiness`,
|
|
|
76
77
|
in an agent loop, a local script, or pre-merge CI.
|
|
77
78
|
|
|
78
79
|
`build-readiness` does not trust `CLEAR` or `READY` text alone. It validates the
|
|
79
|
-
required sections, tables, ownership and test mappings,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
required sections, tables, ownership and test mappings, requires the current
|
|
81
|
+
`devrites.readiness-artifacts.v2` declaration, and compares each artifact's
|
|
82
|
+
SHA-256 field with the digest of its canonical inputs.
|
|
83
|
+
|
|
84
|
+
`devrites-engine update` refreshes the installed binary and pack.
|
|
85
|
+
`devrites-engine migrate` may upgrade a workspace declaration to structural
|
|
86
|
+
schema v2, but it never creates or blesses clarification, vet, or proof
|
|
87
|
+
evidence. `/rite-upgrade [slug]` is the separate semantic reconciliation route
|
|
88
|
+
for an active unfinished workspace.
|
|
83
89
|
|
|
84
90
|
## Why this exists
|
|
85
91
|
|
package/docs/command-map.md
CHANGED
|
@@ -20,8 +20,9 @@ visibility. Public utilities use the `rite-*` prefix: `rite-quick`,
|
|
|
20
20
|
`rite-frame`, `rite-adopt`, `rite-learn`, `rite-doctor`, `rite-customize`,
|
|
21
21
|
`rite-zoom-out`, `rite-prototype`, `rite-handoff`, `rite-pressure-test`,
|
|
22
22
|
`rite-autocomplete`, `rite-explain`, `rite-pov`, `rite-dogfood`, and
|
|
23
|
-
`rite-pr-feedback
|
|
24
|
-
|
|
23
|
+
`rite-pr-feedback`, plus the semantic workspace maintenance command
|
|
24
|
+
`rite-upgrade`. The host may invoke `devrites-*` specialists through the model.
|
|
25
|
+
`devrites-lib` is the non-workflow library exception.
|
|
25
26
|
|
|
26
27
|
## Surface lifecycle
|
|
27
28
|
|
|
@@ -49,6 +50,11 @@ Workflow-owned commands should have a concrete call site in a `rite-*` skill,
|
|
|
49
50
|
phase contract, shared reply contract, or installed hook. Operator-owned commands
|
|
50
51
|
must say who runs them.
|
|
51
52
|
|
|
53
|
+
These similarly named operations have separate owners: `devrites-engine update`
|
|
54
|
+
replaces the installed engine and pack, `devrites-engine migrate` normalizes
|
|
55
|
+
workspace layout and structural state schema, and `/rite-upgrade` reconciles an
|
|
56
|
+
active workspace with the current semantic planning contract.
|
|
57
|
+
|
|
52
58
|
## Public commands (`user-invocable: true`)
|
|
53
59
|
|
|
54
60
|
| Command | Phase | Argument | What it does | Reads | Writes |
|
|
@@ -62,6 +68,7 @@ must say who runs them.
|
|
|
62
68
|
| [`/rite-plan`](../pack/.claude/skills/rite-plan/SKILL.md) | repair → plan | `[mode]` | Reslice / repair / re-order / split / unblock an active plan and return to the `plan` checkpoint; `revise` is artifact-only and `/rite-vet` is the normal resume. | spec/plan/tasks/state/drift + diff | `plan.md`, `tasks.md`, `state.md`, `decisions.md` |
|
|
63
69
|
| [`/rite-build`](../pack/.claude/skills/rite-build/SKILL.md) | build | `[slice]` | Orchestrate **exactly one** vertical slice through the sole wright. The root writes an exact `.wright-allowlist`, retains the original slice baseline through snapshot → reconcile check → test/package integrity → close, and refreshes only the dispatch boundary on bounded retries. Objective failures stay agent-owned; only product/scope/policy choices, irreversible risk, or human-only access/actions become questions. | workspace + diff + `.devrites/CHECKPOINT` | code + `.wright-allowlist`, `recovery-attempts.jsonl`, `state.md`, `evidence.md`, `traceability.md`, `touched-files.md` (+ local `WIP(<slug>)` commit in checkpoint mode) |
|
|
64
70
|
| [`/rite-converge`](../pack/.claude/skills/rite-converge/SKILL.md) | converge | `[slug]` | **Recovery.** Compare live code with clarified intent, append each unmet piece as a traceable `SLICE-###`, and invalidate the old vet verdict so changed work returns through `/rite-vet`. `tasks.md` stays byte-identical when already converged. | clarified spec + plan/tasks + principles + live code | `tasks.md` (appended), `traceability.md`, `state.md`, `eng-review.md` (invalidated), `decisions.md` |
|
|
71
|
+
| [`/rite-upgrade`](../pack/.claude/skills/rite-upgrade/SKILL.md) | maintenance | `[slug]` | **Conditional recovery.** Bring an active unfinished workspace onto `devrites.readiness-artifacts.v2`. A fresh read-only planner identifies the smallest change; the rite preserves completed source, slices, decisions, and evidence, removes stale engine-proof recipes and machine-local wrappers from active plans, then reruns current readiness gates. Already-current workspaces that pass readiness, completed workspaces, and archives are no-ops. | active workspace + current readiness contract | active unfinished planning artifacts only |
|
|
65
72
|
| [`/rite-prove`](../pack/.claude/skills/rite-prove/SKILL.md) | prove | `[scope]` | Tests + build + runtime + browser proof of the completed feature. | `traceability.md` + workspace + diff | `evidence.md`, `browser-evidence.md`, `traceability.md`, `state.md` |
|
|
66
73
|
| [`/rite-polish`](../pack/.claude/skills/rite-polish/SKILL.md) | polish | `[target \| mode]` | Orchestrator. Reads `reference/code.md` always (Phase 1 + 2); reads `reference/ui.md` when UI is touched (Phase 3 + 4). Mode tokens: `bolder \| quieter \| distill \| harden \| normalize-only`. | workspace + design system + diff | `polish-report.md`, `browser-evidence.md` |
|
|
67
74
|
| [`/rite-review`](../pack/.claude/skills/rite-review/SKILL.md) | review | `[scope]` | Feature-scoped multi-axis review. Parallel fresh-context Spec + Standards agents (`devrites-spec-reviewer`, `devrites-code-reviewer`). | workspace + diff | `review.md`, `evidence.md`, `state.md` |
|
|
@@ -110,7 +117,7 @@ the shared reference library.
|
|
|
110
117
|
|
|
111
118
|
## Agents (`.claude/agents/devrites-*`, fresh-context leaves)
|
|
112
119
|
|
|
113
|
-
**
|
|
120
|
+
**Eighteen roles:** 17 read-only leaves plus one source/test writer,
|
|
114
121
|
`devrites-slice-wright`.
|
|
115
122
|
|
|
116
123
|
| Agent | Spawned by | Purpose |
|
|
@@ -118,6 +125,7 @@ the shared reference library.
|
|
|
118
125
|
| [`devrites-evidence-scout`](../pack/.claude/agents/devrites-evidence-scout.md) | `/rite-spec`, `/rite-clarify`, `/rite-converge` | Read-only bounded evidence dossier from live code, project records, or cited external facts |
|
|
119
126
|
| [`devrites-plan-drafter`](../pack/.claude/agents/devrites-plan-drafter.md) | `/rite-define`, `/rite-plan repair` | Read-only planning candidate; the root makes decisions and writes planning artifacts |
|
|
120
127
|
| [`devrites-proof-runner`](../pack/.claude/agents/devrites-proof-runner.md) | `/rite-prove`, affected re-proof | Read-only tree plus non-destructive command execution; returns a proof report, never the verdict |
|
|
128
|
+
| [`devrites-upgrade-planner`](../pack/.claude/agents/devrites-upgrade-planner.md) | `/rite-upgrade` | Fresh read-only assessment of semantic contract gaps; returns a bounded preservation-first upgrade plan |
|
|
121
129
|
| [`devrites-slice-wright`](../pack/.claude/agents/devrites-slice-wright.md) | `/rite-build` (the build core) | **Sole source/test writer**: implement one exact allowlisted slice (orient → TDD → verify); returns a typed artifact and writes no bookkeeping |
|
|
122
130
|
| [`devrites-strategy-reviewer`](../pack/.claude/agents/devrites-strategy-reviewer.md) | `/rite-temper` (pre-plan) | Spec-vs-rubric strategic review (ambition / scope / premise / pre-mortem / YAGNI / testability / irreversibility / cross-cutting / convention); read-only; **not** part of the seal fan-out |
|
|
123
131
|
| [`devrites-plan-reviewer`](../pack/.claude/agents/devrites-plan-reviewer.md) | `/rite-vet` (pre-build) | Plan-vs-rubric engineering review (architecture / scope-reuse / plan code-quality / test-coverage design / performance / reversibility / failure-mode coverage), confidence-banded with a quote-the-source verification gate; read-only; **not** part of the seal fan-out |
|
|
@@ -196,9 +204,10 @@ See [`flow.md`](flow.md) for the Mermaid diagrams. The text form is:
|
|
|
196
204
|
|
|
197
205
|
- Every phase **reads the active workspace first**; if none, it stops and tells
|
|
198
206
|
the user to run `/rite-spec <feature>`.
|
|
199
|
-
- **Spec Drift Guard** lives in build/prove/polish/review/seal: on drift,
|
|
200
|
-
|
|
201
|
-
|
|
207
|
+
- **Spec Drift Guard** lives in build/prove/polish/review/seal: on drift, stop,
|
|
208
|
+
record in `drift.md`, and classify. Objective implementation and tool defects
|
|
209
|
+
use bounded recovery; a wrong durable plan uses `/rite-plan repair`; only a
|
|
210
|
+
product, policy, or irreversible-risk choice asks the user.
|
|
202
211
|
- `/rite-seal` fans out to `.claude/agents/devrites-*` reviewers **in
|
|
203
212
|
parallel** for independent, fresh-context judgment, then writes the GO /
|
|
204
213
|
NO-GO verdict: it runs no git. On GO it hands off to `/rite-ship`, which
|
package/docs/engine/commands.md
CHANGED
|
@@ -127,6 +127,12 @@ Migration is:
|
|
|
127
127
|
The phase is derived from the legacy `state.md`, defaulting to `build` when it
|
|
128
128
|
can't be read.
|
|
129
129
|
|
|
130
|
+
`devrites-engine update` refreshes the installed binary and pack. Migration
|
|
131
|
+
stops at structural compatibility and does not certify old planning artifacts
|
|
132
|
+
against current workflow rules. Build readiness routes an active workspace with
|
|
133
|
+
stale semantic artifacts to `/rite-upgrade [slug]`; that public rite preserves
|
|
134
|
+
completed work and reconciles only unfinished planning.
|
|
135
|
+
|
|
130
136
|
## Hooks: `hook <name> --harness=claude|codex`
|
|
131
137
|
|
|
132
138
|
One binary serves Claude Code and Codex through thin per-harness adapters.
|
|
@@ -33,6 +33,10 @@ engine reads missing/v1 declarations and legacy aliases additively, refuses a
|
|
|
33
33
|
version newer than it supports, and keeps the snapshot wire schema separate.
|
|
34
34
|
`devrites-engine migrate` upgrades the declaration and layout metadata; it does
|
|
35
35
|
not manufacture decision coverage, vet readiness, test plans, or proof.
|
|
36
|
+
Semantic planning compatibility uses a separate readiness-artifact contract.
|
|
37
|
+
The current value is `devrites.readiness-artifacts.v2`; `/rite-upgrade [slug]`
|
|
38
|
+
reconciles an active unfinished workspace when build readiness reports an older
|
|
39
|
+
or unknown contract.
|
|
36
40
|
|
|
37
41
|
Canonical live workspace:
|
|
38
42
|
|
|
@@ -141,6 +145,8 @@ Files may exceed budgets only with a visible `Budget override: <reason>` line.
|
|
|
141
145
|
|
|
142
146
|
The typed verdict is necessary but not sufficient:
|
|
143
147
|
|
|
148
|
+
- `decision-coverage.md`, `eng-review.md`, and `test-plan.md` declare
|
|
149
|
+
`DevRites contract: devrites.readiness-artifacts.v2`.
|
|
144
150
|
- `Coverage inputs SHA-256` binds `decision-coverage.md` to `brief.md`,
|
|
145
151
|
`spec.md`, `decisions.md`, `assumptions.md`, and `questions.md`.
|
|
146
152
|
- `Readiness inputs SHA-256` binds `eng-review.md` to `spec.md`,
|
|
@@ -149,7 +155,10 @@ The typed verdict is necessary but not sufficient:
|
|
|
149
155
|
|
|
150
156
|
`devrites-engine readiness-digest coverage|engineering [slug]` emits the
|
|
151
157
|
canonical field line. `build-readiness` rejects stale digests, malformed or
|
|
152
|
-
contradictory content,
|
|
158
|
+
contradictory content, missing markers, and older or unknown semantic contracts.
|
|
159
|
+
Contract failures use code `8` and route to `/rite-upgrade`; missing coverage or
|
|
160
|
+
vet artifacts keep their existing `/rite-clarify` and `/rite-vet` routes. A
|
|
161
|
+
later-phase clarification
|
|
153
162
|
retrofit uses `clarify-return enter|restore`; restore requires fresh `CLEAR`
|
|
154
163
|
coverage, while an acceptance-changing result keeps the cursor for plan repair.
|
|
155
164
|
|
package/docs/flow.md
CHANGED
|
@@ -10,10 +10,12 @@ For the full per-skill table, see [`command-map.md`](command-map.md). For the
|
|
|
10
10
|
|
|
11
11
|
This diagram shows the normal path. Each arrow assumes that the previous
|
|
12
12
|
phase's readiness gate passed. Failures route through `/rite-clarify`,
|
|
13
|
-
`/rite-plan repair`, or `devrites-debug-recovery`.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
`/rite-plan repair`, `/rite-upgrade`, or `devrites-debug-recovery`.
|
|
14
|
+
`/rite-upgrade` is conditional maintenance rather than a lifecycle phase: build
|
|
15
|
+
readiness uses it only when existing semantic artifacts are stale.
|
|
16
|
+
`/rite-clarify` always runs but may ask zero questions; `/rite-temper` is the
|
|
17
|
+
optional strategic branch; `/rite-vet` runs on every defined plan, with depth
|
|
18
|
+
scaled to risk. Build asks the human only for genuine
|
|
17
19
|
product/scope/policy decisions, irreversible risk, or human-only access/actions;
|
|
18
20
|
`/rite-resolve` is the resume verb.
|
|
19
21
|
|
|
@@ -28,6 +30,8 @@ flowchart LR
|
|
|
28
30
|
Define -->|plan.md + tasks.md<br/>approved| Plan[(plan checkpoint)]
|
|
29
31
|
Plan -->|normal resume| Vet[/rite-vet/]
|
|
30
32
|
Vet -->|fresh digest-bound READY<br/>+ test-plan.md| Build[/rite-build/]
|
|
33
|
+
Build -.->|build-readiness code 8<br/>stale semantic contract| Upgrade[/rite-upgrade/]
|
|
34
|
+
Upgrade -.->|contract v2<br/>current gates pass| Build
|
|
31
35
|
Build -.->|exact .wright-allowlist<br/>retained baseline| Wright[devrites-slice-wright]
|
|
32
36
|
Wright -.->|typed result| Build
|
|
33
37
|
Build -->|one slice done<br/>+ evidence| Build
|
|
@@ -59,7 +63,7 @@ flowchart LR
|
|
|
59
63
|
classDef internal fill:#0f172a,stroke:#9ca3af,color:#f9fafb
|
|
60
64
|
class Spec,Clarify,Temper,Define,Plan,Vet,Build,Prove,Polish,Review,Seal,Ship2 phase
|
|
61
65
|
class Shipped done
|
|
62
|
-
class Repair repair
|
|
66
|
+
class Repair,Upgrade repair
|
|
63
67
|
class Await gate
|
|
64
68
|
class Shape,Forge,Wright internal
|
|
65
69
|
```
|
|
@@ -325,7 +329,7 @@ separately by `disable-model-invocation`.
|
|
|
325
329
|
|
|
326
330
|
```mermaid
|
|
327
331
|
flowchart TB
|
|
328
|
-
subgraph Public["Public (user-invocable: true):
|
|
332
|
+
subgraph Public["Public (user-invocable: true): 32 skills"]
|
|
329
333
|
direction TB
|
|
330
334
|
R1[/rite/]
|
|
331
335
|
R2[/rite-spec/]
|
|
@@ -349,6 +353,7 @@ flowchart TB
|
|
|
349
353
|
RA[/rite-adopt/]
|
|
350
354
|
RL[/rite-learn/]
|
|
351
355
|
RD[/rite-doctor/]
|
|
356
|
+
RU[/rite-upgrade/]
|
|
352
357
|
RE[/rite-explain/]
|
|
353
358
|
RCU[/rite-customize/]
|
|
354
359
|
RDO[/rite-dogfood/]
|
|
@@ -377,7 +382,7 @@ flowchart TB
|
|
|
377
382
|
|
|
378
383
|
classDef pub fill:#064e3b,stroke:#34d399,color:#ecfdf5
|
|
379
384
|
classDef int fill:#1f2937,stroke:#9ca3af,color:#f9fafb
|
|
380
|
-
class R1,R2,RCL,RT,R3,RV,R4,R5,RC,R6,R7,R8,R9,R12,R13,R10,R11,RQ,RF,RA,RL,RD,RE,RCU,RDO,RPOV,RPF,IPT,D1,D2,D3 pub
|
|
385
|
+
class R1,R2,RCL,RT,R3,RV,R4,R5,RC,R6,R7,R8,R9,R12,R13,R10,R11,RQ,RF,RA,RL,RD,RU,RE,RCU,RDO,RPOV,RPF,IPT,D1,D2,D3 pub
|
|
381
386
|
class I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12 int
|
|
382
387
|
```
|
|
383
388
|
|
package/docs/orchestration.md
CHANGED
|
@@ -14,12 +14,12 @@ this page summarizes that model.
|
|
|
14
14
|
dispatch leaves.
|
|
15
15
|
- Normally at most three read-only leaves run concurrently against one frozen
|
|
16
16
|
candidate. The root awaits every required return before mutation.
|
|
17
|
-
- There are **
|
|
17
|
+
- There are **18 named roles**: 17 read-only leaves and one source/test writer,
|
|
18
18
|
`devrites-slice-wright`.
|
|
19
19
|
|
|
20
20
|
| Group | Roles |
|
|
21
21
|
|---|---|
|
|
22
|
-
| Bounded work leaves | `devrites-evidence-scout`, `devrites-plan-drafter`, `devrites-proof-runner` |
|
|
22
|
+
| Bounded work leaves | `devrites-evidence-scout`, `devrites-plan-drafter`, `devrites-proof-runner`, `devrites-upgrade-planner` |
|
|
23
23
|
| Strategic/claim challenge | `devrites-strategy-reviewer`, `devrites-plan-reviewer`, `devrites-doubt-reviewer` |
|
|
24
24
|
| Review/audit | `devrites-spec-reviewer`, `devrites-code-reviewer`, `devrites-test-analyst`, `devrites-frontend-reviewer`, `devrites-security-auditor`, `devrites-performance-reviewer`, `devrites-devex-reviewer`, `devrites-simplifier-reviewer` |
|
|
25
25
|
| Comparison/history | `devrites-forge-judge`, `devrites-retrospector` |
|
package/docs/quick-reference.md
CHANGED
|
@@ -12,6 +12,10 @@ Claude Code and Codex artifacts; plugin stores do not distribute them.
|
|
|
12
12
|
Seal makes the release decision, Ship mutates git, Build handles one slice per
|
|
13
13
|
run, and Autocomplete is opt-in.
|
|
14
14
|
|
|
15
|
+
Conditional maintenance: `/rite-upgrade [slug]` reconciles an active unfinished
|
|
16
|
+
workspace with the current semantic planning contract when build readiness
|
|
17
|
+
returns code `8`. It is not a lifecycle phase.
|
|
18
|
+
|
|
15
19
|
## Standing checklists
|
|
16
20
|
|
|
17
21
|
- Definition of Done: `pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md`
|
package/docs/skills.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# All
|
|
1
|
+
# All 44 skills
|
|
2
2
|
|
|
3
|
-
The pack contains
|
|
3
|
+
The pack contains 44 skills: the `rite` menu, 31 user-invocable `rite-*`
|
|
4
4
|
workflow and utility skills, 11 model-invoked `devrites-*` specialists, and the
|
|
5
5
|
internal `devrites-lib` library. `devrites-lib` is not a command. It holds shared
|
|
6
6
|
references and the few explicit script exceptions.
|
|
@@ -23,7 +23,8 @@ only when needed; small utilities keep their narrower contract local. The npm
|
|
|
23
23
|
`rite-*` is the namespace for lifecycle and utility commands. Its utilities are
|
|
24
24
|
`rite-quick`, `rite-frame`, `rite-adopt`, `rite-learn`, `rite-customize`,
|
|
25
25
|
`rite-explain`, `rite-pov`, `rite-dogfood`, `rite-pr-feedback`, `rite-doctor`,
|
|
26
|
-
`rite-prototype`, `rite-handoff`, `rite-zoom-out`, and
|
|
26
|
+
`rite-upgrade`, `rite-prototype`, `rite-handoff`, `rite-zoom-out`, and
|
|
27
|
+
`rite-pressure-test`.
|
|
27
28
|
Some specialized utilities set `disable-model-invocation: true` and run only
|
|
28
29
|
when explicitly invoked, which keeps the always-loaded skill surface small.
|
|
29
30
|
`devrites-*` is the specialist and library namespace used to avoid collisions.
|
|
@@ -89,6 +90,7 @@ blocks obvious multi-command `Next:` wording.
|
|
|
89
90
|
| [`rite-status`](../pack/.claude/skills/rite-status/SKILL.md) | Read-only report: phase, run mode (AFK/HITL), status, active slice, next action, evidence, open questions by gate, drift, risks. | Explicit-only: type `/rite-status` / `/rite status`. |
|
|
90
91
|
| [`rite-resolve`](../pack/.claude/skills/rite-resolve/SKILL.md) | Answer / drop / batch-resolve open `questions.md` entries; clears `state.md` `Awaiting human` and resumes the workflow. | Explicit-only: type `/rite-resolve <qid> "<answer>"`. |
|
|
91
92
|
| [`rite-doctor`](../pack/.claude/skills/rite-doctor/SKILL.md) | Diagnose DevRites install, workspace, and optional index health. `--reindex` runs the internal synchronous refresh. | "rite doctor", "is DevRites healthy", "reindex". |
|
|
93
|
+
| [`rite-upgrade`](../pack/.claude/skills/rite-upgrade/SKILL.md) | Reconcile an active unfinished workspace with the current semantic planning contract while preserving completed source, slices, decisions, and evidence. | Explicit-only: build readiness returns code `8`, or you need to continue a workspace planned under older DevRites rules. |
|
|
92
94
|
| [`rite-customize`](../pack/.claude/skills/rite-customize/SKILL.md) | Guided authoring for project-local reviewer overrides and extensions; validates before stopping. | Explicit-only: `/rite-customize` / `/rite customize`. |
|
|
93
95
|
|
|
94
96
|
### Express and ad hoc: small or unguarded work
|
|
@@ -203,8 +205,8 @@ blocks obvious multi-command `Next:` wording.
|
|
|
203
205
|
|
|
204
206
|
## Fresh-context agents
|
|
205
207
|
|
|
206
|
-
DevRites ships
|
|
207
|
-
writer.
|
|
208
|
+
DevRites ships 18 roles at depth one: 17 read-only leaves and one source/test
|
|
209
|
+
writer. Four read-only roles handle bounded work while the root keeps
|
|
208
210
|
authority:
|
|
209
211
|
|
|
210
212
|
| Agent | Purpose |
|
|
@@ -212,6 +214,7 @@ authority:
|
|
|
212
214
|
| [`devrites-evidence-scout`](../pack/.claude/agents/devrites-evidence-scout.md) | Build a bounded evidence dossier for spec, clarify, converge, or cited external facts. |
|
|
213
215
|
| [`devrites-plan-drafter`](../pack/.claude/agents/devrites-plan-drafter.md) | Draft a planning candidate for define or plan repair; the root decides and writes artifacts. |
|
|
214
216
|
| [`devrites-proof-runner`](../pack/.claude/agents/devrites-proof-runner.md) | Run non-destructive proof commands against a read-only tree and return a proof report. |
|
|
217
|
+
| [`devrites-upgrade-planner`](../pack/.claude/agents/devrites-upgrade-planner.md) | Read an old workspace from scratch, classify semantic contract gaps, and return a bounded upgrade plan without changing files. |
|
|
215
218
|
| [`devrites-strategy-reviewer`](../pack/.claude/agents/devrites-strategy-reviewer.md) | **Pre-plan** spec-vs-rubric strategic review (ambition / scope / premise / pre-mortem / YAGNI / testability / irreversibility / cross-cutting / convention). Used by `/rite-temper`, not the seal fan-out. |
|
|
216
219
|
| [`devrites-plan-reviewer`](../pack/.claude/agents/devrites-plan-reviewer.md) | **Pre-build** plan-vs-rubric engineering review (architecture / scope-reuse / plan code-quality / test-coverage design / performance / reversibility / failure-mode coverage), confidence-banded with a quote-the-source verification gate. Used by `/rite-vet`, not the seal fan-out. |
|
|
217
220
|
| [`devrites-forge-judge`](../pack/.claude/agents/devrites-forge-judge.md) | **Build-time** comparative judge of two or three candidate builds of one slice (acceptance / test strength / principle fit / simplicity / reuse / anti-slop). Used by `/rite-build` on a `Forge: yes` slice; picks the single winner to land and names grafts. |
|
package/docs/usage.md
CHANGED
|
@@ -5,7 +5,9 @@ These examples cover the common DevRites workflows. Start a new feature with
|
|
|
5
5
|
`/rite-quick` and `/rite-frame` handle bounded work outside the full feature
|
|
6
6
|
lifecycle. Workspace phases first read the active workspace from
|
|
7
7
|
`.devrites/ACTIVE` and `.devrites/work/<slug>/`. If none exists, they report the
|
|
8
|
-
command that can create or select one.
|
|
8
|
+
command that can create or select one. `/rite-upgrade [slug]` is the
|
|
9
|
+
conditional maintenance route for an active workspace planned under older
|
|
10
|
+
DevRites rules.
|
|
9
11
|
|
|
10
12
|
- **Full command reference** → [`command-map.md`](command-map.md)
|
|
11
13
|
- **Flow diagrams** → [`flow.md`](flow.md)
|
|
@@ -24,7 +26,7 @@ the work across compaction and new sessions:
|
|
|
24
26
|
| `README.md` / `index.md` / `feature.md` | `/rite-spec` | compact workspace map: phase, status, next action, artifact map, read-next table, gates |
|
|
25
27
|
| `brief.md` | `/rite-spec` | one-line objective + definition of done |
|
|
26
28
|
| `spec.md` | `/rite-spec` | product WHAT/WHY, requirements, acceptance, boundaries, measurable success |
|
|
27
|
-
| `decision-coverage.md` | `/rite-clarify` | topology-first coverage plus semantic `CLEAR` verdict bound to all decision inputs |
|
|
29
|
+
| `decision-coverage.md` | `/rite-clarify` | topology-first coverage plus semantic `CLEAR` verdict bound to all decision inputs and the current readiness-artifact contract |
|
|
28
30
|
| `architecture.md` | `/rite-define` | owning module/layer, integration points, data/API/events, dependencies, risks |
|
|
29
31
|
| `flows.md` | `/rite-spec` or `/rite-define` | optional Mermaid diagrams when sequence/state/data flow clarifies behavior |
|
|
30
32
|
| `references/` + `references.md` | `/rite-spec` | saved design refs: screenshots, Figma, video, links |
|
|
@@ -32,8 +34,8 @@ the work across compaction and new sessions:
|
|
|
32
34
|
| `plan.md` | `/rite-define` | approach, dependency graph, checkpoints, rollback |
|
|
33
35
|
| `tasks.md` | `/rite-define` | ordered `SLICE-###` vertical slices, each mapped to `AC-###` and tagged `Mode: AFK \| HITL` + gate fields |
|
|
34
36
|
| `traceability.md` | `/rite-define` | AC/REQ → slices → tests/proofs → evidence → touched files matrix |
|
|
35
|
-
| `eng-review.md` | `/rite-vet` | mandatory engineering review with semantic, input-digest-bound readiness verdict |
|
|
36
|
-
| `test-plan.md` | `/rite-vet` | build-readable coverage target: coverage diagram, per-gap test requirements, acceptance→test map (read by `/rite-build` + `/rite-prove`) |
|
|
37
|
+
| `eng-review.md` | `/rite-vet` | mandatory engineering review with semantic, input-digest-bound readiness verdict and readiness-artifact contract |
|
|
38
|
+
| `test-plan.md` | `/rite-vet` | build-readable coverage target and readiness-artifact contract: coverage diagram, per-gap test requirements, acceptance→test map (read by `/rite-build` + `/rite-prove`) |
|
|
37
39
|
| `state.md` | every phase | working cursor: phase, status, next action, slice, AFK budget, durable clarification return fields, and `Awaiting human` only when paused |
|
|
38
40
|
| `recovery-attempts.jsonl` | technical recovery | durable three-failure budget per root-cause fingerprint |
|
|
39
41
|
| `.wright-allowlist` | `/rite-build` root | exact normalized source/test paths the sole wright may change |
|
|
@@ -62,7 +64,10 @@ deleting the old files. `feature.md`/`index.md` can still act as the workspace
|
|
|
62
64
|
map, `status.md` as the cursor alias for `state.md`, and `proof.md` as the proof
|
|
63
65
|
alias for `evidence.md`. Workspace maps use schema v2; migration upgrades
|
|
64
66
|
compatible declarations but never fabricates clarification, readiness, or proof
|
|
65
|
-
evidence.
|
|
67
|
+
evidence. That structural schema is separate from the semantic planning
|
|
68
|
+
contract. `/rite-upgrade` reconciles active unfinished planning with
|
|
69
|
+
`devrites.readiness-artifacts.v2`; it does not rewrite current, completed, or
|
|
70
|
+
archived workspaces.
|
|
66
71
|
|
|
67
72
|
Project-root sentinel (outside the workspace):
|
|
68
73
|
|
|
@@ -124,6 +129,27 @@ original baseline. A retry snapshot refreshes only the dispatch boundary.
|
|
|
124
129
|
`/rite-seal` **decides**; `/rite-ship` **executes + closes**. To run the whole
|
|
125
130
|
sequence unattended, see `/rite-autocomplete` (§11).
|
|
126
131
|
|
|
132
|
+
## 2a) Continue a workspace planned under older rules
|
|
133
|
+
|
|
134
|
+
Run the upgrade after updating DevRites when build readiness reports code `8`,
|
|
135
|
+
or invoke it directly for an older active workspace:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
/rite-upgrade ark-panda-redesign
|
|
139
|
+
→ a fresh read-only devrites-upgrade-planner compares the active unfinished
|
|
140
|
+
planning surface with devrites.readiness-artifacts.v2
|
|
141
|
+
→ completed source, slices, decisions, and evidence stay unchanged
|
|
142
|
+
→ stale old-engine proof recipes and machine-local command wrappers leave the
|
|
143
|
+
active canonical plan
|
|
144
|
+
→ current coverage and engineering-readiness gates run again
|
|
145
|
+
→ an already-current workspace that passes readiness is a no-op; completed
|
|
146
|
+
workspaces and archives are also left alone
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
This is not the same as `devrites-engine update`, which refreshes the installed
|
|
150
|
+
engine and pack, or `devrites-engine migrate`, which normalizes workspace layout
|
|
151
|
+
and structural state schema.
|
|
152
|
+
|
|
127
153
|
## 3) Spec drift mid-build
|
|
128
154
|
|
|
129
155
|
```text
|