devrites 4.0.7 → 4.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +5 -3
- package/docs/skills.md +2 -2
- package/pack/.claude/agents/devrites-plan-drafter.md +9 -0
- package/pack/.claude/agents/devrites-plan-reviewer.md +4 -1
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +11 -0
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +3 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/agents.md +11 -5
- package/pack/.claude/skills/devrites-lib/reference/standards/one-shot-actions.md +35 -6
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +2 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +57 -0
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -0
- package/pack/.claude/skills/rite-build/SKILL.md +11 -2
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +18 -4
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +4 -0
- package/pack/.claude/skills/rite-plan/SKILL.md +10 -0
- package/pack/.claude/skills/rite-prove/SKILL.md +13 -2
- package/pack/.claude/skills/rite-prove/reference/failure-triage.md +6 -0
- package/pack/.claude/skills/rite-vet/SKILL.md +4 -2
- package/pack/.claude/skills/rite-vet/reference/artifacts.md +4 -4
- package/pack/generated/claude/agents/devrites-plan-drafter.md +9 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +4 -1
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +11 -0
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +3 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +11 -5
- package/pack/generated/claude/skills/devrites-lib/reference/standards/one-shot-actions.md +35 -6
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +2 -1
- package/pack/generated/claude/skills/devrites-lib/reference/standards/workflow-artifacts.md +57 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +7 -0
- package/pack/generated/claude/skills/rite-build/SKILL.md +11 -2
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +18 -4
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +4 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +10 -0
- package/pack/generated/claude/skills/rite-prove/SKILL.md +13 -2
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +6 -0
- package/pack/generated/claude/skills/rite-vet/SKILL.md +4 -2
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +4 -4
- package/pack/generated/codex/AGENTS.md +1 -1
- package/pack/generated/codex/agents/devrites-plan-drafter.toml +9 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +4 -1
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +11 -0
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +3 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +1 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +11 -5
- package/pack/generated/codex/skills/devrites-lib/reference/standards/one-shot-actions.md +35 -6
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +2 -1
- package/pack/generated/codex/skills/devrites-lib/reference/standards/workflow-artifacts.md +57 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +7 -0
- package/pack/generated/codex/skills/rite-build/SKILL.md +11 -2
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +18 -4
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +4 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +10 -0
- package/pack/generated/codex/skills/rite-prove/SKILL.md +13 -2
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +6 -0
- package/pack/generated/codex/skills/rite-vet/SKILL.md +4 -2
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +4 -4
- package/package.json +1 -1
- package/scripts/codex-generate.sh +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
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
|
+
## [4.0.9](https://github.com/ViktorsBaikers/DevRites/compare/v4.0.8...v4.0.9) (2026-08-08)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
* **rite:** materialize workflow proof artifacts ([95ec9d7](https://github.com/ViktorsBaikers/DevRites/commit/95ec9d7dfa2b0708566a66723a289eaeb0607ddf))
|
|
10
|
+
|
|
11
|
+
## [4.0.8](https://github.com/ViktorsBaikers/DevRites/compare/v4.0.7...v4.0.8) (2026-08-08)
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
* **rite:** require actionable one-shot evidence ([19d996c](https://github.com/ViktorsBaikers/DevRites/commit/19d996c9666febb33e44ecdd91d3254d3a562c8a))
|
|
16
|
+
|
|
5
17
|
## [4.0.7](https://github.com/ViktorsBaikers/DevRites/compare/v4.0.6...v4.0.7) (2026-08-08)
|
|
6
18
|
|
|
7
19
|
### Fixed
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ project-conventional push, tag, or PR action, and archive the workspace.
|
|
|
28
28
|
Unattended runs may create local WIP checkpoint commits along the way, but they
|
|
29
29
|
remain local unless Ship's disclosed plan includes an approved remote action.
|
|
30
30
|
|
|
31
|
-
**Status:** [`v4.0.
|
|
31
|
+
**Status:** [`v4.0.9`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v4.0.9): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
|
|
32
32
|
|
|
33
33
|
This is the latest published release; `main` may contain unreleased work.
|
|
34
34
|
|
|
@@ -83,7 +83,7 @@ the same skill.
|
|
|
83
83
|
| 3 | Temper | [`/rite-temper`](pack/.claude/skills/rite-temper/SKILL.md) | Challenges scope and failure modes before Define. It is optional for small work and always runs in `/rite-autocomplete`. |
|
|
84
84
|
| 4 | Define | [`/rite-define`](pack/.claude/skills/rite-define/SKILL.md) | Turns the approved spec into architecture, a plan, traceability, and vertical task slices; changed provider/consumer boundaries name one shared contract and consuming tests on both sides. |
|
|
85
85
|
| 5 | Vet | [`/rite-vet`](pack/.claude/skills/rite-vet/SKILL.md) | Reviews every plan before implementation. The review depth scales with the risk. |
|
|
86
|
-
| 6 | Build | [`/rite-build`](pack/.claude/skills/rite-build/SKILL.md) | In HITL, implements and verifies one slice, then stops. Run it again for each remaining slice. An explicit `.devrites/AFK` sentinel permits bounded low-risk slice chaining under its cap and pause rules. |
|
|
86
|
+
| 6 | Build | [`/rite-build`](pack/.claude/skills/rite-build/SKILL.md) | In HITL, implements and verifies one product slice, then stops. Run it again for each remaining slice. An explicit `.devrites/AFK` sentinel permits bounded low-risk slice chaining under its cap and pause rules. Exact Vet-ready executable workflow artifacts under the active feature workspace are root-materialized and excluded from product slice accounting. |
|
|
87
87
|
| 7 | Converge | [`/rite-converge`](pack/.claude/skills/rite-converge/SKILL.md) | Runs only when recovery is needed. It compares the code with the recorded intent, adds missing slices, and sends the changed plan back to Vet. |
|
|
88
88
|
| 8 | Prove | [`/rite-prove`](pack/.claude/skills/rite-prove/SKILL.md) | Runs positive, discriminating tests, build/runtime checks, and UI proof, then binds the evidence to the exact candidate digest. |
|
|
89
89
|
| 9 | Polish | [`/rite-polish`](pack/.claude/skills/rite-polish/SKILL.md) | Cleans up the candidate, normalizes UI when needed, performs durable capability/design/ADR rollups, and refreshes affected proof before closing it. |
|
|
@@ -101,7 +101,9 @@ Some work needs a different route:
|
|
|
101
101
|
Ship preflight, discloses the exact Git plan, and waits for a fresh literal
|
|
102
102
|
`GO` plus native approval; without that flag, it stops at Seal GO. A failed
|
|
103
103
|
consumptive proof action never retries blindly: retained evidence drives
|
|
104
|
-
offline repair and re-vetting
|
|
104
|
+
offline repair and re-vetting. Ambiguous retained evidence first drives a vetted
|
|
105
|
+
boundary-discriminating diagnostic design; only its next real acquisition attempt
|
|
106
|
+
needs a new GO.
|
|
105
107
|
- [`/rite-upgrade [slug]`](pack/.claude/skills/rite-upgrade/SKILL.md) is a
|
|
106
108
|
compatibility route for an older active workspace that cannot resume. Age or
|
|
107
109
|
cursor form alone never triggers repair; it is not a lifecycle phase.
|
package/docs/skills.md
CHANGED
|
@@ -178,7 +178,7 @@ and `Shipped`. Utility commands keep the same compact labels and one-next-action
|
|
|
178
178
|
|
|
179
179
|
| Skill | What It Does | Use When |
|
|
180
180
|
|---|---|---|
|
|
181
|
-
| [`rite-build`](../pack/.claude/skills/rite-build/SKILL.md) | In HITL, orchestrates one vertical slice through the sole wright; an explicit `.devrites/AFK` sentinel may chain bounded low-risk slices.
|
|
181
|
+
| [`rite-build`](../pack/.claude/skills/rite-build/SKILL.md) | In HITL, orchestrates one vertical product slice through the sole wright; an explicit `.devrites/AFK` sentinel may chain bounded low-risk slices. Exact Vet-ready executable proof artifacts under the active `.devrites/work/<slug>/` are instead materialized atomically by the controlling root and remain outside product candidate/slice accounting. | A plan exists, native semantic `CLEAR` and `READY` review passes, `test-plan.md` is complete, and the content-bound engine check passes. |
|
|
182
182
|
| [`devrites-source-driven`](../pack/.claude/skills/devrites-source-driven/SKILL.md) | Consult official docs / source before relying on framework behavior; record the source. | API, config, or framework behavior is assumed rather than known. |
|
|
183
183
|
| [`devrites-api-interface`](../pack/.claude/skills/devrites-api-interface/SKILL.md) | Design stable API / interface contracts: REST/GraphQL, module boundaries, type contracts, FE/BE split. | A slice crosses a boundary or defines a public interface. |
|
|
184
184
|
| [`devrites-debug-recovery`](../pack/.claude/skills/devrites-debug-recovery/SKILL.md) | Reproduce → ranked hypotheses → instrument → fix in scope → regression-test. Caller and recovery count at most three failures per causal fingerprint from context and Dead ends/evidence. | Tests, builds, or runtime checks fail. |
|
|
@@ -187,7 +187,7 @@ and `Shipped`. Utility commands keep the same compact labels and one-next-action
|
|
|
187
187
|
|
|
188
188
|
| Skill | What It Does | Use When |
|
|
189
189
|
|---|---|---|
|
|
190
|
-
| [`rite-prove`](../pack/.claude/skills/rite-prove/SKILL.md) | Positive, discriminating tests + build/runtime/browser evidence. Requires the same candidate digest before/after commands and records the exact binding. Consumptive actions must retain bounded diagnostics through cleanup;
|
|
190
|
+
| [`rite-prove`](../pack/.claude/skills/rite-prove/SKILL.md) | Positive, discriminating tests + build/runtime/browser evidence. Requires the same candidate digest before/after commands and records the exact binding. Consumptive actions must retain bounded, causally unique diagnostics through cleanup; ambiguous evidence triggers a vetted diagnostic-amplification design, while any next real execution waits for fresh authorization. | All slices built; ready for full verification. |
|
|
191
191
|
| [`devrites-browser-proof`](../pack/.claude/skills/devrites-browser-proof/SKILL.md) | Browser proof ladder: Playwright MCP → Chrome DevTools MCP → `/run`+`/verify` → project E2E → manual. Auto-emits the structured **Visual Verdict** (per-criterion PASS/FAIL vs `design-brief.md`) for UI slices: consumed by `devrites-frontend-reviewer` and gated at `/rite-seal`. | Scope touches UI. |
|
|
192
192
|
|
|
193
193
|
### Polish: normalize, then check the details
|
|
@@ -25,6 +25,13 @@ slices in dependency order. Map every REQ and AC to a slice and executable proof
|
|
|
25
25
|
name rollback and failure paths; keep acceptance-changing proposals separate. Durable
|
|
26
26
|
proof commands must be portable repository commands, never host-local wrappers,
|
|
27
27
|
user-specific absolute paths, or temporary proof trees.
|
|
28
|
+
For every consumptive action, apply `one-shot-actions.md`: draft a durable bounded
|
|
29
|
+
artifact, a finite injective map from every failure emit seam to a stable non-secret
|
|
30
|
+
boundary ID and offline decision, per-seam fault fixtures, cleanup-survival proof,
|
|
31
|
+
and a collision mutant. If prior retained evidence is missing or ambiguous, draft a
|
|
32
|
+
diagnostic-amplification repair and narrow-Vet proof rather than guessing the
|
|
33
|
+
runtime correction or declaring the old evidence loss terminal. Keep the future
|
|
34
|
+
evidence-acquisition attempt separately gated by fresh human authorization.
|
|
28
35
|
For `plan.md`, include exactly one canonical `Shared contract proof` table when an API,
|
|
29
36
|
event, schema, or other provider/consumer boundary changes. Name a reused canonical artifact
|
|
30
37
|
and asserting provider/consumer tests that both consume it, ordered through slice dependencies.
|
|
@@ -36,6 +43,8 @@ principle-exception questions. List them for the root.
|
|
|
36
43
|
## Rules
|
|
37
44
|
|
|
38
45
|
- Read-only. Do not edit source, tests, `.devrites/**`, Git state, or dependencies.
|
|
46
|
+
- Design executable workflow artifacts completely, but never return implementation bodies
|
|
47
|
+
or materialize them; the later Vet-ready step follows `workflow-artifacts.md`.
|
|
39
48
|
- Do not ask the user, approve the plan, set readiness, or advance a phase.
|
|
40
49
|
- Do not invoke another agent.
|
|
41
50
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
@@ -58,7 +58,10 @@ line, and then assign the band. Do not choose a score and justify it afterward:
|
|
|
58
58
|
no error handling** is a critical gap. For every consumptive action under
|
|
59
59
|
`one-shot-actions.md`, require durable bounded trust-safe evidence for every
|
|
60
60
|
terminal path plus unknown-well-formed, malformed/hostile, and cleanup-survival
|
|
61
|
-
fixtures.
|
|
61
|
+
fixtures. Require a finite injective map from every failure emit site to one
|
|
62
|
+
stable non-secret boundary ID and one actionable failure seam, per-seam fault
|
|
63
|
+
injection, and a negative collision mutant. A shared broad operation/cause is
|
|
64
|
+
not actionable evidence. Missing evidence completeness is `broken`: the plan must not consume
|
|
62
65
|
the action to discover diagnostics that cleanup can erase.
|
|
63
66
|
|
|
64
67
|
## Confidence calibration + verification gate (mandatory)
|
|
@@ -63,6 +63,17 @@ has no clear next move.
|
|
|
63
63
|
retained artifact supplies a new Critical/Important fingerprint, continue
|
|
64
64
|
offline diagnosis, correction, fixtures, and narrow Vet under that fingerprint's
|
|
65
65
|
no-progress budget. Stop for fresh authorization only before the next real action.
|
|
66
|
+
- **Ambiguous retained evidence requires diagnostic amplification, not a guessed
|
|
67
|
+
runtime fix.** If a trusted in-scope seam can add a stable unique boundary ID,
|
|
68
|
+
repair its finite map and collision/fault fixtures offline, narrow-Vet it, and
|
|
69
|
+
stop for fresh authorization before the evidence-acquisition attempt. Missing
|
|
70
|
+
past evidence is terminal only when no safe amplification seam exists.
|
|
71
|
+
- **Route by artifact ownership.** Product source/tests go to the exact bounded
|
|
72
|
+
wright. Exact Vet-ready executable proof artifacts under the active `.devrites/**`
|
|
73
|
+
workspace follow
|
|
74
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
75
|
+
and are materialized by the controlling root. Never ask a read-only planner or
|
|
76
|
+
reviewer to return implementation bodies.
|
|
66
77
|
- **Classify before routing** with
|
|
67
78
|
[cleanup-and-classify.md](reference/cleanup-and-classify.md).
|
|
68
79
|
- **Durably record class and rationale** in `decisions.md` and the applicable
|
|
@@ -60,7 +60,9 @@ output or an artifact. Use exactly one recommended next action except for
|
|
|
60
60
|
terminal agent-owned technical exhaustion, which has no runnable action.
|
|
61
61
|
|
|
62
62
|
Use that terminal case only after three recorded no-progress corrections of the
|
|
63
|
-
exact fingerprint, or when required evidence was irretrievably absent.
|
|
63
|
+
exact fingerprint, or when required evidence was irretrievably absent **and** no safe in-scope diagnostic-amplification seam exists. Loss from the
|
|
64
|
+
past attempt alone is not terminal: repair and Vet a boundary-discriminating
|
|
65
|
+
evidence design, then request fresh authorization for its acquisition attempt. A spent
|
|
64
66
|
consumptive-action authorization plus a retained new fingerprint is not terminal;
|
|
65
67
|
it continues offline recovery and waits for fresh authorization only after repair.
|
|
66
68
|
For a true terminal case use:
|
|
@@ -33,6 +33,7 @@ topic's owner.
|
|
|
33
33
|
| `principles.md` | Authoring or checking project invariants and approved exceptions. |
|
|
34
34
|
| `deprecation.md` | Removing, replacing, or migrating behavior, code, APIs, or data. |
|
|
35
35
|
| `agents.md` | Dispatching, awaiting, validating, or reconciling fresh-context agents. |
|
|
36
|
+
| `workflow-artifacts.md` | Materializing executable proof/controller/harness files under the active `.devrites/work/<slug>/`. |
|
|
36
37
|
| `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
|
|
37
38
|
| `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
|
|
38
39
|
| `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
|
|
@@ -5,8 +5,9 @@ Follow DevRites policy and [`depth profiles`](../orchestration-profiles.md).
|
|
|
5
5
|
## Authority
|
|
6
6
|
|
|
7
7
|
- Root owns scope, questions/decisions/results, `.devrites/**`, and phase
|
|
8
|
-
transitions—not source/tests.
|
|
9
|
-
-
|
|
8
|
+
transitions—not product source/tests. Exact vetted executable workflow artifacts
|
|
9
|
+
follow [`workflow-artifacts.md`](workflow-artifacts.md).
|
|
10
|
+
- Only bounded wright writes product source/tests; others inspect an immutable
|
|
10
11
|
candidate.
|
|
11
12
|
- Every named role runs; unavailable → HITL, never skip/substitute.
|
|
12
13
|
- Leaves never invoke agents, ask humans, change phase, commit/push,
|
|
@@ -48,11 +49,16 @@ Running/orphaned/unavailable = `gap`; no root/generic substitute.
|
|
|
48
49
|
Claude grants only wright `acceptEdits`; Codex root is workspace-capable because
|
|
49
50
|
children cannot elevate. Wright alone is `:workspace`; others are `:read-only`.
|
|
50
51
|
|
|
51
|
-
Give wright the smallest exact project-relative file list—no
|
|
52
|
-
traversal/`.devrites/**`. No scope widening. Root rejects
|
|
53
|
-
`git diff --name-only` extras. Never patch in root, bypass/substitute wright,
|
|
52
|
+
Give wright the smallest exact project-relative product source/test file list—no
|
|
53
|
+
directories/globs, traversal/`.devrites/**`. No scope widening. Root rejects
|
|
54
|
+
`git diff --name-only` extras. Never patch product source/tests in root, bypass/substitute wright,
|
|
54
55
|
accept drift, or recreate a dispatch bridge.
|
|
55
56
|
|
|
57
|
+
The controlling root may materialize only the exact Vet-ready executable workflow
|
|
58
|
+
artifact paths under the active `.devrites/work/<slug>/` using
|
|
59
|
+
[`workflow-artifacts.md`](workflow-artifacts.md). This is not a writer dispatch,
|
|
60
|
+
product slice, candidate mutation, or exception to the source-writing boundary.
|
|
61
|
+
|
|
56
62
|
## Inputs and results
|
|
57
63
|
|
|
58
64
|
Each job gets objective/exclusions, exact paths/immutable candidate, rubric/result
|
|
@@ -27,7 +27,16 @@ the approved `test-plan.md` must bind all of the following:
|
|
|
27
27
|
4. **Discriminating proof:** fixtures cover success, a known failure, an unknown
|
|
28
28
|
well-formed failure, malformed/hostile input, and cleanup after failure. They
|
|
29
29
|
prove cleanup cannot delete or overwrite the retained failure evidence.
|
|
30
|
-
5. **
|
|
30
|
+
5. **Causal actionability:** every failure record includes a stable non-secret `boundary_id`
|
|
31
|
+
whose finite map is injective: one retained fingerprint identifies
|
|
32
|
+
one actionable failure seam and correction class. Broad operation/cause labels
|
|
33
|
+
are insufficient when multiple emit sites can produce them. `test-plan.md`
|
|
34
|
+
enumerates every emit site, its boundary ID, expected retained relation, and
|
|
35
|
+
offline decision.
|
|
36
|
+
6. **Collision proof:** inject a failure at every mapped seam and require its exact
|
|
37
|
+
boundary ID. Execute a negative mutant that aliases two seams to one retained
|
|
38
|
+
fingerprint and prove the validator/reviewer rejects it.
|
|
39
|
+
7. **Recovery sufficiency:** the retained bounded evidence is enough to choose an
|
|
31
40
|
offline correction or a truthful terminal classification without consuming
|
|
32
41
|
another attempt.
|
|
33
42
|
|
|
@@ -58,9 +67,29 @@ cap, resume recovery even if a prior writer stored `blocked` / `Next step: none`
|
|
|
58
67
|
That terminal cursor is valid only for missing retention, a human/safety gate, or
|
|
59
68
|
an actually exhausted fingerprint.
|
|
60
69
|
|
|
61
|
-
A new real attempt is admissible only after the affected plan and fixtures
|
|
62
|
-
re-vetted, the failure condition is shown changed, and any required fresh
|
|
70
|
+
A new real attempt is normally admissible only after the affected plan and fixtures
|
|
71
|
+
are re-vetted, the failure condition is shown changed, and any required fresh
|
|
63
72
|
authorization is obtained. Stop at that authorization boundary; never infer it
|
|
64
|
-
from successful offline repair.
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
from successful offline repair.
|
|
74
|
+
|
|
75
|
+
## Diagnostic amplification
|
|
76
|
+
|
|
77
|
+
If a retained artifact is absent or maps one fingerprint to multiple causal
|
|
78
|
+
boundaries, do not guess a runtime correction. The fact that evidence from the
|
|
79
|
+
past attempt is irretrievable does not prove that a safe future evidence-acquisition
|
|
80
|
+
design is unavailable.
|
|
81
|
+
|
|
82
|
+
When an in-scope trusted seam can add the missing stable discriminator, classify
|
|
83
|
+
the ambiguity as an agent-owned **diagnostic-amplification plan gap**. Without
|
|
84
|
+
executing the action, repair the diagnostic schema, finite boundary map, per-seam
|
|
85
|
+
fault fixtures, cleanup-survival proof, and collision mutant; then run narrow Vet.
|
|
86
|
+
Once READY, stop for fresh authorization before exactly one diagnostic-amplification attempt
|
|
87
|
+
bound to that vetted design and artifact identity. This exception does not
|
|
88
|
+
claim the runtime failure condition changed: the independently proven change is the
|
|
89
|
+
evidence-acquisition invariant, and the attempt's acceptance signal is the promised
|
|
90
|
+
unique retained boundary (or action success).
|
|
91
|
+
|
|
92
|
+
Terminal `Next: none` is valid only when no safe in-scope diagnostic-amplification
|
|
93
|
+
seam exists, the required change is human/risk/scope owned, or the exact evidence-gap
|
|
94
|
+
fingerprint exhausts bounded recovery. A missing old artifact alone is not terminal,
|
|
95
|
+
and an amplification attempt never inherits authorization from the failed action.
|
|
@@ -132,4 +132,5 @@ Public commands need docs/generated hosts/reply marker;
|
|
|
132
132
|
internal skills need trigger/not-for plus proof they are not an agent/reference.
|
|
133
133
|
Agents need role/scope/mode/output/composition and
|
|
134
134
|
[`agents.md` § Result admission](agents.md#result-admission) for review roles.
|
|
135
|
-
Only `devrites-slice-wright` writes.
|
|
135
|
+
Only `devrites-slice-wright` writes product source/tests. The controlling root's
|
|
136
|
+
path-bounded `.devrites/**` workflow artifacts follow `workflow-artifacts.md`.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Executable workflow artifacts
|
|
2
|
+
|
|
3
|
+
Executable files used only to plan, isolate, or prove a DevRites workflow—such as
|
|
4
|
+
a controller, harness, proof bundle, fixture generator, or bounded materializer
|
|
5
|
+
under the active `.devrites/work/<slug>/`—are **workflow artifacts**, not product
|
|
6
|
+
source/tests. They remain excluded from the product candidate and never authorize
|
|
7
|
+
the real action they prepare.
|
|
8
|
+
|
|
9
|
+
## Ownership
|
|
10
|
+
|
|
11
|
+
After an exact design and path set pass Vet, the **controlling root is the sole materializer**
|
|
12
|
+
of these artifacts under its existing `.devrites/**` authority. For these paths,
|
|
13
|
+
never dispatch `devrites-slice-wright`,
|
|
14
|
+
never widen the wright contract, and never ask a
|
|
15
|
+
read-only planner/reviewer for implementation bodies. Product source/tests remain
|
|
16
|
+
wright-only.
|
|
17
|
+
|
|
18
|
+
Missing implementation bytes are an agent-owned materialization task, not
|
|
19
|
+
technical-recovery exhaustion, while the vetted behavior and exact paths are
|
|
20
|
+
complete. The root may not invent unresolved protocol choices; those return to
|
|
21
|
+
Plan/Vet.
|
|
22
|
+
|
|
23
|
+
## Admission
|
|
24
|
+
|
|
25
|
+
Before writing:
|
|
26
|
+
|
|
27
|
+
1. Require the active slug, current readiness binding, resolved human gates, and
|
|
28
|
+
an exact file list in `plan.md` / `test-plan.md`. Reject directories, globs,
|
|
29
|
+
traversal, duplicates, symlinks, paths outside the active feature workspace,
|
|
30
|
+
and any product source/test or dependency path.
|
|
31
|
+
2. Bind the complete behavior, interfaces, failure relations, proof commands,
|
|
32
|
+
expected signals, and rollback for the atomic artifact set. A prose placeholder
|
|
33
|
+
or a request that a drafter supply code is a Plan gap, not implementation input.
|
|
34
|
+
3. Record preimages or absence for every target plus protected product manifests
|
|
35
|
+
and the current candidate digest. Resolve every parent no-follow before mutation.
|
|
36
|
+
|
|
37
|
+
## Materialize
|
|
38
|
+
|
|
39
|
+
The root authors the smallest complete bytes for all admitted targets. Write each
|
|
40
|
+
through a same-parent private temporary file, set the planned mode, flush it, and
|
|
41
|
+
atomically replace the target; settle the whole set or roll back partial output.
|
|
42
|
+
Do not install dependencies, touch Git, use the network, mutate product paths, or
|
|
43
|
+
execute the consumptive action.
|
|
44
|
+
|
|
45
|
+
## Verify and return
|
|
46
|
+
|
|
47
|
+
Read back the exact path set, modes, and SHA-256 identities. Run only the vetted
|
|
48
|
+
compile/static/fixture/mutant commands in their isolated non-consumptive modes;
|
|
49
|
+
require every discriminating signal. Recheck protected preimages and require the
|
|
50
|
+
candidate digest remains identical. Record the workflow-artifact hashes and proof
|
|
51
|
+
in canonical evidence, but never add these paths to the product candidate manifest
|
|
52
|
+
or built-slice count. Run the affected narrow Vet, restore the controlling return
|
|
53
|
+
cursor, and stop for fresh authorization before any real consumptive action.
|
|
54
|
+
|
|
55
|
+
An actual host permission failure, unresolved design choice, out-of-scope path, or
|
|
56
|
+
failed atomic/proof check blocks truthfully. The absence of a writable specialist
|
|
57
|
+
does not: root ownership is the supported path.
|
|
@@ -46,6 +46,13 @@ no-progress corrections. A retained fingerprint with remaining offline budget is
|
|
|
46
46
|
not terminal merely because `state.md` was written by the failed action or a prior
|
|
47
47
|
session ended.
|
|
48
48
|
|
|
49
|
+
Past evidence being irretrievable is not by itself terminal. When an in-scope
|
|
50
|
+
trusted diagnostic seam can make the next retained fingerprint uniquely
|
|
51
|
+
actionable, Autocomplete must run diagnostic-amplification Plan repair and narrow
|
|
52
|
+
Vet inline, then pause for a fresh GO before the single evidence-acquisition
|
|
53
|
+
attempt. Use `Next: none` only after proving no safe in-scope amplification seam
|
|
54
|
+
exists, a real human/risk/scope gate owns it, or bounded recovery is exhausted.
|
|
55
|
+
|
|
49
56
|
## Stop on gate severity
|
|
50
57
|
|
|
51
58
|
- `blocking` gate fires → synchronous pause.
|
|
@@ -14,7 +14,9 @@ first**; if none, tell the user to run `/rite-spec <feature>`.
|
|
|
14
14
|
|
|
15
15
|
The root owns gates/workspace; a
|
|
16
16
|
fresh-context [`devrites-slice-wright`](../../agents/devrites-slice-wright.md)
|
|
17
|
-
writes source and tests.
|
|
17
|
+
writes product source and tests. Exact Vet-ready executable workflow artifacts use
|
|
18
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md).
|
|
19
|
+
Apply the readiness, selection, host, HITL/AFK,
|
|
18
20
|
dispatch, doubt, fail-on-red, record, and stop checks. See
|
|
19
21
|
[`reference/wright-dispatch.md`](reference/wright-dispatch.md).
|
|
20
22
|
|
|
@@ -61,7 +63,9 @@ reads named on-demand rules while writing; root reads them for doubt/record gate
|
|
|
61
63
|
principle was broken**; a fresh violation is handled like any irreversible-risk item: a
|
|
62
64
|
human-approved, scoped exception in the register or a stop, never folded into the slice. No
|
|
63
65
|
`.devrites/principles.md` → none declared → nothing to honor.
|
|
64
|
-
- **You never edit source.** You write
|
|
66
|
+
- **You never edit product source/tests.** You write `.devrites/` bookkeeping and,
|
|
67
|
+
only through `workflow-artifacts.md`, an exact Vet-ready executable workflow-artifact set.
|
|
68
|
+
Follow the
|
|
65
69
|
host gate in `wright-dispatch.md` before every build or recovery dispatch. On a
|
|
66
70
|
supported host, the wright is the only writer of code and tests. Codex gives
|
|
67
71
|
the root workspace permission only so that native writer dispatch can execute;
|
|
@@ -69,6 +73,11 @@ reads named on-demand rules while writing; root reads them for doubt/record gate
|
|
|
69
73
|
list directly in the task, dispatch the exact `devrites-slice-wright`, then
|
|
70
74
|
compare `git diff --name-only` with those task paths. Any extra source file is
|
|
71
75
|
a hard STOP.
|
|
76
|
+
- **Executable workflow-artifact branch.** If every implementation target is an
|
|
77
|
+
exact admitted path under the active `.devrites/work/<slug>/`, the controlling
|
|
78
|
+
root materializes and proves that atomic set itself. It does not dispatch the wright,
|
|
79
|
+
decrement/count a product slice, update the candidate manifest, or execute the
|
|
80
|
+
consumptive action. After narrow Vet, restore the caller cursor.
|
|
72
81
|
|
|
73
82
|
## Workflow
|
|
74
83
|
|
|
@@ -8,16 +8,30 @@ See [`one-slice-cycle.md`](one-slice-cycle.md); candidate lifecycle is
|
|
|
8
8
|
`Readiness inputs SHA-256`, all applicable exact reviewer accounts,
|
|
9
9
|
ID-and-meaning traceability, and green proof preflight; run
|
|
10
10
|
`devrites-engine check readiness <slug>`. Any miss/nonzero stops.
|
|
11
|
-
2. **Select one
|
|
11
|
+
2. **Select one target.** Restate goal, acceptance criteria, exclusions, and exact
|
|
12
12
|
source/test paths. Before dispatch, validate relevant `assumptions.md` rows
|
|
13
13
|
against live evidence. If one is disproved and changes acceptance, architecture,
|
|
14
14
|
scope, or proof, use the Spec Drift Guard/plan recovery; a human-owned unknown
|
|
15
15
|
stops. Resolve HITL before source work. AFK answers only permitted gates;
|
|
16
16
|
human-owned or irreversible risk persists a question and stops for `/rite-resolve`.
|
|
17
|
-
|
|
17
|
+
If the target is only an exact Vet-ready executable workflow-artifact set under
|
|
18
|
+
the active feature workspace, apply
|
|
19
|
+
[`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
20
|
+
instead of treating it as a product slice.
|
|
21
|
+
3. **Dispatch or materialize.** Product source/tests apply [`wright-dispatch.md`](wright-dispatch.md).
|
|
18
22
|
Put the smallest exact project-relative source/test path list directly in the task;
|
|
19
|
-
dispatch the exact `devrites-slice-wright` fresh. Root never writes
|
|
20
|
-
widens, and a missing profile stops.
|
|
23
|
+
dispatch the exact `devrites-slice-wright` fresh. Root never writes those product
|
|
24
|
+
paths, wright never widens, and a missing profile stops.
|
|
25
|
+
For the workflow-artifact branch, the controlling root writes only the admitted
|
|
26
|
+
`.devrites/work/<slug>/` paths, proves the complete atomic set, rechecks an
|
|
27
|
+
identical product candidate, records hashes/evidence, and runs narrow Vet. Do not
|
|
28
|
+
dispatch any agent as a substitute writer and do not charge a product slice.
|
|
29
|
+
|
|
30
|
+
### Executable workflow-artifact branch
|
|
31
|
+
|
|
32
|
+
The controlling root materializes the exact admitted workflow-artifact set and
|
|
33
|
+
**does not dispatch the wright**. This branch never changes product slice state or
|
|
34
|
+
the candidate manifest; it returns through narrow Vet before any consumptive action.
|
|
21
35
|
4. **Inspect the return.** Wait; compare its file list and `git diff --name-only`
|
|
22
36
|
with the contract. Reject stale, partial, malformed, or out-of-scope work.
|
|
23
37
|
Preserve user work; source restoration uses the same bounded wright.
|
|
@@ -15,6 +15,10 @@ the wright or recreate an engine bridge.
|
|
|
15
15
|
|
|
16
16
|
1. Derive the smallest exact project-relative source/test path list; reject
|
|
17
17
|
directories/globs, traversal, symlink escapes, duplicates, and `.devrites/**`.
|
|
18
|
+
A target composed only of vetted executable workflow artifacts routes to the
|
|
19
|
+
controlling root under
|
|
20
|
+
[`workflow-artifacts.md`](../../devrites-lib/reference/standards/workflow-artifacts.md);
|
|
21
|
+
its rejection here is not a blocker.
|
|
18
22
|
2. Put it in the task with goal, verbatim acceptance, exclusions, context,
|
|
19
23
|
`test-plan.md` proof commands, and applicable standards.
|
|
20
24
|
A new path requires a new bounded contract; the wright cannot widen the task.
|
|
@@ -81,6 +81,16 @@ Pull `development-workflow.md` via `Read` when reshaping slice cadence or DoD cr
|
|
|
81
81
|
`devrites-plan-drafter` in `repair` mode with only the selected mode, affected artifact
|
|
82
82
|
paths, settled contract, and observed failure/drift. Await one atomic `plan-candidate`;
|
|
83
83
|
the drafter writes nothing and returns human-owned choices separately.
|
|
84
|
+
When the observed failure is missing or ambiguous consumptive-action evidence,
|
|
85
|
+
require the drafter to apply `one-shot-actions.md` and return the bounded
|
|
86
|
+
diagnostic-amplification design, injective boundary map, per-seam fixtures, and
|
|
87
|
+
collision mutant. Past evidence loss alone is not a terminal conclusion.
|
|
88
|
+
The drafter never supplies implementation bodies. Bind the exact active
|
|
89
|
+
`.devrites/work/<slug>/` targets and complete executable contract; after Vet
|
|
90
|
+
READY, the controlling root materializes the exact vetted workflow-artifact paths
|
|
91
|
+
under
|
|
92
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
93
|
+
without dispatching the product wright.
|
|
84
94
|
3. Reason about dependencies: [dependency-graph](reference/dependency-graph.md).
|
|
85
95
|
Reconcile `plan.md`'s canonical `Shared contract proof`: changed provider/consumer
|
|
86
96
|
boundaries keep one reused contract artifact ahead of both asserting tests, and unaffected
|
|
@@ -40,6 +40,8 @@ Pull these via `Read` when relevant:
|
|
|
40
40
|
- `definition-of-done.md`: acceptance, proof, gates, scope, rollback/docs.
|
|
41
41
|
- `one-shot-actions.md`: pre-attempt evidence completeness and no-rerun handling for
|
|
42
42
|
consumptive proof actions.
|
|
43
|
+
- `workflow-artifacts.md`: exact root-owned executable proof/controller/harness
|
|
44
|
+
artifacts under the active feature workspace.
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
## Operating rules
|
|
@@ -57,8 +59,11 @@ Pull these via `Read` when relevant:
|
|
|
57
59
|
[`agents.md`](../devrites-lib/reference/standards/agents.md). The root owns exact
|
|
58
60
|
vetted gate execution, browser capability, the evidence verdict, and canonical
|
|
59
61
|
writes. The proof runner is read-only and validates immutable logs/artifacts.
|
|
60
|
-
Every accepted source/test correction is one bounded
|
|
62
|
+
Every accepted product source/test correction is one bounded
|
|
61
63
|
`devrites-slice-wright` task, never an inline edit.
|
|
64
|
+
Exact Vet-ready executable workflow artifacts under the active `.devrites/**`
|
|
65
|
+
workspace follow `workflow-artifacts.md` and are materialized by the controlling
|
|
66
|
+
root; they are not product writer work.
|
|
62
67
|
- **Prove remains the controlling caller during technical backtracking.** Save
|
|
63
68
|
its return cursor, invoke Plan/Vet or bounded remediation inline, consume each
|
|
64
69
|
nested phase boundary, then resume the failed Prove step. Never make the human
|
|
@@ -114,7 +119,8 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
|
|
|
114
119
|
gates prove only their named static criterion.
|
|
115
120
|
Immediately before any consumptive action, apply `one-shot-actions.md` to the
|
|
116
121
|
live candidate: require the vetted retained-artifact identity, bounds,
|
|
117
|
-
sanitization,
|
|
122
|
+
sanitization, injective boundary map, per-seam fault fixtures, collision mutant,
|
|
123
|
+
terminal-path fixtures, and cleanup-survival proof. A missing,
|
|
118
124
|
stale, or disposable-only evidence surface returns to Vet inline and consumes
|
|
119
125
|
no attempt. Record the admitted artifact identity before execution. After a
|
|
120
126
|
failed consumptive action, triage from that artifact; never reproduce it by
|
|
@@ -155,6 +161,11 @@ failure is a blocker; this Upgrade admission never authorizes source or test cha
|
|
|
155
161
|
reproduction to fix and re-vet the retained fingerprint. Once the failure
|
|
156
162
|
condition is demonstrably changed, stop at the fresh-authorization boundary;
|
|
157
163
|
only a new human GO may admit the next real attempt.
|
|
164
|
+
If the retained fingerprint is missing or ambiguous, the lost past evidence
|
|
165
|
+
does not prove that no safe future acquisition design exists. Treat an in-scope
|
|
166
|
+
discriminator as a diagnostic-amplification Plan gap: repair and narrow-Vet the
|
|
167
|
+
boundary map and collision proof inline, then stop for fresh GO before one
|
|
168
|
+
evidence-acquisition attempt. Do not guess the runtime fix or reuse the old GO.
|
|
158
169
|
8. The root updates `evidence.md`, `browser-evidence.md` (when present),
|
|
159
170
|
`traceability.md`, and `state.md`. Record exactly one binding for the observed
|
|
160
171
|
digest in evidence and browser evidence. New proof goes to canonical
|
|
@@ -17,6 +17,10 @@ loop to `devrites-debug-recovery`.
|
|
|
17
17
|
- flaky (passes on re-run, timing/order) → note it; don't paper over with retries.
|
|
18
18
|
- external dependency down → record blocker; don't fake the result.
|
|
19
19
|
3. **Isolate:** minimize to the smallest failing case; bisect the diff if needed.
|
|
20
|
+
If consumptive evidence maps to multiple causal seams, this is a
|
|
21
|
+
diagnostic-amplification plan gap: design and Vet an injective boundary
|
|
22
|
+
discriminator offline instead of guessing a runtime correction or declaring
|
|
23
|
+
the cleaned-away past state terminal.
|
|
20
24
|
4. **Fix within scope:** the current slice/feature only. If the fix reaches outside
|
|
21
25
|
scope, stop and record a blocker in `state.md` (then `/rite-plan unblock`).
|
|
22
26
|
5. **Re-run** the same command when it is repeatable; confirm green and record both
|
|
@@ -24,6 +28,8 @@ loop to `devrites-debug-recovery`.
|
|
|
24
28
|
completeness and any fresh authorization before a new attempt. Its spent
|
|
25
29
|
action authorization does not stop offline recovery: a retained new fingerprint
|
|
26
30
|
enters caller-owned diagnosis, correction, fixtures, and narrow Vet immediately.
|
|
31
|
+
A separately authorized diagnostic-amplification attempt may acquire the missing
|
|
32
|
+
discriminator after its evidence design passes Vet; it is not a blind rerun.
|
|
27
33
|
|
|
28
34
|
## Rules
|
|
29
35
|
- Quote the real error text; don't paraphrase it away.
|
|
@@ -100,8 +100,10 @@ Pull the standard named by the active axis: `principles.md`, `patterns.md`,
|
|
|
100
100
|
discriminating assertion and decisive signal, not merely a command or expected exit zero.
|
|
101
101
|
Identify every consumptive action under `one-shot-actions.md`. Before admitting
|
|
102
102
|
it, require the exact durable retention surface, trust-safe diagnostic schema,
|
|
103
|
-
cleanup ordering, terminal-path coverage,
|
|
104
|
-
|
|
103
|
+
cleanup ordering, terminal-path coverage, a finite injective boundary map,
|
|
104
|
+
per-boundary fault fixtures, and an executed collision mutant in `test-plan.md`.
|
|
105
|
+
Every retained failure fingerprint must identify one actionable seam; a broad
|
|
106
|
+
operation/cause shared by multiple emit sites is a gap. Missing or stale one-shot evidence completeness is a technical
|
|
105
107
|
preflight gap; do not spend the action to learn what cleanup would erase.
|
|
106
108
|
Preflight observes; it need not make future behavior pass.
|
|
107
109
|
2c. **Implementation-readiness audit.** Goal-backward map every REQ/AC/NFR, interaction,
|
|
@@ -35,7 +35,7 @@ Inventory/currentness: <pass/gaps> · slice order/independence: <pass/gaps> ·
|
|
|
35
35
|
UX/spec/architecture: <pass/n-a/gaps> · operations/rollout/rollback: <pass/n-a/gaps>
|
|
36
36
|
|
|
37
37
|
Shared contract proof: <pass | gap: missing/one-sided/duplicated-contract/vague/non-consuming>
|
|
38
|
-
One-shot evidence completeness: <n/a | pass: action + retained artifact + bounds/sanitization + cleanup
|
|
38
|
+
One-shot evidence completeness: <n/a | pass: action + retained artifact + bounds/sanitization + injective boundary map + per-seam/collision/cleanup fixtures | gap: exact missing proof>
|
|
39
39
|
|
|
40
40
|
## 3. Axis findings (floor-gated)
|
|
41
41
|
| Axis | Floor band | Findings (sev · confidence) |
|
|
@@ -96,9 +96,9 @@ aliases, user-specific absolute paths, or temporary proof trees. Evidence record
|
|
|
96
96
|
the command actually executed.
|
|
97
97
|
|
|
98
98
|
## Consumptive action gates
|
|
99
|
-
| Action | Why one-shot/consumptive | Retained artifact | Bounds + sanitization | Terminal-path fixtures | Cleanup survival | Retry authority |
|
|
100
|
-
|
|
101
|
-
| <exact approved action or n/a> | <one attempt/quota/state/evidence deletion> | <durable operator-controlled path/schema> | <size/cardinality + known/unknown/malformed handling> | <success/known/unknown/hostile> | <assertion> | <none/fresh human authorization> |
|
|
99
|
+
| Action | Why one-shot/consumptive | Retained artifact | Bounds + sanitization | Boundary map + collision proof | Terminal-path fixtures | Cleanup survival | Retry authority |
|
|
100
|
+
|---|---|---|---|---|---|---|---|
|
|
101
|
+
| <exact approved action or n/a> | <one attempt/quota/state/evidence deletion> | <durable operator-controlled path/schema> | <size/cardinality + known/unknown/malformed handling> | <every emit seam -> stable boundary ID; per-seam injection + alias mutant rejected> | <success/known/unknown/hostile> | <assertion> | <none/fresh human authorization> |
|
|
102
102
|
|
|
103
103
|
Every behavioral row names a positive, discriminating assertion and the decisive output it
|
|
104
104
|
produces. A command or expected exit zero alone is not a behavioral assertion; static gates
|
|
@@ -25,6 +25,13 @@ slices in dependency order. Map every REQ and AC to a slice and executable proof
|
|
|
25
25
|
name rollback and failure paths; keep acceptance-changing proposals separate. Durable
|
|
26
26
|
proof commands must be portable repository commands, never host-local wrappers,
|
|
27
27
|
user-specific absolute paths, or temporary proof trees.
|
|
28
|
+
For every consumptive action, apply `one-shot-actions.md`: draft a durable bounded
|
|
29
|
+
artifact, a finite injective map from every failure emit seam to a stable non-secret
|
|
30
|
+
boundary ID and offline decision, per-seam fault fixtures, cleanup-survival proof,
|
|
31
|
+
and a collision mutant. If prior retained evidence is missing or ambiguous, draft a
|
|
32
|
+
diagnostic-amplification repair and narrow-Vet proof rather than guessing the
|
|
33
|
+
runtime correction or declaring the old evidence loss terminal. Keep the future
|
|
34
|
+
evidence-acquisition attempt separately gated by fresh human authorization.
|
|
28
35
|
For `plan.md`, include exactly one canonical `Shared contract proof` table when an API,
|
|
29
36
|
event, schema, or other provider/consumer boundary changes. Name a reused canonical artifact
|
|
30
37
|
and asserting provider/consumer tests that both consume it, ordered through slice dependencies.
|
|
@@ -36,6 +43,8 @@ principle-exception questions. List them for the root.
|
|
|
36
43
|
## Rules
|
|
37
44
|
|
|
38
45
|
- Read-only. Do not edit source, tests, `.devrites/**`, Git state, or dependencies.
|
|
46
|
+
- Design executable workflow artifacts completely, but never return implementation bodies
|
|
47
|
+
or materialize them; the later Vet-ready step follows `workflow-artifacts.md`.
|
|
39
48
|
- Do not ask the user, approve the plan, set readiness, or advance a phase.
|
|
40
49
|
- Do not invoke another agent.
|
|
41
50
|
- Return candidate content only for requested paths. If unfinished, name the exact
|
|
@@ -58,7 +58,10 @@ line, and then assign the band. Do not choose a score and justify it afterward:
|
|
|
58
58
|
no error handling** is a critical gap. For every consumptive action under
|
|
59
59
|
`one-shot-actions.md`, require durable bounded trust-safe evidence for every
|
|
60
60
|
terminal path plus unknown-well-formed, malformed/hostile, and cleanup-survival
|
|
61
|
-
fixtures.
|
|
61
|
+
fixtures. Require a finite injective map from every failure emit site to one
|
|
62
|
+
stable non-secret boundary ID and one actionable failure seam, per-seam fault
|
|
63
|
+
injection, and a negative collision mutant. A shared broad operation/cause is
|
|
64
|
+
not actionable evidence. Missing evidence completeness is `broken`: the plan must not consume
|
|
62
65
|
the action to discover diagnostics that cleanup can erase.
|
|
63
66
|
|
|
64
67
|
## Confidence calibration + verification gate (mandatory)
|
|
@@ -63,6 +63,17 @@ has no clear next move.
|
|
|
63
63
|
retained artifact supplies a new Critical/Important fingerprint, continue
|
|
64
64
|
offline diagnosis, correction, fixtures, and narrow Vet under that fingerprint's
|
|
65
65
|
no-progress budget. Stop for fresh authorization only before the next real action.
|
|
66
|
+
- **Ambiguous retained evidence requires diagnostic amplification, not a guessed
|
|
67
|
+
runtime fix.** If a trusted in-scope seam can add a stable unique boundary ID,
|
|
68
|
+
repair its finite map and collision/fault fixtures offline, narrow-Vet it, and
|
|
69
|
+
stop for fresh authorization before the evidence-acquisition attempt. Missing
|
|
70
|
+
past evidence is terminal only when no safe amplification seam exists.
|
|
71
|
+
- **Route by artifact ownership.** Product source/tests go to the exact bounded
|
|
72
|
+
wright. Exact Vet-ready executable proof artifacts under the active `.devrites/**`
|
|
73
|
+
workspace follow
|
|
74
|
+
[`workflow-artifacts.md`](../devrites-lib/reference/standards/workflow-artifacts.md)
|
|
75
|
+
and are materialized by the controlling root. Never ask a read-only planner or
|
|
76
|
+
reviewer to return implementation bodies.
|
|
66
77
|
- **Classify before routing** with
|
|
67
78
|
[cleanup-and-classify.md](reference/cleanup-and-classify.md).
|
|
68
79
|
- **Durably record class and rationale** in `decisions.md` and the applicable
|
|
@@ -60,7 +60,9 @@ output or an artifact. Use exactly one recommended next action except for
|
|
|
60
60
|
terminal agent-owned technical exhaustion, which has no runnable action.
|
|
61
61
|
|
|
62
62
|
Use that terminal case only after three recorded no-progress corrections of the
|
|
63
|
-
exact fingerprint, or when required evidence was irretrievably absent.
|
|
63
|
+
exact fingerprint, or when required evidence was irretrievably absent **and** no safe in-scope diagnostic-amplification seam exists. Loss from the
|
|
64
|
+
past attempt alone is not terminal: repair and Vet a boundary-discriminating
|
|
65
|
+
evidence design, then request fresh authorization for its acquisition attempt. A spent
|
|
64
66
|
consumptive-action authorization plus a retained new fingerprint is not terminal;
|
|
65
67
|
it continues offline recovery and waits for fresh authorization only after repair.
|
|
66
68
|
For a true terminal case use:
|
|
@@ -33,6 +33,7 @@ topic's owner.
|
|
|
33
33
|
| `principles.md` | Authoring or checking project invariants and approved exceptions. |
|
|
34
34
|
| `deprecation.md` | Removing, replacing, or migrating behavior, code, APIs, or data. |
|
|
35
35
|
| `agents.md` | Dispatching, awaiting, validating, or reconciling fresh-context agents. |
|
|
36
|
+
| `workflow-artifacts.md` | Materializing executable proof/controller/harness files under the active `.devrites/work/<slug>/`. |
|
|
36
37
|
| `context-hygiene.md` | Choosing `/clear`, `/compact`, or a handoff. |
|
|
37
38
|
| `anti-patterns.md` | A pack-wide rationalization or red flag appears. |
|
|
38
39
|
| `afk-hitl.md` | A pause, question, resume, or AFK decision is possible. |
|