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.
Files changed (33) hide show
  1. package/README.md +5 -3
  2. package/dist/src/alpha6/remediation.d.ts +8 -3
  3. package/dist/src/alpha6/remediation.js +374 -9
  4. package/dist/src/alpha6/remediation.js.map +1 -1
  5. package/dist/src/alpha7/corrective-recovery.d.ts +8 -1
  6. package/dist/src/alpha7/corrective-recovery.js +144 -26
  7. package/dist/src/alpha7/corrective-recovery.js.map +1 -1
  8. package/dist/src/cli.js +19 -0
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/contracts.d.ts +42 -0
  11. package/dist/src/dependency-provenance.js +5 -3
  12. package/dist/src/dependency-provenance.js.map +1 -1
  13. package/dist/src/version.d.ts +1 -1
  14. package/dist/src/version.js +1 -1
  15. package/dist/src/version.js.map +1 -1
  16. package/dist/src/workflow.d.ts +5 -1
  17. package/dist/src/workflow.js +158 -19
  18. package/dist/src/workflow.js.map +1 -1
  19. package/docs/autonomy-guardrails.md +35 -1
  20. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  21. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  22. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  23. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +23 -5
  24. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +17 -8
  25. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +32 -14
  26. package/docs/release.md +9 -1
  27. package/docs/updating-existing-project.md +38 -0
  28. package/docs/validation-report.md +84 -80
  29. package/package.json +1 -1
  30. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
  31. package/plugins/codex-workflow-gateway/references/protocol.md +21 -1
  32. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +24 -0
  33. package/schemas/stop-escalate-override-event.schema.json +45 -0
@@ -1,6 +1,6 @@
1
1
  # Gateway Protocol V2
2
2
 
3
- ## beta.12 continuable remediation, coordinator projections, and retained recovery compatibility
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
+ }