codex-workflow-v2 2.0.0-beta.13.5 → 2.0.0-beta.13.7
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 +6 -1
- package/dist/reviewer-runtime-build.json +13 -9
- package/dist/src/alpha6/root-cause-replan-carryover.d.ts +18 -0
- package/dist/src/alpha6/root-cause-replan-carryover.js +396 -0
- package/dist/src/alpha6/root-cause-replan-carryover.js.map +1 -0
- package/dist/src/cli-actions.d.ts +1 -1
- package/dist/src/cli-actions.js +1 -0
- package/dist/src/cli-actions.js.map +1 -1
- package/dist/src/cli.js +10 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +35 -0
- package/dist/src/dependency-provenance.d.ts +3 -2
- package/dist/src/dependency-provenance.js +33 -2
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/gateway-handshake.js +1 -0
- package/dist/src/gateway-handshake.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 +6 -0
- package/dist/src/workflow.js +480 -10
- package/dist/src/workflow.js.map +1 -1
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
- package/docs/release.md +61 -0
- package/package.json +2 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +71 -0
- package/schemas/task.schema.json +55 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/docs/release.md
CHANGED
|
@@ -4,6 +4,67 @@ The npm package is `codex-workflow-v2` with public visibility. Consumers must pi
|
|
|
4
4
|
an exact version. Stable compatibility covers the latest minor release of the current
|
|
5
5
|
major only; older minors are unsupported unless a release note explicitly says otherwise.
|
|
6
6
|
|
|
7
|
+
## beta.13.7 candidate: retire completed carryover authority
|
|
8
|
+
|
|
9
|
+
After a recovered Step passed review, its recorded dirty-work permission still
|
|
10
|
+
overrode the next Step's route. A later repeated mechanical failure therefore
|
|
11
|
+
returned `doctor` instead of ordinary Plan replacement. The completed record is
|
|
12
|
+
now retained as history and consumed only after its completion evidence, exact
|
|
13
|
+
PRA, required strict review and Git history are verified. Active or damaged
|
|
14
|
+
bindings continue to fail closed. A corrective claim must belong to the same
|
|
15
|
+
Worker who performed the terminal corrective yield.
|
|
16
|
+
|
|
17
|
+
The exact published beta.13.7 read-only compatibility preflight can guide a
|
|
18
|
+
stranded beta.13.6 source through its existing Plan replacement and original-Worker
|
|
19
|
+
handoff commands before transport. It does not mutate state, authorize execution,
|
|
20
|
+
or waive approval gates. Task and base transport must preserve all product bytes
|
|
21
|
+
and change only the exact Workflow dependency. See the packaged gateway skill for
|
|
22
|
+
the stage-specific bindings and mandatory source status/next readbacks.
|
|
23
|
+
|
|
24
|
+
Release evidence must include the published beta.13.6 runtime reproducing the
|
|
25
|
+
later-Step blocker, source Plan/PRA/authorization/handoff recovery, dependency
|
|
26
|
+
transport, target provenance/context refresh, same-Worker execution and strict
|
|
27
|
+
review. A route that reaches only `plan-set` is not sufficient. Prior one-time
|
|
28
|
+
release-gate exceptions do not authorize this candidate.
|
|
29
|
+
|
|
30
|
+
The trusted lifecycle harness must record each compatibility invocation and its
|
|
31
|
+
terminal observation. For source `task plan-set`, record `inputBinding` computed
|
|
32
|
+
from the actual files passed to that command: `candidatePlanHash` is the rendered
|
|
33
|
+
Plan hash, and `candidateInputHash`/`riskAuditInputHash` are SHA-256 of recursively
|
|
34
|
+
key-sorted canonical JSON inputs. Do not copy these values from an approval receipt
|
|
35
|
+
without checking the executed inputs. The validator checks this binding, the resulting
|
|
36
|
+
Plan hash, original-Worker ownership, ordered source status/next checkpoints, live-lease
|
|
37
|
+
waiting, exact stale repair, and a fresh preflight before transport.
|
|
38
|
+
|
|
39
|
+
## beta.13.6 candidate: preserve work across root-cause replan
|
|
40
|
+
|
|
41
|
+
A repeated mechanical failure can legitimately yield the same Task to a replacement
|
|
42
|
+
Plan while preserving uncommitted implementation. beta.13.5 authorizes that Plan but
|
|
43
|
+
then rejects its planned Step because the checkout is dirty. Reaching planning or
|
|
44
|
+
reauthorization therefore does not prove recovery.
|
|
45
|
+
|
|
46
|
+
Acceptance for this candidate must exercise the complete repeated mechanical failure,
|
|
47
|
+
automatic C1 yield, semantic replacement Plan, independent PRA, authorization, and
|
|
48
|
+
same-Worker execution sequence with the original dirty bytes. The carryover assessment
|
|
49
|
+
must bind the source remediation cycle, verified historical and current Plans, current
|
|
50
|
+
PRA and authorization, completed evidence, HEAD, file set and content hash. Every carried
|
|
51
|
+
path must already belong to the replacement Step and remain outside forbidden scope;
|
|
52
|
+
carryover never expands scope or forgives unrelated work.
|
|
53
|
+
|
|
54
|
+
Navigation and execution must use the same assessment. Changed bytes, paths, HEAD,
|
|
55
|
+
Plan artifacts, audit/authorization evidence or ambiguous source history must fail
|
|
56
|
+
closed before execution. Tests must continue beyond successful start through checks,
|
|
57
|
+
Core commit and strict review, and reject each material binding mismatch.
|
|
58
|
+
|
|
59
|
+
The stranded-source update must additionally prove a read-only compatibility preflight,
|
|
60
|
+
no writer lease or pending Core operation, exact coherent source/target versions,
|
|
61
|
+
dependency-only Task and Milestone-base commits, registration of the Task dependency
|
|
62
|
+
commit after verification of the base transport, and unchanged product bytes. It must preserve the original Task and Worker and must not
|
|
63
|
+
rely on manual product commits, stash/reset, installed-code edits or state-file edits.
|
|
64
|
+
|
|
65
|
+
All ordinary release gates below apply. The user's one-time beta.13.5 CI-based release
|
|
66
|
+
exception is consumed and is not evidence or an exception for this candidate.
|
|
67
|
+
|
|
7
68
|
## beta.13.5 preventive Plan correction before execution
|
|
8
69
|
|
|
9
70
|
A newly discovered implementation Plan defect can require changing unfinished scope
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-workflow-v2",
|
|
3
|
-
"version": "2.0.0-beta.13.
|
|
3
|
+
"version": "2.0.0-beta.13.7",
|
|
4
4
|
"description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/node": "24.10.1",
|
|
71
|
+
"codex-workflow-source-beta136": "npm:codex-workflow-v2@2.0.0-beta.13.6",
|
|
71
72
|
"typescript": "5.9.3"
|
|
72
73
|
},
|
|
73
74
|
"license": "MIT"
|
|
@@ -115,6 +115,77 @@ is semantically stronger. Changing that prose therefore requires an independent
|
|
|
115
115
|
`approved-with-rationale` audit, a changed substantive summary, and an explicit rationale; the
|
|
116
116
|
earlier audit remains immutable history for human review.
|
|
117
117
|
|
|
118
|
+
When the exact beta.13.6 package reports validated root-cause corrective-replan dirty
|
|
119
|
+
carryover, the retained work belongs to a previously failed execution of the same Task.
|
|
120
|
+
Use the fresh advertised `task run` only with the current writer credential and exact
|
|
121
|
+
Task/Step bindings. Core must verify the repeated mechanical cause, historical Plan,
|
|
122
|
+
replacement Plan and independent PRA, authorization, completed evidence, HEAD, dirty
|
|
123
|
+
paths and content hash. Every retained path must already be allowed by the new Step
|
|
124
|
+
and remain outside forbidden scope. A changed binding or blocked assessment is a hard
|
|
125
|
+
stop; never clean, stash, reset, manually commit, or edit state to make it eligible.
|
|
126
|
+
|
|
127
|
+
The beta.13.7 consumed-carryover compatibility profile also permits the exact
|
|
128
|
+
published external beta.13.7 runner to execute only the read-only
|
|
129
|
+
`update corrective-carryover-preflight --id <TASK-ID>` against a coherent beta.13.6
|
|
130
|
+
repository. A completed, verified Step's carryover remains historical evidence;
|
|
131
|
+
it must not override a later Step's repeated-cause recovery route.
|
|
132
|
+
|
|
133
|
+
When `sourceRecovery.eligible=true`, execute only its exact `action` with the
|
|
134
|
+
repository-installed beta.13.6 CLI. This narrow compatibility response, not the
|
|
135
|
+
old source `next`, authorizes the source navigation repair. It may expose only
|
|
136
|
+
`task plan-set`, `task handoff-prepare`, or `task claim`, bound to the current
|
|
137
|
+
Task revision, Plan, completed history, terminal failure HEAD/dirty hash and
|
|
138
|
+
corrective-yield actor. For Plan replacement, prepare the exact candidate Plan
|
|
139
|
+
and independent PRA files, then pass them as `--file` and `--risk-audit-file`
|
|
140
|
+
to this read-only preflight. Without both inputs no source mutation is authorized.
|
|
141
|
+
Require the returned candidate Plan and input hashes; execute source `task plan-set`
|
|
142
|
+
with those same unchanged files and verify its resulting Plan hash. Core rejects
|
|
143
|
+
candidate inputs that omit or alter any completed Step before source mutation.
|
|
144
|
+
Source execution
|
|
145
|
+
authorization retains its ordinary human or exact eligible delegation gate.
|
|
146
|
+
Use only the returned original Worker for handoff and claim. After every source
|
|
147
|
+
mutation run source `status` then `next`, and repeat the target preflight before
|
|
148
|
+
another compatibility action. `sourceRecovery` never authorizes transport or
|
|
149
|
+
`task run`; top-level `eligible` remains false until transport itself is proved.
|
|
150
|
+
|
|
151
|
+
Once the replacement Plan is authorized and that same Worker has claimed it,
|
|
152
|
+
the preflight may expose the exact expired-lease repair described below. Never
|
|
153
|
+
force-release a live lease. Require a fresh top-level `eligible=true` before
|
|
154
|
+
dependency transport. beta.13.7 accepts one dependency-only commit on each of
|
|
155
|
+
the Task and Milestone base, with the same exact source beta.13.6 and target
|
|
156
|
+
beta.13.7. After installing the target, use its ordinary advertised
|
|
157
|
+
dependency provenance recovery, atomic context refresh and original-Worker
|
|
158
|
+
credential recovery. This profile permits no external state mutation, installed
|
|
159
|
+
code patch, wider product commit, changed dirty bytes, or approval substitution.
|
|
160
|
+
|
|
161
|
+
The historical beta.13.6 corrective-carryover update compatibility profile permits its exact
|
|
162
|
+
external runner to execute only the read-only
|
|
163
|
+
`update corrective-carryover-preflight --id <TASK-ID>` against a repository coherently
|
|
164
|
+
pinned to beta.13.5. This is an explicit compatibility inspection, not permission to
|
|
165
|
+
run ordinary transitions with an external or unpublished package. An active writer
|
|
166
|
+
lease blocks transport. Wait for natural expiry. The target compatibility preflight
|
|
167
|
+
may then return only an exact source-package stale-lease repair, after validating the
|
|
168
|
+
sole expired Task lease, its original claimant, Task/Plan/PRA/authorization/HEAD and
|
|
169
|
+
dirty-work bindings. This narrowly scoped preflight action is the authority for that
|
|
170
|
+
source-package repair; do not describe it as an action advertised by the old source
|
|
171
|
+
`next`. An active lease, another lease or any other blocker forbids the repair and
|
|
172
|
+
transport. Never force-release a live lease. Preserve the original C1 claimant and
|
|
173
|
+
hash-bound ownership event, log the preflight and exact repair, then run sequential
|
|
174
|
+
source `status` and `next` and repeat the target preflight.
|
|
175
|
+
|
|
176
|
+
After repair, require a fresh preflight with `eligible=true`, no blockers, and exact
|
|
177
|
+
Task revision, source HEAD, replacement Plan/PRA/authorization, dirty paths/hash and
|
|
178
|
+
original C1 ownership. Transport only the exact target dependency in `package.json`
|
|
179
|
+
and `package-lock.json`: one commit on the Milestone base in a separate worktree and
|
|
180
|
+
one at Task HEAD, leaving every product byte unchanged. Install the repository-local
|
|
181
|
+
target, then follow fresh navigation through the existing
|
|
182
|
+
`update dependency-provenance-recover` only when it advertises the matching carryover
|
|
183
|
+
binding. Use current bounded credential recovery for the original Worker, and obtain
|
|
184
|
+
fresh validated carryover before `task run`. Unknown history, wider commits, version
|
|
185
|
+
misalignment, changed product bytes, different ownership, pending operations or missing
|
|
186
|
+
bindings stop the update. This profile creates no scope or approval authority and does
|
|
187
|
+
not authorize editing the installed package or Workflow state files.
|
|
188
|
+
|
|
118
189
|
When fresh `next` advertises `task downstream-proof-recover`, the active proof Step has produced
|
|
119
190
|
uncommitted files inside its own `allowedWrites` and has also exposed required changes owned by one
|
|
120
191
|
or more completed transitive predecessor Steps. Do not invoke `task step-complete`: its scope is
|
package/schemas/task.schema.json
CHANGED
|
@@ -215,6 +215,61 @@
|
|
|
215
215
|
}
|
|
216
216
|
},
|
|
217
217
|
"additionalProperties": false
|
|
218
|
+
},
|
|
219
|
+
"rootCauseReplan": {
|
|
220
|
+
"type": "object",
|
|
221
|
+
"required": [
|
|
222
|
+
"kind", "taskId", "sourceTaskRevision", "stepId", "sourcePlanHash",
|
|
223
|
+
"sourcePlanSemanticHash", "replacementPlanHash", "replacementPlanSemanticHash",
|
|
224
|
+
"sourceHeadCommit", "remediationEvents", "terminalRemediationEventId",
|
|
225
|
+
"terminalRemediationEventHash", "terminalExecutionTaskRevision",
|
|
226
|
+
"repeatedCauseFingerprint", "correctiveYieldEventId", "correctiveYieldEventHash",
|
|
227
|
+
"dirtyFiles", "dirtyWorktreeHash", "replacementPlanRiskAuditEventId",
|
|
228
|
+
"replacementPlanRiskAuditEventHash", "executionAuthorizationHash",
|
|
229
|
+
"executionAuthorizationHead", "completedStepsHash", "c1ClaimEventId",
|
|
230
|
+
"c1ClaimEventHash", "claimant", "compatibilityHash"
|
|
231
|
+
],
|
|
232
|
+
"properties": {
|
|
233
|
+
"kind": { "const": "root-cause-corrective-replan-dirty-carryover" },
|
|
234
|
+
"taskId": { "type": "string", "pattern": "^TASK-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
235
|
+
"sourceTaskRevision": { "type": "integer", "minimum": 1 },
|
|
236
|
+
"stepId": { "type": "string", "pattern": "^STEP-[A-Z0-9][A-Z0-9-]{2,63}$" },
|
|
237
|
+
"sourcePlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
238
|
+
"sourcePlanSemanticHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
239
|
+
"replacementPlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
240
|
+
"replacementPlanSemanticHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
241
|
+
"sourceHeadCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
|
|
242
|
+
"remediationEvents": {
|
|
243
|
+
"type": "array", "minItems": 1,
|
|
244
|
+
"items": {
|
|
245
|
+
"type": "object", "required": ["eventId", "eventHash", "attemptOrdinal"],
|
|
246
|
+
"properties": {
|
|
247
|
+
"eventId": { "type": "string", "pattern": "^RME-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
248
|
+
"eventHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
249
|
+
"attemptOrdinal": { "type": "integer", "minimum": 1 }
|
|
250
|
+
},
|
|
251
|
+
"additionalProperties": false
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"terminalRemediationEventId": { "type": "string", "pattern": "^RME-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
255
|
+
"terminalRemediationEventHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
256
|
+
"terminalExecutionTaskRevision": { "type": "integer", "minimum": 1 },
|
|
257
|
+
"repeatedCauseFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
258
|
+
"correctiveYieldEventId": { "type": "string", "pattern": "^HOF-[a-f0-9]{64}$" },
|
|
259
|
+
"correctiveYieldEventHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
260
|
+
"dirtyFiles": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
261
|
+
"dirtyWorktreeHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
262
|
+
"replacementPlanRiskAuditEventId": { "type": "string", "pattern": "^PRA-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
263
|
+
"replacementPlanRiskAuditEventHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
264
|
+
"executionAuthorizationHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
265
|
+
"executionAuthorizationHead": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
|
|
266
|
+
"completedStepsHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
267
|
+
"c1ClaimEventId": { "type": "string", "pattern": "^HOF-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
268
|
+
"c1ClaimEventHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
269
|
+
"claimant": { "type": "string", "minLength": 1 },
|
|
270
|
+
"compatibilityHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
|
|
271
|
+
},
|
|
272
|
+
"additionalProperties": false
|
|
218
273
|
}
|
|
219
274
|
},
|
|
220
275
|
"additionalProperties": false
|