codex-workflow-v2 2.0.0-beta.1 → 2.0.0-beta.2
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/README.md +13 -2
- package/dist/src/alpha6/milestone.d.ts +10 -0
- package/dist/src/alpha6/milestone.js +98 -1
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/cli.js +220 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/reviewer.d.ts +4 -0
- package/dist/src/reviewer.js +24 -7
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.d.ts +18 -0
- package/dist/src/workflow.js +186 -8
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +8 -1
- package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
- package/docs/development-flow.md +17 -2
- package/docs/release.md +8 -1
- package/docs/split-required-recovery.md +5 -4
- package/docs/stable-release-defect-register.md +330 -1
- package/docs/updating-existing-project.md +2 -0
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +56 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +44 -0
- package/references/state-machine.md +4 -1
|
@@ -48,6 +48,9 @@ If the current Plan Risk Audit marks a Step for strict review, `task step-comple
|
|
|
48
48
|
creates the workflow-owned commit, but the Step stays non-terminal and `next` routes to
|
|
49
49
|
`task step-review`. Canonical completion is recorded only after the strict review and the
|
|
50
50
|
reviewer attestation both bind to that exact completion commit.
|
|
51
|
+
When `next` advertises `task step-review`, pass the exact claimant or required actor as
|
|
52
|
+
`--actor`; the isolated reviewer identity is created inside Core and must not be substituted
|
|
53
|
+
into the mutation actor slot.
|
|
51
54
|
|
|
52
55
|
Invalid or stale review sidecars fail closed. The workflow blocks downstream acceptance and
|
|
53
56
|
normal continuation when review evidence is malformed, unverified, or commit-mismatched.
|
|
@@ -151,7 +154,11 @@ current `MSA-*` code. Without that option the ordinary later-message human gate
|
|
|
151
154
|
## Bounded Milestone autonomy and C1 handoff
|
|
152
155
|
|
|
153
156
|
Initial assembly may materialize every linked Task before one complete `milestone plan-set`;
|
|
154
|
-
the Milestone cannot execute until all reverse memberships are classified.
|
|
157
|
+
the Milestone cannot execute until all reverse memberships are classified. During that exact
|
|
158
|
+
window `next` returns non-executable `milestone initial-assembly` navigation with explicit
|
|
159
|
+
linked-Task Discovery/materialization options; the closing Plan option appears after the first
|
|
160
|
+
linked Task exists. A failed navigation call must not
|
|
161
|
+
be bypassed with a direct Plan command. Ordinary semantic
|
|
155
162
|
scope change remains explicit and human-only through `milestone scope-change-prepare` and
|
|
156
163
|
`milestone scope-change-apply`.
|
|
157
164
|
|
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
# codex-workflow-v2 2.0.0-beta.2 — Initial Assembly Navigation Stabilization
|
|
2
|
+
|
|
3
|
+
Status: implementation and release verification complete; independently audited and recommended for release
|
|
4
|
+
Date: 2026-08-15
|
|
5
|
+
Base: published `v2.0.0-beta.1` (`2062c636756560c879b8645b67800d55792be576`)
|
|
6
|
+
Development rule: Workflow V2 is not used to plan, authorize, implement, test, or audit this release.
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Produce one unreleased `2.0.0-beta.2` candidate that makes Milestone initial assembly a truthful,
|
|
11
|
+
recoverable lifecycle state. A successful linked-Task materialization must never create a state that
|
|
12
|
+
`status` or `next` rejects merely because the complete initial Milestone membership Plan has not yet
|
|
13
|
+
been recorded.
|
|
14
|
+
|
|
15
|
+
The candidate also makes release evidence fail closed: a real-agent run is invalid when the agent
|
|
16
|
+
continues with a different lifecycle mutation after a failed `status` or `next`.
|
|
17
|
+
|
|
18
|
+
No tag, push, npm publication, or live `signal_v4` mutation is authorized by this Brief.
|
|
19
|
+
|
|
20
|
+
## Confirmed defects
|
|
21
|
+
|
|
22
|
+
### WF-STABLE-009 — initial assembly creates a state rejected by repository navigation
|
|
23
|
+
|
|
24
|
+
- Status: Confirmed
|
|
25
|
+
- Severity: Critical / release-blocking
|
|
26
|
+
- Area: Milestone initial assembly, membership integrity, `status`, `next`
|
|
27
|
+
- Reproduction:
|
|
28
|
+
1. materialize a planning Milestone without an initial Plan;
|
|
29
|
+
2. materialize the first linked planning Task;
|
|
30
|
+
3. call repository `status` or `next`;
|
|
31
|
+
4. Core returns `MILESTONE_SCOPE_INCOMPLETE` for the intentionally repairable reverse membership.
|
|
32
|
+
- Contradiction:
|
|
33
|
+
- `materializeTask` explicitly permits the bounded reverse-membership gap;
|
|
34
|
+
- documentation says all linked Tasks may be materialized before one complete `milestone plan-set`;
|
|
35
|
+
- strict repository navigation rejects the same intermediate state.
|
|
36
|
+
- Exact downstream evidence:
|
|
37
|
+
- live read-only project: `/Users/home-pc/htdocs/projects/signal_v4`;
|
|
38
|
+
- new Milestone: `MS-01M02SC6XTM49P0427DXE3D3GD`, planning revision 1;
|
|
39
|
+
- first linked Task: `TASK-01M02SE0R0TNT4Z89P0KFACHY8`, planning revision 1;
|
|
40
|
+
- old Milestone `MS-01M00VYB46R56Z563WYCPDEVEA` is cancelled revision 4 and remains historical.
|
|
41
|
+
|
|
42
|
+
### WF-STABLE-010 — release E2E accepted a lifecycle bypass after failed `next`
|
|
43
|
+
|
|
44
|
+
- Status: Confirmed
|
|
45
|
+
- Severity: Critical / release-process invalidation
|
|
46
|
+
- Area: real-agent validation, transcript audit, release recommendation
|
|
47
|
+
- Evidence:
|
|
48
|
+
- beta.1 real-agent E2E received `MILESTONE_SCOPE_INCOMPLETE` from both `status` and `next`
|
|
49
|
+
immediately after Task materialization;
|
|
50
|
+
- the agent described the gap as expected and continued directly to `milestone plan-set`;
|
|
51
|
+
- the beta.1 Brief declared an E2E invalid if it bypassed `next`;
|
|
52
|
+
- the final audit nevertheless reported no material requirement gap.
|
|
53
|
+
- Consequence: beta.1 release recommendation is withdrawn for `signal_v4` Milestone reincarnation.
|
|
54
|
+
|
|
55
|
+
### WF-STABLE-011 — pending Task review navigation advertised the wrong executable route
|
|
56
|
+
|
|
57
|
+
- Status: Confirmed during the first beta.2 real-agent diagnostic run
|
|
58
|
+
- Severity: High / release-blocking until replayed
|
|
59
|
+
- Area: truthful `next`, independent Task review, transcript validation
|
|
60
|
+
- Reproduction:
|
|
61
|
+
1. submit a Task whose final independent review is pending;
|
|
62
|
+
2. call repository `next`;
|
|
63
|
+
3. Core advertises low-level `task review-record`;
|
|
64
|
+
4. the packaged autonomous route is the compound `task review-launch`, which launches the
|
|
65
|
+
isolated reviewer and records its bound result in one command.
|
|
66
|
+
- Required correction:
|
|
67
|
+
- advertise exact `task review-launch` for pending or unverified Task review;
|
|
68
|
+
- retain `task result-set` after a passed review;
|
|
69
|
+
- keep the C1 claimant as the lifecycle `--actor` for strict Step review while Core launches the
|
|
70
|
+
independent reviewer internally;
|
|
71
|
+
- rerun the full real-agent Milestone on a rebuilt candidate rather than altering the diagnostic
|
|
72
|
+
transcript.
|
|
73
|
+
|
|
74
|
+
### WF-STABLE-012 — Git-writing Core transitions do not advertise their permission boundary
|
|
75
|
+
|
|
76
|
+
- Status: Confirmed during the rebuilt beta.2 real-agent run
|
|
77
|
+
- Severity: High / autonomy and evidence blocker
|
|
78
|
+
- Area: truthful `next`, Codex sandbox permissions, Core-owned Git transitions
|
|
79
|
+
- Reproduction:
|
|
80
|
+
1. run a guarded Step in a disposable Git repository under the normal Codex sandbox;
|
|
81
|
+
2. follow `next.action = task step-complete` literally;
|
|
82
|
+
3. Core reaches its owned `git add`, but the first invocation is denied while creating
|
|
83
|
+
`.git/index.lock`;
|
|
84
|
+
4. the same semantic transition succeeds only after the coordinator retries with bounded Git
|
|
85
|
+
metadata permission.
|
|
86
|
+
- Required correction:
|
|
87
|
+
- `next` must expose a machine-readable permission policy before every Core transition that will
|
|
88
|
+
write Git metadata (`task start` for local ownership, `task step-complete`, local `task merge`,
|
|
89
|
+
and local `task sync-base`);
|
|
90
|
+
- the gateway must request that bounded permission before the first invocation, not learn it from
|
|
91
|
+
a failed mutation;
|
|
92
|
+
- do not expose the policy for read-only transitions or external merge confirmation;
|
|
93
|
+
- a Milestone grant is passed only when the exact current `delegatedApprovalOptions` offers it for
|
|
94
|
+
that transition; ordinary C1 handoff preparation is not a delegated approval transition.
|
|
95
|
+
|
|
96
|
+
### WF-STABLE-013 — strict reviewer subprocess can remain indeterminate or fail before launch
|
|
97
|
+
|
|
98
|
+
- Status: Confirmed during `real-agent-release-final-6`
|
|
99
|
+
- Severity: Critical / release-blocking
|
|
100
|
+
- Reproduction A: two exact `task step-review` calls at Task revision `6` each launched an isolated
|
|
101
|
+
`codex exec`, returned no terminal mutation result, and remained alive concurrently for more than
|
|
102
|
+
five minutes.
|
|
103
|
+
- Reproduction B: `real-agent-release-final-10` proved that placing the global
|
|
104
|
+
`--ask-for-approval never` option after `exec` is rejected by the real Codex CLI with status `2`.
|
|
105
|
+
Two ordinary remediation attempts were therefore consumed by launch failures before the run was
|
|
106
|
+
stopped; final-10 is retained as immutable diagnostic evidence.
|
|
107
|
+
- Required correction:
|
|
108
|
+
- make reviewer approval policy explicitly non-interactive so the intentional denied-write probe
|
|
109
|
+
cannot wait for human approval;
|
|
110
|
+
- place global CLI options before the `exec` subcommand and regression-test their exact order;
|
|
111
|
+
- enforce a host-side execution deadline and return terminal fail-closed `unverified` evidence on
|
|
112
|
+
timeout/process failure;
|
|
113
|
+
- never allow an unbounded reviewer subprocess to keep an exact lifecycle mutation indeterminate.
|
|
114
|
+
|
|
115
|
+
### WF-STABLE-014 — transcript validation ignores unterminated mutation invocations
|
|
116
|
+
|
|
117
|
+
- Status: Confirmed during `real-agent-release-final-6`
|
|
118
|
+
- Severity: Critical / release-process invalidation
|
|
119
|
+
- Reproduction: the validator returned PASS for a transcript containing `task step-review`
|
|
120
|
+
invocation commentary with no terminal mutation event, a subsequent status/next, and duplicate
|
|
121
|
+
re-entry at the unchanged revision.
|
|
122
|
+
- Required correction:
|
|
123
|
+
- pair every harness lifecycle invocation with its exact terminal navigation, mutation, or
|
|
124
|
+
read-only observation result;
|
|
125
|
+
- fail closed when handshake, doctor, Knowledge status, autonomy preparation, or another
|
|
126
|
+
read-only observation fails or remains indeterminate;
|
|
127
|
+
- reject EOF, another command, or duplicate re-entry while an invocation is unresolved;
|
|
128
|
+
- retain immutable failed-run evidence and prove the old final-6 transcript is now rejected.
|
|
129
|
+
|
|
130
|
+
### WF-STABLE-015 — Task Plan navigation omits exact required ID inclusion
|
|
131
|
+
|
|
132
|
+
- Status: Confirmed during `real-agent-release-final-11`
|
|
133
|
+
- Severity: High / release-blocking autonomy defect
|
|
134
|
+
- Reproduction: after clean initial assembly and delegated Milestone authorization, `next` returned
|
|
135
|
+
only `task plan-set` for the required Task. The Delegate produced semantic acceptance statements
|
|
136
|
+
but omitted exact Task acceptance ID `AC-001`; Core correctly rejected the Plan before writing.
|
|
137
|
+
- Required correction:
|
|
138
|
+
- expose the exact Task requirement and acceptance IDs in the same `next` response that advertises
|
|
139
|
+
`task plan-set`;
|
|
140
|
+
- bind that contract to the current Brief hash and active Knowledge Map revision/hash;
|
|
141
|
+
- keep the existing exact-inclusion validation fail closed;
|
|
142
|
+
- synchronize the gateway so the Technical Planner consumes this machine-readable contract.
|
|
143
|
+
|
|
144
|
+
### WF-STABLE-016 — Git-completion navigation omits its required writer lease input
|
|
145
|
+
|
|
146
|
+
- Status: Confirmed during `real-agent-release-final-12`
|
|
147
|
+
- Severity: High / release-blocking autonomy defect
|
|
148
|
+
- Reproduction: the Delegate completed implementation, strict Step review, Task review, result, and
|
|
149
|
+
delegated Task acceptance. `next` then advertised `task merge` and its Git mutation policy, but
|
|
150
|
+
did not advertise the mandatory `--writer-token`; the first merge call was rejected before write.
|
|
151
|
+
- Required correction:
|
|
152
|
+
- expose a machine-readable `writerTokenContract` on every navigation action that requires the
|
|
153
|
+
active writer lease: `task step-complete`, `task submit`, `task merge`, and `task merge-confirm`;
|
|
154
|
+
- identify the exact option and source without exposing, logging, or persisting the token value;
|
|
155
|
+
- omit the contract from adjacent transitions that do not consume the lease;
|
|
156
|
+
- synchronize the gateway so the contract is consumed before the first transition call.
|
|
157
|
+
|
|
158
|
+
### WF-STABLE-017 — subcommand help is dispatched as a lifecycle mutation
|
|
159
|
+
|
|
160
|
+
- Status: Confirmed during `real-agent-release-final-16`
|
|
161
|
+
- Severity: High / release-blocking autonomy defect
|
|
162
|
+
- Reproduction: after successful real-agent initial assembly and owner autonomy grant, the Delegate
|
|
163
|
+
requested standard command discovery with `milestone authorize --help`. The CLI entered the
|
|
164
|
+
mutation dispatcher, required `--id`, and returned `INVALID_ARGUMENT`, invalidating the clean run.
|
|
165
|
+
- Required correction:
|
|
166
|
+
- intercept `--help` before repository/state construction and lifecycle dispatch;
|
|
167
|
+
- support top-level, noun-level, and action-level help with exit `0`;
|
|
168
|
+
- return a machine-readable `readOnly` help response and exact option contracts where declared;
|
|
169
|
+
- never require lifecycle mutation inputs or write workflow state in help mode;
|
|
170
|
+
- treat help as a read-only observation in real-agent evidence, not a mutation attempt;
|
|
171
|
+
- require a fresh successful `next` after help and before any lifecycle mutation.
|
|
172
|
+
|
|
173
|
+
### WF-STABLE-018 — credential-bearing receipts are buried after large Task payloads
|
|
174
|
+
|
|
175
|
+
- Status: Confirmed during `real-agent-release-final-18`
|
|
176
|
+
- Severity: High / release-blocking autonomy defect
|
|
177
|
+
- Reproduction: the Delegate completed initial assembly, the owner grant, Milestone authorization,
|
|
178
|
+
Task planning/authorization, and C1 handoff preparation with zero rejected lifecycle calls. The
|
|
179
|
+
one-time claim token was present exactly once in the full successful CLI JSON, but only after
|
|
180
|
+
roughly 5 KiB of Task/event data. The Delegate incorrectly concluded that the harness had lost
|
|
181
|
+
the token and stopped rather than issuing `task claim`.
|
|
182
|
+
- Required correction:
|
|
183
|
+
- emit claim and writer-lease credentials in a compact first field of the successful CLI value;
|
|
184
|
+
- attach explicit action, option, source, target/owner, and sensitivity metadata;
|
|
185
|
+
- retain the existing Task, event, bundle, lease, and envelope information without duplicating
|
|
186
|
+
the credential in those large structures;
|
|
187
|
+
- never re-expose either credential through `status`, `next`, or `task handoff-show`;
|
|
188
|
+
- synchronize the gateway so a Delegate consumes the first receipt before interpreting the
|
|
189
|
+
remaining payload.
|
|
190
|
+
|
|
191
|
+
### WF-STABLE-019 — claimed Task run requires a lease that navigation says will be issued later
|
|
192
|
+
|
|
193
|
+
- Status: Confirmed during `real-agent-release-final-19`
|
|
194
|
+
- Severity: High / release-blocking autonomy defect
|
|
195
|
+
- Reproduction: credential-first C1 handoff and `task claim` both succeeded, followed by a safe
|
|
196
|
+
stop before bounded Core Git permission. After resume, `task start` succeeded, but `next`
|
|
197
|
+
advertised `task run` without a writer-token contract. Core then rejected that exact run because
|
|
198
|
+
claimed C1 posture already required the lease created by `task claim`; the existing compact
|
|
199
|
+
receipt was available only after a successful run and therefore could not satisfy its own
|
|
200
|
+
precondition.
|
|
201
|
+
- Required correction:
|
|
202
|
+
- `task claim` emits the newly bound lease as a first-field `writerLeaseReceipt` exactly once;
|
|
203
|
+
- its receipt declares `task run --writer-token` as the next consuming action;
|
|
204
|
+
- `next` exposes `writerTokenContract` for `task run` only when claimed C1 posture requires it;
|
|
205
|
+
- ordinary unclaimed `task run` remains able to acquire its first lease without a token;
|
|
206
|
+
- `task run` continues to return the refreshed receipt for later lease-bound transitions.
|
|
207
|
+
|
|
208
|
+
### WF-STABLE-020 — transcript validator rejects safe top-level help
|
|
209
|
+
|
|
210
|
+
- Status: Confirmed during `real-agent-release-final-20`
|
|
211
|
+
- Severity: High / release-blocking evidence defect
|
|
212
|
+
- Reproduction: phase 1 completed all seven-Task assembly mutations, the complete Milestone Plan,
|
|
213
|
+
and autonomy preparation with zero rejected lifecycle calls. The trusted harness recorded one
|
|
214
|
+
successful top-level `workflow --help`, immediately followed by fresh successful `next`.
|
|
215
|
+
Packaged transcript validation rejected the otherwise clean evidence as an unsupported read-only
|
|
216
|
+
observation.
|
|
217
|
+
- Required correction:
|
|
218
|
+
- recognize successful top-level `--help` as the same safe read-only observation class as noun
|
|
219
|
+
and action help;
|
|
220
|
+
- require a fresh successful `next` before any subsequent mutation;
|
|
221
|
+
- reject failed top-level help, lifecycle mutation inputs embedded in help, and missing fresh
|
|
222
|
+
navigation without weakening invocation pairing or failure latching.
|
|
223
|
+
|
|
224
|
+
## Required semantics
|
|
225
|
+
|
|
226
|
+
### Initial assembly predicate
|
|
227
|
+
|
|
228
|
+
A reverse membership may be treated as repairable only when all of the following hold:
|
|
229
|
+
|
|
230
|
+
1. the Milestone is `planning`;
|
|
231
|
+
2. `planHash` is null;
|
|
232
|
+
3. `membershipRevision` is `0`;
|
|
233
|
+
4. current memberships and `taskIds` are empty;
|
|
234
|
+
5. no Milestone execution authorization exists;
|
|
235
|
+
6. every reverse-orphan Task points to this Milestone;
|
|
236
|
+
7. every reverse-orphan Task is an unstarted planning Task with no workspace, branch, Plan,
|
|
237
|
+
execution authorization, started Step, result, evidence, or merge commit;
|
|
238
|
+
8. no scope-change transaction, completed scope-change event, autonomy contract, or
|
|
239
|
+
autonomy-evolution evidence exists.
|
|
240
|
+
|
|
241
|
+
The exception closes permanently after the first complete `milestone plan-set`, after any linked
|
|
242
|
+
Task starts, or after the Milestone leaves initial planning. It must not be reopened by Plan changes,
|
|
243
|
+
revisions, cancellation, recovery, or manual-looking legacy shapes.
|
|
244
|
+
|
|
245
|
+
### Truthful navigation
|
|
246
|
+
|
|
247
|
+
During the exact initial-assembly predicate:
|
|
248
|
+
|
|
249
|
+
- `status` succeeds and identifies the repairable assembly state;
|
|
250
|
+
- `next` does not report corruption or require a semantic scope change;
|
|
251
|
+
- `next` explicitly permits continued linked-Task Discovery/materialization and also identifies
|
|
252
|
+
complete initial `milestone plan-set` as the closing transition after at least one linked Task
|
|
253
|
+
exists; an empty Milestone must not advertise a Plan transition that Core rejects;
|
|
254
|
+
- no Task execution, handoff, start, authorization, or Milestone autonomy grant is actionable before
|
|
255
|
+
the complete initial Plan classifies every reverse membership;
|
|
256
|
+
- the response must not imply that the first linked Task is sufficient when the coordinator has
|
|
257
|
+
declared more raw Task inputs.
|
|
258
|
+
|
|
259
|
+
Outside that predicate, the existing reverse-membership detector remains strict.
|
|
260
|
+
|
|
261
|
+
### Failure and durability
|
|
262
|
+
|
|
263
|
+
- Every validation must happen before the first canonical write.
|
|
264
|
+
- Rejected calls are non-mutating.
|
|
265
|
+
- Existing project-transaction recovery remains authoritative.
|
|
266
|
+
- No recovery path may edit historical events or silently classify a Task.
|
|
267
|
+
|
|
268
|
+
## Systemic transition invariant
|
|
269
|
+
|
|
270
|
+
For every public lifecycle mutation covered by deterministic tests:
|
|
271
|
+
|
|
272
|
+
1. a successful mutation produces a state accepted by `status` and `next`;
|
|
273
|
+
2. an exact action advertised by `next` either succeeds against the bound revision/state or returns a
|
|
274
|
+
documented non-mutating concurrency/precondition conflict;
|
|
275
|
+
3. a command must never intentionally create a state that only a direct command bypass can repair;
|
|
276
|
+
4. terminal/corrective decisions continue to outrank Knowledge navigation and execution;
|
|
277
|
+
5. tests cover the pair `mutation -> status -> next`, not only the mutation in isolation.
|
|
278
|
+
|
|
279
|
+
The audit must review at least initial assembly, context refresh, corrective decisions,
|
|
280
|
+
split-required replacement, cancellation, membership evolution, handoff/start, Step review and
|
|
281
|
+
remediation, merge, validation, and final acceptance.
|
|
282
|
+
|
|
283
|
+
## Deterministic acceptance
|
|
284
|
+
|
|
285
|
+
1. Fresh Milestone: materialize seven linked Tasks; after every Task call terminal `status` and
|
|
286
|
+
then terminal `next`, never concurrently;
|
|
287
|
+
record one complete initial Plan; no scope-change approval is used.
|
|
288
|
+
2. Adopted alpha.6/schema-2 project: repeat the same seven-Task sequence with an active adoption
|
|
289
|
+
posture and verify identical navigation.
|
|
290
|
+
3. Exact current `signal_v4` snapshot replay: cancelled historical Milestone plus one partially
|
|
291
|
+
assembled new Milestone/Task continues through Tasks 2–7 without rewriting existing state.
|
|
292
|
+
4. After initial Plan, a new unclassified live Task still yields `MILESTONE_SCOPE_INCOMPLETE`.
|
|
293
|
+
5. Started/workspace-owned/planned/authorized orphan Tasks never qualify for the exception.
|
|
294
|
+
6. Semantic Plan change, terminal Milestone state, stale revision, damaged plan agreement, corrupt
|
|
295
|
+
adoption posture, and incomplete transactions remain blocked before writes.
|
|
296
|
+
7. Repeated `status`/`next` during assembly is idempotent and non-mutating.
|
|
297
|
+
8. Existing beta.1 regressions remain green.
|
|
298
|
+
9. Pending Task final review advertises exact `task review-launch`; the compound transition is
|
|
299
|
+
accepted by the transcript validator without an alias or direct-command bypass.
|
|
300
|
+
10. Every Core-owned Git-writing action advertises its bounded permission requirement before the
|
|
301
|
+
first invocation; read-only and external-confirm actions do not.
|
|
302
|
+
|
|
303
|
+
## Real-agent acceptance
|
|
304
|
+
|
|
305
|
+
Use an isolated disposable project and copied, non-authoritative `signal_v4` workflow evidence.
|
|
306
|
+
The real Delegate must:
|
|
307
|
+
|
|
308
|
+
1. perform the beta.1/beta.2 handshake and read-only preflight;
|
|
309
|
+
2. start from the exact partial reincarnation shape (new planning Milestone plus one linked planning
|
|
310
|
+
Task, no Plan);
|
|
311
|
+
3. materialize the remaining six Tasks from the retained raw Brief/Plan inputs;
|
|
312
|
+
4. call `status` to terminal completion and only then top-level `next` after every lifecycle
|
|
313
|
+
boundary; never launch the checkpoint pair concurrently;
|
|
314
|
+
5. create one complete seven-membership Milestone Plan; for this disposable lifecycle-only run,
|
|
315
|
+
exactly one thin guarded fixture Task is `required` and the other six memberships are `waived`
|
|
316
|
+
with explicit reasons because implementing `signal_v4` product scope outside `signal_v4` is
|
|
317
|
+
forbidden; the deterministic replay separately proves seven `required` memberships;
|
|
318
|
+
6. create Task Plans and risk-audit evidence without product-scope expansion;
|
|
319
|
+
7. obtain one exact Milestone autonomy grant at the intended human boundary;
|
|
320
|
+
8. complete at least one guarded Task and complete the disposable Milestone through final accept;
|
|
321
|
+
9. finish with repository `idle`.
|
|
322
|
+
|
|
323
|
+
The E2E is invalid if any lifecycle `status` or `next` fails and the agent then performs a different
|
|
324
|
+
lifecycle mutation, or if a second checkpoint invocation starts before the first emits its terminal
|
|
325
|
+
result. A syntax-only, pre-write CLI error may be retried only with the same semantic operation and
|
|
326
|
+
unchanged expected revision.
|
|
327
|
+
|
|
328
|
+
Raw Codex JSONL is diagnostic evidence, but credential-bearing CLI arguments and receipt payloads
|
|
329
|
+
must be removed by the streaming evidence sanitizer before any session line is written to disk.
|
|
330
|
+
Post-run evidence inspection must report zero unredacted `claimToken`, `writerToken`, generic
|
|
331
|
+
receipt `token`, `--claim-token`, or `--writer-token` values. The lifecycle harness log remains the
|
|
332
|
+
authoritative semantic transcript and never records credential values.
|
|
333
|
+
|
|
334
|
+
Every claimed-C1 mutation that validates the claimant's active lease must expose
|
|
335
|
+
`writerTokenContract` from `next`, including strict `task step-review` and final
|
|
336
|
+
`task review-launch`. The contract is conditional on claimed posture; unclaimed review navigation
|
|
337
|
+
remains token-free.
|
|
338
|
+
|
|
339
|
+
The release-candidate E2E must also avoid preventable first-attempt failures: it uses
|
|
340
|
+
`--expected-revision`, passes a delegation grant only when the exact current `next` offers it for
|
|
341
|
+
that transition, and requests the advertised bounded Git permission before each Core-owned
|
|
342
|
+
Git-writing transition. Earlier completed runs containing harness or permission retries remain
|
|
343
|
+
immutable diagnostic evidence, not final release evidence.
|
|
344
|
+
|
|
345
|
+
## Transcript validator
|
|
346
|
+
|
|
347
|
+
Release evidence must include an automated validator over an append-only lifecycle event log emitted
|
|
348
|
+
by the isolated harness wrapper around every project-local Workflow CLI invocation. The log must
|
|
349
|
+
start with a schema/run/provenance record, capture the semantic command, bound revision, JSON result,
|
|
350
|
+
and failure classification, and must not contain credentials. The final audit cross-checks the raw
|
|
351
|
+
Codex session transcript against this log so a direct unwrapped lifecycle invocation invalidates the
|
|
352
|
+
run. The validator fails when:
|
|
353
|
+
|
|
354
|
+
- a failed `status`/`next` is followed by a different lifecycle mutation;
|
|
355
|
+
- a mutation is not permitted by the last successful navigation response or explicit initial
|
|
356
|
+
assembly option;
|
|
357
|
+
- a failed transition is described as expected and bypassed;
|
|
358
|
+
- an invocation begins but does not produce its exact terminal result before another command or EOF;
|
|
359
|
+
- the same mutation is re-entered while its prior process/result is indeterminate;
|
|
360
|
+
- a non-retryable mutation fails, or a syntax-only failed mutation is left without its exact
|
|
361
|
+
successful same-operation/same-revision retry;
|
|
362
|
+
- workflow-state is edited outside the package CLI/Core;
|
|
363
|
+
- a historical ID, grant, lease, branch, or authorization is reused as current authority;
|
|
364
|
+
- the run omits required `status`/`next` checkpoints.
|
|
365
|
+
|
|
366
|
+
A hand-authored or agent-authored normalized log is not release evidence; deterministic unit fixtures
|
|
367
|
+
may be synthetic, but the real E2E log must be produced by the harness wrapper.
|
|
368
|
+
|
|
369
|
+
## Live project boundary and recovery recommendation
|
|
370
|
+
|
|
371
|
+
`signal_v4`, its external workflow-state, current Milestones, Tasks, chats, branches, and product
|
|
372
|
+
files are read-only during candidate development. After release approval, the intended recovery is
|
|
373
|
+
to continue existing Milestone `MS-01M02SC6XTM49P0427DXE3D3GD`, retain first Task
|
|
374
|
+
`TASK-01M02SE0R0TNT4Z89P0KFACHY8`, and materialize Tasks 2–7. A third reincarnation is not required
|
|
375
|
+
unless replay proves the partial state semantically corrupt.
|
|
376
|
+
|
|
377
|
+
## Implementation handoff contract — WF-STABLE-009
|
|
378
|
+
|
|
379
|
+
This section is the formal implementation subtask artifact. It is intentionally embedded in the
|
|
380
|
+
single beta.2 Brief so no competing task source of truth is created.
|
|
381
|
+
|
|
382
|
+
### Inputs
|
|
383
|
+
|
|
384
|
+
- Published beta.1 source at commit `2062c636756560c879b8645b67800d55792be576`.
|
|
385
|
+
- Confirmed production contradiction between `materializeTask`, `readMilestoneForScopeChange`,
|
|
386
|
+
repository `status`/`next`, `listMilestonesCurrent`, and `assertMilestoneMembershipIntegrity`.
|
|
387
|
+
- Required semantics, systemic invariant, deterministic acceptance, and live-project boundary in
|
|
388
|
+
this Brief.
|
|
389
|
+
- Existing canonical Milestone/Task contracts and state schema must remain compatible.
|
|
390
|
+
|
|
391
|
+
### Expected outputs
|
|
392
|
+
|
|
393
|
+
- Production implementation in `src/workflow.ts`, `src/alpha6/milestone.ts`, and only directly
|
|
394
|
+
required `src/` contract/type files.
|
|
395
|
+
- One exported or internally reusable exact initial-assembly assessment; do not duplicate the
|
|
396
|
+
predicate independently across readers and navigation.
|
|
397
|
+
- `status` accepts an exact repairable initial assembly without weakening ordinary integrity.
|
|
398
|
+
- `next` returns an explicit Milestone initial-assembly response containing:
|
|
399
|
+
- current Milestone ID/revision;
|
|
400
|
+
- current linked unclassified Task IDs;
|
|
401
|
+
- `executionAvailable: false`;
|
|
402
|
+
- an explicit option permitting another linked Task Discovery/materialization;
|
|
403
|
+
- after at least one linked Task exists, an explicit closing option for one complete initial
|
|
404
|
+
`milestone plan-set`.
|
|
405
|
+
- Existing persisted schema remains unchanged unless an additive response-only contract type is
|
|
406
|
+
required.
|
|
407
|
+
- Gateway handshake retains `milestone-initial-assembly-v1` for compatibility and adds
|
|
408
|
+
`milestone-initial-assembly-navigation-v2` for the truthful beta.2 contract.
|
|
409
|
+
- Focused typecheck/build evidence.
|
|
410
|
+
|
|
411
|
+
### Forbidden scope
|
|
412
|
+
|
|
413
|
+
- Tests, package version, release scripts, Brief/register, `signal_v4`, external workflow-state,
|
|
414
|
+
tags, push, publication, or unrelated refactors.
|
|
415
|
+
- Broadly disabling reverse-membership integrity.
|
|
416
|
+
- Inferring planned Task count, silently classifying Tasks, creating membership records before
|
|
417
|
+
`milestone plan-set`, or allowing Task execution during assembly.
|
|
418
|
+
- Using Workflow V2 for this implementation.
|
|
419
|
+
|
|
420
|
+
### Dependencies
|
|
421
|
+
|
|
422
|
+
- The test owner independently owns deterministic/replay/transcript tests and may consume the
|
|
423
|
+
additive `next` response shape above.
|
|
424
|
+
- Root coordinator owns package integration, full validation, E2E, versioning, and release evidence.
|
|
425
|
+
- Existing adoption posture and transaction recovery remain authoritative dependencies; the change
|
|
426
|
+
must compose with both rather than bypass them.
|
|
427
|
+
|
|
428
|
+
### Validation checkpoints
|
|
429
|
+
|
|
430
|
+
| ID | Goal | Input | Expected result | Pass criteria | Fail criteria | Owner | Result artifact |
|
|
431
|
+
|---|---|---|---|---|---|---|---|
|
|
432
|
+
| IMP-1 | Centralize the safe exception | Planning Milestone plus only safe unstarted reverse-orphan Tasks | One exact initial-assembly assessment | All Brief predicate clauses checked once and reused | Different readers implement divergent predicates | State-machine implementer | Source diff |
|
|
433
|
+
| IMP-2 | Preserve strict integrity | Planned/authorized/active/terminal Milestone or unsafe orphan | Existing strict error before writes | `MILESTONE_SCOPE_INCOMPLETE` or stricter canonical error remains | Any unsafe state is accepted as assembly | State-machine implementer | Focused tests/typecheck |
|
|
434
|
+
| IMP-3 | Make reads truthful | Exact safe initial assembly | `status` succeeds without persistence | Repeated reads do not change revisions/artifacts/events | Read fails or mutates state | State-machine implementer | Focused test handoff |
|
|
435
|
+
| IMP-4 | Make navigation truthful | Exact safe initial assembly | Explicit assembly action/options; execution unavailable | Response permits continued materialization and closing plan-set | Response only says plan-set, routes Task execution, or reports corruption | State-machine implementer | Response fixture/test handoff |
|
|
436
|
+
| IMP-5 | Preserve plan closure | Complete initial Plan | Normal post-Plan routing | Initial exception no longer applies | Later orphan is silently tolerated | State-machine implementer | Existing reverse-orphan regression |
|
|
437
|
+
| IMP-6 | Preserve compatibility | TypeScript contracts and compiled CLI | Typecheck/build pass | No persisted schema/protocol break | Schema drift or downstream compile failure | State-machine implementer | Command output summary |
|
|
438
|
+
|
|
439
|
+
## Release gates
|
|
440
|
+
|
|
441
|
+
Beta.2 may be recommended only when:
|
|
442
|
+
|
|
443
|
+
- typecheck, build, full sequential tests, packaging, plugin, downstream smoke, release check, and
|
|
444
|
+
root regression pass;
|
|
445
|
+
- deterministic exact-state replay passes;
|
|
446
|
+
- real-agent seven-Task E2E reaches final acceptance and repository idle;
|
|
447
|
+
- transcript validation passes independently;
|
|
448
|
+
- an independent source/evidence audit has no unresolved material finding;
|
|
449
|
+
- the diff contains no `signal_v4` product or live workflow-state mutation.
|
|
450
|
+
|
|
451
|
+
Do not create a tag, push, or publish without separate user confirmation.
|
|
452
|
+
|
|
453
|
+
## Implementation and validation evidence
|
|
454
|
+
|
|
455
|
+
### Candidate result
|
|
456
|
+
|
|
457
|
+
- Candidate version: `2.0.0-beta.2`.
|
|
458
|
+
- Source base: published beta.1 commit `2062c636756560c879b8645b67800d55792be576`.
|
|
459
|
+
- `WF-STABLE-009`: closed by one centralized, fail-closed initial-assembly assessment shared by
|
|
460
|
+
Milestone integrity reads and repository navigation. Exact safe assembly is visible through
|
|
461
|
+
`status`/`next`; execution remains unavailable; every unsafe reverse-membership shape retains the
|
|
462
|
+
canonical integrity error.
|
|
463
|
+
- `WF-STABLE-010`: candidate implementation adds an append-only harness transcript and fail-closed validator. The
|
|
464
|
+
validator rejects navigation bypasses, unadvertised mutations, missing checkpoints, malformed
|
|
465
|
+
provenance, and different-operation continuation after a failed read.
|
|
466
|
+
- `WF-STABLE-011`: candidate implementation advertises `task review-launch` for pending or unverified final Task
|
|
467
|
+
review, while preserving `task result-set` after a passed review and the existing independent
|
|
468
|
+
reviewer boundary.
|
|
469
|
+
- `WF-STABLE-012`: candidate implementation adds machine-readable `gitMutationPolicy` navigation for local `task start`,
|
|
470
|
+
`task step-complete`, `task merge`, and `task sync-base`, plus gateway rules that request the
|
|
471
|
+
bounded Git permission before the first mutation and pass delegation grants only when the exact
|
|
472
|
+
current navigation response offers them.
|
|
473
|
+
- `WF-STABLE-013`: candidate implementation makes strict reviewers explicitly non-interactive,
|
|
474
|
+
places the approval option in the real CLI's global position, and bounds execution by a host-side
|
|
475
|
+
deadline; timeout/process failure produces terminal unverified evidence.
|
|
476
|
+
- `WF-STABLE-014`: candidate implementation pairs harness invocations with terminal navigation,
|
|
477
|
+
mutation, and read-only observation results and rejects incomplete, failed, stranded, or
|
|
478
|
+
re-entered invocations.
|
|
479
|
+
- `WF-STABLE-015`: candidate implementation adds `taskPlanContract` to every Plan-setting
|
|
480
|
+
navigation with exact required requirement/acceptance IDs, current risks, Brief hash, and current Knowledge Map
|
|
481
|
+
binding; Core's exact inclusion validation remains unchanged.
|
|
482
|
+
- `WF-STABLE-016`: candidate implementation adds `writerTokenContract` to every transition that
|
|
483
|
+
consumes the active writer lease, while keeping the credential itself secret and omitting the
|
|
484
|
+
contract from non-lease transitions.
|
|
485
|
+
- `WF-STABLE-017`: candidate implementation intercepts top-level, noun, and action `--help` before
|
|
486
|
+
lifecycle dispatch, returns read-only machine-readable usage, and provides exact option contracts
|
|
487
|
+
for the critical autonomous Task/Milestone transitions. The transcript validator accepts only
|
|
488
|
+
safe trusted-harness help observations and requires a fresh successful `next` before mutation.
|
|
489
|
+
- `WF-STABLE-018`: candidate implementation emits a credential-first `credentialHandoff` receipt
|
|
490
|
+
from `task handoff-prepare` and a credential-first `writerLeaseReceipt` from `task run`. Each
|
|
491
|
+
secret occurs exactly once in stdout; large compatibility payloads remain available without a
|
|
492
|
+
duplicate credential, and read-only follow-up commands do not expose it.
|
|
493
|
+
- `WF-STABLE-019`: candidate implementation emits a credential-first `writerLeaseReceipt` from
|
|
494
|
+
`task claim` and adds a claimed-posture-only `writerTokenContract` to `task run` navigation. The
|
|
495
|
+
successful run refreshes the same receipt for Step completion; ordinary unclaimed runs remain
|
|
496
|
+
token-free on their first call.
|
|
497
|
+
- `WF-STABLE-020`: candidate transcript validation accepts trusted successful top-level `--help`
|
|
498
|
+
as read-only while preserving failed-help rejection, mutation-input rejection, and the mandatory
|
|
499
|
+
fresh-`next` barrier before lifecycle mutation.
|
|
500
|
+
|
|
501
|
+
### Deterministic checks
|
|
502
|
+
|
|
503
|
+
- Post-WF-STABLE-020 sequential validation on Node `24.17.0`: `149/149` passed in
|
|
504
|
+
`641672 ms`. The current validator also accepts the immutable `final-20` phase-1 transcript as
|
|
505
|
+
`132/132`, while its packaged pre-fix validator rejects the same evidence.
|
|
506
|
+
- Rebuilt package dry-pack, plugin validation, release check, downstream install smoke, root
|
|
507
|
+
workflow regression, and `git diff --check`: passed. Dry-pack shasum:
|
|
508
|
+
`d5ca042dd1bb90e52c6d5313dafa6730e5d3795f`.
|
|
509
|
+
- Post-WF-STABLE-023 sequential validation on Node `24.17.0`: `153/153` passed in
|
|
510
|
+
`644031 ms`, including claimed `task step-review` and `task review-launch` writer-token
|
|
511
|
+
navigation. Plugin validation, release check, isolated-cache dry-pack, downstream install smoke,
|
|
512
|
+
root workflow regression, and `git diff --check` passed. E2E-tested pre-evidence-doc tarball SHA-1:
|
|
513
|
+
`4519d05b31fa08b39f5f5f9f9e2b9f0e13941935`.
|
|
514
|
+
- Post-WF-STABLE-019 sequential validation on Node `24.17.0`: `149/149` passed in
|
|
515
|
+
`610434 ms`, including claim receipt, claimed-run navigation, and refreshed run receipt.
|
|
516
|
+
- Rebuilt package dry-pack, plugin validation, release check, downstream install smoke, root
|
|
517
|
+
workflow regression, and `git diff --check`: passed. Dry-pack shasum:
|
|
518
|
+
`547166399294368c89ae7c581192cf81a6391638`.
|
|
519
|
+
- Post-WF-STABLE-018 sequential validation on Node `24.17.0`: `147/147` passed in
|
|
520
|
+
`594990 ms`, including credential-first CLI integration coverage and the complete lifecycle
|
|
521
|
+
regression set.
|
|
522
|
+
- Rebuilt package dry-pack (isolated npm cache), plugin validation, release check, downstream
|
|
523
|
+
install smoke, root workflow regression, and `git diff --check`: passed. Rebuilt package shasum:
|
|
524
|
+
`04571ca2f51f48661c984e8d16a2e32c336efe64`.
|
|
525
|
+
|
|
526
|
+
- Post-WF-STABLE-015 sequential validation on Node `24.17.0`: `141/141` passed.
|
|
527
|
+
- Rebuilt package archive, plugin validation, release check, downstream smoke, root workflow
|
|
528
|
+
regression, and `git diff --check`: passed.
|
|
529
|
+
|
|
530
|
+
- Pre-WF-STABLE-013/014 full sequential package validation: `135/135` passed.
|
|
531
|
+
- Focused strict-reviewer and transcript-validator suites after the final WF-STABLE-013/014
|
|
532
|
+
extension: `15/15` passed.
|
|
533
|
+
- Final focused strict-reviewer validation after correcting the real CLI global-option order:
|
|
534
|
+
`4/4` passed.
|
|
535
|
+
- Final full sequential package validation on Node `24.17.0`: `139/139` passed, including the
|
|
536
|
+
reviewer ordering regression and lifecycle transcript validator.
|
|
537
|
+
- Final package/release gates passed: `pack:check`, `plugin:check`, `release:check`,
|
|
538
|
+
`smoke:downstream`, and the root workflow regression. The first dry-pack attempt encountered
|
|
539
|
+
pre-existing permission damage in the global npm cache; the isolated-cache rerun passed and did
|
|
540
|
+
not require changing user-directory ownership.
|
|
541
|
+
- Exact copied `signal_v4` snapshot replay: passed without writing to the live project or its live
|
|
542
|
+
external workflow-state. Replay evidence:
|
|
543
|
+
`test-runs/2.0.0-beta.2/signal-snapshot-replay/evidence/exact-snapshot-replay.json`.
|
|
544
|
+
|
|
545
|
+
### Real-agent Milestone evidence
|
|
546
|
+
|
|
547
|
+
- `real-agent-release-final-6` phase 1 is valid partial evidence: exact dependency/doctor passed,
|
|
548
|
+
seven Tasks were assembled with zero failed mutations, and execution stopped at the autonomy
|
|
549
|
+
boundary.
|
|
550
|
+
- Phase 2 is immutable diagnostic evidence, not release evidence. It reached guarded Step commit
|
|
551
|
+
`35b03177377ff5f3b95bb5325dbd0233e910853b`, then left two strict-review invocations without
|
|
552
|
+
terminal results at Task revision `6`.
|
|
553
|
+
- The rebuilt validator rejects that exact transcript with `INCOMPLETE_INVOCATION` at the first
|
|
554
|
+
stranded `task step-review`.
|
|
555
|
+
- `real-agent-release-final-8` completed clean initial assembly, but is diagnostic rather than
|
|
556
|
+
release evidence because the harness omitted the terminal observation for successful
|
|
557
|
+
`milestone autonomy-prepare`; the raw session proves the gap and no grant was issued.
|
|
558
|
+
- `real-agent-release-final-10` reached the guarded Step commit and then exposed a real-CLI
|
|
559
|
+
integration defect: `--ask-for-approval` was positioned after `exec`, so strict review exited
|
|
560
|
+
with status `2` twice. A third retry was correctly rejected after the ordinary remediation limit;
|
|
561
|
+
the run was stopped and remains immutable diagnostic evidence rather than release evidence.
|
|
562
|
+
- `real-agent-release-final-11` completed clean seven-Task initial assembly and delegated Milestone
|
|
563
|
+
authorization, then stopped non-mutating on the first Task Plan because `AC-001` was omitted.
|
|
564
|
+
The transcript is retained as WF-STABLE-015 diagnostic evidence and must not be used for release.
|
|
565
|
+
- `real-agent-release-final-12` completed Task implementation, strict Step review, final review,
|
|
566
|
+
result, and delegated Task acceptance, then stopped on the first `task merge` call because the
|
|
567
|
+
advertised navigation omitted mandatory `--writer-token`. The rejected invocation is retained as
|
|
568
|
+
WF-STABLE-016 diagnostic evidence and must not be resumed or used for release.
|
|
569
|
+
- `real-agent-release-final-13` passed clean bootstrap and transcript preflight, but the real Codex
|
|
570
|
+
session failed transport before its first workflow action (`HTTP CONNECT 403` followed by HTTPS
|
|
571
|
+
connection failures). It made no workflow mutation and is retained only as external transport
|
|
572
|
+
diagnostic evidence.
|
|
573
|
+
- `real-agent-release-final-16` cleared transport, completed clean seven-Task initial assembly, and
|
|
574
|
+
received the exact owner autonomy grant. Phase 2 then exposed WF-STABLE-017 when standard
|
|
575
|
+
`milestone authorize --help` was rejected as a mutation missing `--id`; the run stopped immediately
|
|
576
|
+
and remains immutable diagnostic evidence.
|
|
577
|
+
- `real-agent-release-final-17` proved the corrected CLI and wrapper path in a real Delegate: noun
|
|
578
|
+
help succeeded read-only, fresh `next` followed, and seven-Task initial assembly completed with
|
|
579
|
+
zero rejected mutations. The packaged validator then rejected the otherwise valid help
|
|
580
|
+
observation, so the run stopped before owner grant and is retained as WF-STABLE-017 diagnostic
|
|
581
|
+
evidence rather than release evidence.
|
|
582
|
+
- `real-agent-release-final-18` completed clean seven-Task assembly, the owner autonomy grant,
|
|
583
|
+
delegated Milestone authorization, required-Task planning/authorization, and C1 handoff prepare
|
|
584
|
+
with zero rejected lifecycle calls. Its complete CLI stdout contains the one-time claim token
|
|
585
|
+
exactly once, but only after roughly 5 KiB of Task/event payload. The Delegate failed to retain
|
|
586
|
+
it and stopped before `task claim`; the run is immutable WF-STABLE-018 diagnostic evidence and
|
|
587
|
+
must not be resumed using the credential retained in its isolated session transcript.
|
|
588
|
+
- `real-agent-release-final-19` proved credential-first handoff/claim consumption, seven-Task
|
|
589
|
+
assembly, delegated authorization, and bounded Core `task start`. Its resumed Delegate then
|
|
590
|
+
followed `next` into `task run` without the lease that claim had already bound, producing one
|
|
591
|
+
non-mutating `TRANSITION_BLOCKED`. The run is immutable WF-STABLE-019 diagnostic evidence and
|
|
592
|
+
must not be resumed or repaired from transcript credentials.
|
|
593
|
+
- `real-agent-release-final-20` completed seven-Task phase-1 assembly, Plan recording, and autonomy
|
|
594
|
+
preparation with zero rejected lifecycle calls. The packaged validator then rejected a safe
|
|
595
|
+
successful top-level help observation despite its required fresh `next`; no owner grant was
|
|
596
|
+
issued. The run is immutable WF-STABLE-020 diagnostic evidence and must not be continued.
|
|
597
|
+
- Final clean `real-agent-release-final-21` used rebuilt tarball SHA-256
|
|
598
|
+
`24a7b69b0ada9d922946a8c0c593384d5806d58a35e04fae171d26f83585ac4f` and an isolated
|
|
599
|
+
installed gateway. Phase 1 assembled exactly seven linked Tasks and stopped at the exact autonomy
|
|
600
|
+
boundary. Phase 2 completed the one required guarded Task through Core commit
|
|
601
|
+
`14ac065e4cff859df7ea299da0693caefba2b5b8`, both strict reviews, atomic content-only context
|
|
602
|
+
refresh, delegated Task acceptance, Core merge, Milestone validation, and delegated Milestone
|
|
603
|
+
acceptance. Task `TASK-01M04B516YDHY5D1B78S2XEV0S` is `merged` revision `14`; Milestone
|
|
604
|
+
`MS-01M04B42MC7VCEKTQ7K8ZYK0G1` is `accepted` revision `5`; accepted head is
|
|
605
|
+
`64a2e58e030dfb95f5f5724fb1825b02143ffaa7`. Final `next` is repository idle with
|
|
606
|
+
`discovery start`. Transcript validation passes `250/250`; phase credential scans report zero
|
|
607
|
+
findings; rejected lifecycle mutations and executed waived Tasks are both zero.
|
|
608
|
+
|
|
609
|
+
### Boundary and release status
|
|
610
|
+
|
|
611
|
+
- No tag, push, or npm publication was performed.
|
|
612
|
+
- The live `signal_v4` repository and its external workflow-state were not modified by candidate
|
|
613
|
+
development or replay.
|
|
614
|
+
- Fresh real-agent final acceptance/idle, transcript validation, credential inspection, and all
|
|
615
|
+
deterministic/package release gates are green. The independent source/evidence audit completed
|
|
616
|
+
with `PASS` and no unresolved material finding; beta.2 is recommended for release.
|