codex-workflow-v2 2.0.0-beta.12 → 2.0.0-beta.12.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 +5 -3
- package/dist/src/alpha6/remediation.d.ts +8 -3
- package/dist/src/alpha6/remediation.js +374 -9
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha7/corrective-recovery.d.ts +8 -1
- package/dist/src/alpha7/corrective-recovery.js +144 -26
- package/dist/src/alpha7/corrective-recovery.js.map +1 -1
- package/dist/src/cli.js +19 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +42 -0
- package/dist/src/dependency-provenance.js +5 -3
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/src/workflow.d.ts +5 -1
- package/dist/src/workflow.js +158 -19
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +35 -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/pdf/sources/codex-workflow-v2-architecture-ru.md +23 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +17 -8
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +32 -14
- package/docs/release.md +9 -1
- package/docs/updating-existing-project.md +38 -0
- package/docs/validation-report.md +84 -80
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +21 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +24 -0
- package/schemas/stop-escalate-override-event.schema.json +45 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Gateway Protocol V2
|
|
2
2
|
|
|
3
|
-
## beta.12
|
|
3
|
+
## beta.12.2 compatibility transitions and continuable remediation
|
|
4
4
|
|
|
5
5
|
- When fresh `next` advertises `task plan-integrity-recover`, consume its exact Task revision,
|
|
6
6
|
Step, actor, and writer-token contract. This route is valid only for the Core-derived
|
|
@@ -14,6 +14,17 @@
|
|
|
14
14
|
product commits absent from the current corrective Step are recognized only through intact passed
|
|
15
15
|
strict-review plus verified reviewer-attestation chains and remain separately auditable as
|
|
16
16
|
`retainedHistoricalCommits`.
|
|
17
|
+
Task-local manifest/lock fields from recorded history may differ from the base, but the candidate
|
|
18
|
+
commit must preserve them exactly while changing only the Workflow dependency entries.
|
|
19
|
+
- `task stop-override-prepare` is a read-only Human gate for the exact beta.11 attempt-four stop
|
|
20
|
+
shape. `task stop-override-apply` requires the same Task revision, Step, actor, reason, Plan, HEAD,
|
|
21
|
+
evidence binding, and returned `SOO-*` code in a later user turn. It appends evidence without
|
|
22
|
+
deleting `stop-escalate`; it never applies to `split-required`.
|
|
23
|
+
- After an applied stop override, one ordinary delegated `task context-refresh` may rebind the Plan
|
|
24
|
+
before attempt four. Fresh `next` returns `task run` only when Core validates an exact direct
|
|
25
|
+
Knowledge rebind, a mechanically equivalent Plan Risk Audit rebound, shared delegated authority,
|
|
26
|
+
append-only chronology, and the same Git HEAD. If C1 remains claimed but the lease was lost at the
|
|
27
|
+
Human boundary, use only the simultaneously advertised `task writer-credential-replace` action.
|
|
17
28
|
- `milestone progress --id <MS-ID>` is a read-only projection and the sole source for Coordinator
|
|
18
29
|
progress tables. It preserves cancelled/replacement Tasks as distinct membership rows.
|
|
19
30
|
- `scripts/chat-registry.mjs` atomically allocates project-monotonic `#NNN`, builds all six title
|
|
@@ -49,6 +60,9 @@ Current capability set:
|
|
|
49
60
|
- `corrective-plan-audit-v1`
|
|
50
61
|
- `safe-update-preflight-v1`
|
|
51
62
|
- `bounded-dependency-provenance-recovery-v1`
|
|
63
|
+
- `task-local-dependency-provenance-recovery-v1`
|
|
64
|
+
- `legacy-stop-escalate-override-v1`
|
|
65
|
+
- `stop-override-context-rebind-v1`
|
|
52
66
|
- `retained-reviewed-history-recovery-v1`
|
|
53
67
|
- `milestone-progress-projection-v1`
|
|
54
68
|
- `strict-reviewer-v1`
|
|
@@ -187,6 +201,12 @@ explicit stop or redirection decisions. They are never inferred from attempt cou
|
|
|
187
201
|
explicit decision, another failed strict review continues the same Task through its evidence-bound
|
|
188
202
|
`fix`/`replan` route.
|
|
189
203
|
|
|
204
|
+
One append-only compatibility exception exists for a beta.11 policy-created attempt-four stop.
|
|
205
|
+
Fresh `next` must advertise `task stop-override-prepare`; run it with exact human inputs, present the
|
|
206
|
+
complete binding, and stop. A later explicit user turn may run `task stop-override-apply` with the
|
|
207
|
+
same inputs and confirmation code. Any split decision, Plan/revision/HEAD drift, missing attempt-3
|
|
208
|
+
continue authority, lease, transaction, or journal damage blocks the route.
|
|
209
|
+
|
|
190
210
|
## Context refresh
|
|
191
211
|
|
|
192
212
|
Before `task plan-set`, compare exact Step `allowedWrites` and expected output paths with scanner
|
|
@@ -50,6 +50,12 @@ pending/corrupt transaction. After success run sequential `status` then `next` a
|
|
|
50
50
|
returned lifecycle action; Knowledge reconciliation or atomic Task context refresh may legitimately
|
|
51
51
|
be next because the dependency files changed.
|
|
52
52
|
|
|
53
|
+
Beta.12.1 permits product-owned manifest/lock fields already present in the exact recorded Task
|
|
54
|
+
history to differ from the Milestone base. Core compares candidate parent to candidate HEAD after
|
|
55
|
+
removing only the Workflow dependency entries, so the dependency commit must preserve every such
|
|
56
|
+
field exactly. Do not rebase, copy the base manifest over Task-local scripts, or interpret this as
|
|
57
|
+
permission for product payload in the candidate commit.
|
|
58
|
+
|
|
53
59
|
The beta.11 bounded Plan-integrity route prevents a known impossible check from consuming a second
|
|
54
60
|
ordinary remediation attempt. Use `task plan-integrity-recover` only when fresh `next` advertises
|
|
55
61
|
it for the exact failed Task/Step/revision. Require `state=eligible`, no blockers, one first
|
|
@@ -103,6 +109,24 @@ command shape or consuming a replacement Discovery. Never rebind, refresh, repla
|
|
|
103
109
|
resume, cancel, or manually replace the historical Task. Continue only after a later P04-B/P05
|
|
104
110
|
package explicitly advertises a topology-preserving replacement capability.
|
|
105
111
|
|
|
112
|
+
When beta.12.2 `next` advertises `task stop-override-prepare`, the route is limited to the exact
|
|
113
|
+
beta.11 attempt-four policy stop: two ordinary failures, one corrective failure, a matching
|
|
114
|
+
attempt-3 `continue-fix`, and a matching attempt-4 `stop-escalate` under the unchanged Plan. Invoke
|
|
115
|
+
prepare with the exact Task/Step/revision, explicit human actor, and user-supplied reason. It is
|
|
116
|
+
read-only. Show the returned binding and `SOO-*` code, then stop. Only a later explicit user turn may
|
|
117
|
+
invoke `task stop-override-apply` with the identical inputs and code. Never delegate the gate,
|
|
118
|
+
override `split-required`, edit either journal, or reuse a code after Task revision, Plan, HEAD, or
|
|
119
|
+
evidence changes. Successful apply preserves the original stop, appends
|
|
120
|
+
`stop-escalate-overrides.jsonl`, and requires fresh sequential `status` then `next` before attempt
|
|
121
|
+
four runs through the normal strict-review cycle.
|
|
122
|
+
|
|
123
|
+
After an applied override, one ordinary delegated `task context-refresh` may change only the Plan's
|
|
124
|
+
canonical Knowledge Map binding. Continue only when fresh `next` advertises `task run` with
|
|
125
|
+
`stopOverrideContextRebind.state=validated` for the exact override and stop decision. If C1 remains
|
|
126
|
+
claimed but the lease was lost at the Human boundary, first use the simultaneously advertised
|
|
127
|
+
`task writer-credential-replace` action for the exact claimant. A doctor route, semantic Plan drift,
|
|
128
|
+
second rebind, different HEAD, missing delegated authority, or damaged chronology is a hard stop.
|
|
129
|
+
|
|
106
130
|
When `next` returns `milestone initial-assembly`, execution is unavailable. Follow only the
|
|
107
131
|
advertised `linked-task-assembly.commands` (`discovery start` and `discovery materialize`) until all
|
|
108
132
|
intended linked Tasks exist. The closing `milestone plan-set` option appears only after at least one
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://codex-workflow.local/schemas/stop-escalate-override-event.schema.json",
|
|
4
|
+
"title": "Codex Workflow V2 Stop-Escalate Override Event",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"eventId", "taskId", "taskRevision", "stepId", "stopDecisionEventId",
|
|
9
|
+
"stopDecisionEventHash", "priorContinueDecisionEventId", "priorContinueDecisionEventHash",
|
|
10
|
+
"triggeringAttemptCount", "coveredEventIds", "planHash", "headCommit", "actor", "reason",
|
|
11
|
+
"packageVersion", "confirmationCodeBindingHash", "policy", "previousEventHash", "recordedAt", "eventHash"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"eventId": { "type": "string", "pattern": "^SOO-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
15
|
+
"taskId": { "type": "string", "pattern": "^TASK-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
16
|
+
"taskRevision": { "type": "integer", "minimum": 1 },
|
|
17
|
+
"stepId": { "type": "string", "pattern": "^STEP-[0-9]{3}(?:-[A-Z0-9-]+)?$" },
|
|
18
|
+
"stopDecisionEventId": { "type": "string", "pattern": "^CRD-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
19
|
+
"stopDecisionEventHash": { "$ref": "#/$defs/hash64" },
|
|
20
|
+
"priorContinueDecisionEventId": { "type": "string", "pattern": "^CRD-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
21
|
+
"priorContinueDecisionEventHash": { "$ref": "#/$defs/hash64" },
|
|
22
|
+
"triggeringAttemptCount": { "const": 4 },
|
|
23
|
+
"coveredEventIds": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"minItems": 3,
|
|
26
|
+
"maxItems": 3,
|
|
27
|
+
"uniqueItems": true,
|
|
28
|
+
"items": { "type": "string", "pattern": "^RME-[0-9A-HJKMNP-TV-Z]{26}$" }
|
|
29
|
+
},
|
|
30
|
+
"planHash": { "$ref": "#/$defs/hash64" },
|
|
31
|
+
"headCommit": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
|
|
32
|
+
"actor": { "type": "string", "minLength": 1 },
|
|
33
|
+
"reason": { "type": "string", "minLength": 1 },
|
|
34
|
+
"packageVersion": { "type": "string", "minLength": 1 },
|
|
35
|
+
"confirmationCodeBindingHash": { "$ref": "#/$defs/hash64" },
|
|
36
|
+
"policy": { "const": "beta11-attempt4-stop-compatibility-v1" },
|
|
37
|
+
"previousEventHash": { "$ref": "#/$defs/nullableHash64" },
|
|
38
|
+
"recordedAt": { "type": "string", "format": "date-time" },
|
|
39
|
+
"eventHash": { "$ref": "#/$defs/hash64" }
|
|
40
|
+
},
|
|
41
|
+
"$defs": {
|
|
42
|
+
"hash64": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
43
|
+
"nullableHash64": { "type": ["string", "null"], "pattern": "^[a-f0-9]{64}$" }
|
|
44
|
+
}
|
|
45
|
+
}
|