@ai-dev-methodologies/rlp-desk 0.17.0 → 0.18.1
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 +49 -0
- package/package.json +1 -1
- package/src/governance.md +19 -3
- package/src/scripts/.run_src_verify.zsh +3725 -0
- package/src/scripts/init_ralph_desk.zsh +3 -2
- package/src/scripts/lib_ralph_desk.zsh +114 -3
- package/src/scripts/run_ralph_desk.zsh +714 -131
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,55 @@ For pre-v0.15.4 versions, refer to `git log` and individual GitHub release notes
|
|
|
11
11
|
- Post-v0.15.6: remove `RLP_LIFECYCLE_METRICS` flag entirely (per plan v3 ADR follow-ups).
|
|
12
12
|
- Phase D.1 (handoff documents) + Phase D.2 (per-stage agent role specialization) — both deferred per `docs/plans/v0.15.4-release-runbook.md` §7.6.
|
|
13
13
|
|
|
14
|
+
## [0.18.1] — 2026-06-25
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- End-of-campaign resilience: when the last user story passes its per-US verify, the
|
|
18
|
+
leader now runs the final verification directly instead of dispatching one more
|
|
19
|
+
worker iteration solely to hand off to the final verify. That extra round-trip was a
|
|
20
|
+
fragile dependency on a healthy worker at the very end of a campaign (a worker stall
|
|
21
|
+
or API rate-limit at that moment could block a campaign whose work was already
|
|
22
|
+
complete and verified). Per-US campaigns now finalize without it.
|
|
23
|
+
|
|
24
|
+
## [0.18.0] — 2026-06-24
|
|
25
|
+
|
|
26
|
+
**Leader hardening: campaigns that complete.** The `--mode tmux` leader's decision
|
|
27
|
+
gates used to TERMINATE where they should RECOVER, so campaigns could stall at
|
|
28
|
+
`--max-iter` or block on a single transient slip. This release resolves that
|
|
29
|
+
"never completes" failure class.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- A single transient `blocked` verdict no longer ends the campaign. A fresh-context
|
|
33
|
+
Worker/Verifier mis-emitting `blocked` once now gets grace (soft-fail + retry);
|
|
34
|
+
termination only on a genuine infra failure or a repeated/consecutive block.
|
|
35
|
+
- Verifier phrasing variants (`completed`/`done`, lowercase `all`) no longer strand a
|
|
36
|
+
genuinely-complete campaign at the iteration cap — recommendation/us_id normalized at read.
|
|
37
|
+
- Mixed-engine dead-pane detection: a dead pane is detected per role when Worker and
|
|
38
|
+
Verifier run different engines (e.g. claude worker + codex verifier).
|
|
39
|
+
- No double-credit of a re-submitted User Story on the verify pass-path.
|
|
40
|
+
- Final verification now retries a single transient poll failure instead of charging a
|
|
41
|
+
false fail at the end of the campaign.
|
|
42
|
+
- Durable sentinels: atomic writes detect truncation (disk-full/SIGPIPE) instead of
|
|
43
|
+
renaming a half-written file into the canonical path.
|
|
44
|
+
- Race-safe locks: the runner-lock and per-slug lock close an ABA/empty-owner race that
|
|
45
|
+
could let two leaders run on one project root.
|
|
46
|
+
- Done-claim freshness gate: auto-synthesis rejects a stale/wrong-US done-claim, preventing
|
|
47
|
+
the wrong User Story from being credited.
|
|
48
|
+
- Model-upgrade state survives relaunch: a resumed campaign keeps the upgraded worker model
|
|
49
|
+
instead of resetting to the CLI default.
|
|
50
|
+
- codex 0.141 worker compatibility: the directory-trust prompt is accepted and MCP disabled
|
|
51
|
+
so codex workers don't block on startup.
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
- Stronger final verification: `--final-verifier-model` / `--final-verifier-effort` are now
|
|
55
|
+
actually used for the final ALL-verify pass (previously every verify ran at the per-US
|
|
56
|
+
model). "Final = stricter" now holds.
|
|
57
|
+
- Consensus cross-verifier model knobs now take effect: `--consensus-model` (per-US, lighter)
|
|
58
|
+
and `--final-consensus-model` (final, stricter) are wired into the consensus path —
|
|
59
|
+
previously documented but inert.
|
|
60
|
+
- Verifier FORMAT meta-gates softened cross-engine while correctness gates stay strict
|
|
61
|
+
(fewer false fails on phrasing, no weakening of substance).
|
|
62
|
+
|
|
14
63
|
## [0.17.0] — 2026-06-19
|
|
15
64
|
|
|
16
65
|
**BREAKING (ADR-001): `node run.mjs run <slug> --mode agent` (the deprecated Node-leader direct-CLI alpha) now hard-errors.** Per the schedule announced in 0.16.0, the `--mode agent` entry point exits 2 with a redirect, and the Node-CLI default mode flips from `agent` to `tmux` (the canonical production leader). The `src/node/**` engine modules are retained (they back the Native Agent() path and the test suite); only the direct-CLI `--mode agent` *dispatch entry* was removed. **Migration:** replace `node run.mjs run <slug> --mode agent` with `--mode tmux`. The slash command's `--mode native` default is unaffected.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-dev-methodologies/rlp-desk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "Fresh-context iterative loops for Claude Code — autonomous task completion with independent verification",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"postinstall": "node scripts/postinstall.js",
|
package/src/governance.md
CHANGED
|
@@ -66,9 +66,25 @@ Verification layers:
|
|
|
66
66
|
- L3: E2E Simulation — known input → full pipeline → output comparison. Always required.
|
|
67
67
|
- L4: Deploy Verify — production environment checks. Required when deploying.
|
|
68
68
|
|
|
69
|
-
Layer requirements per US are determined by risk classification (§1c).
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
Layer requirements per US are determined by risk classification (§1c). Layer
|
|
70
|
+
completeness means ACTUAL verification COVERAGE, not test-spec FORMAT: a required
|
|
71
|
+
layer is satisfied when its behavior is genuinely exercised by a concrete, PASSING
|
|
72
|
+
check — e.g. a per-AC command in the Criteria→Verification table counts as L1/L3
|
|
73
|
+
coverage. Explicit "## L1/L2/L3" section headers and "N/A — {reason}" markers are
|
|
74
|
+
recommended but NOT mandatory, and their absence is NOT itself a fail.
|
|
75
|
+
FAIL a required layer ONLY when its verification is genuinely absent, blank, TODO,
|
|
76
|
+
or failing — never merely for a different-but-adequate test-spec format, a missing
|
|
77
|
+
N/A marker, or RED evidence aggregated across the US instead of recorded per-AC.
|
|
78
|
+
The iter-signal.json only identifies WHICH US to verify; whether the Worker wrote
|
|
79
|
+
it or the leader synthesized it does not change the verdict — verify the work, not
|
|
80
|
+
the signal's author. Deliverable COMPLETENESS is NOT exempt: if the work an AC
|
|
81
|
+
requires is absent, uncommitted/untracked, or never actually exercised, the layer
|
|
82
|
+
still FAILs. This rule is IDENTICAL for every verifier engine (claude AND codex):
|
|
83
|
+
do NOT block a PASS on test-spec FORMAT when the acceptance criteria are met and
|
|
84
|
+
their checks are green — but DO fail on missing or unverified substance. This
|
|
85
|
+
preserves strict AC + real layer coverage (IL-4 still governs test sufficiency);
|
|
86
|
+
it removes only format pedantry, never substance — the F-17 cross-engine
|
|
87
|
+
consistency fix (scope narrowed to format-only per the F-18 review).
|
|
72
88
|
See §1d for full layer definitions.
|
|
73
89
|
|
|
74
90
|
**IL-4: Test Sufficiency**
|