codex-workflow-v2 2.0.0-beta.12.6 → 2.0.0-beta.12.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 +15 -3
- package/dist/src/alpha6/downstream-proof.d.ts +35 -1
- package/dist/src/alpha6/downstream-proof.js +310 -2
- package/dist/src/alpha6/downstream-proof.js.map +1 -1
- package/dist/src/alpha6/plan-risk.js +2 -2
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/cli.js +34 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +30 -1
- package/dist/src/dependency-provenance.d.ts +2 -2
- package/dist/src/dependency-provenance.js +26 -13
- 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/workflow.d.ts +8 -1
- package/dist/src/workflow.js +369 -30
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +7 -0
- package/docs/development-flow.md +9 -0
- 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 +18 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +18 -7
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +25 -12
- package/docs/release.md +7 -1
- package/docs/updating-existing-project.md +24 -0
- package/docs/validation-report.md +90 -91
- package/package.json +2 -1
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +15 -0
- package/schemas/downstream-proof-invalidation-event.schema.json +1 -0
- package/schemas/downstream-proof-replan-recovery-event.schema.json +61 -0
- package/schemas/task.schema.json +34 -0
|
@@ -166,6 +166,21 @@ recovery when required). Any unrelated dirty path, unknown history, wider candid
|
|
|
166
166
|
base, version mismatch, lease, transaction, or different route is a hard stop and never authorizes
|
|
167
167
|
manual external-state edits.
|
|
168
168
|
|
|
169
|
+
For the exact beta.12.6 post-recovery knowledge-rebind deadlock, an exact beta.12.7 external runner
|
|
170
|
+
may execute only the read-only `update downstream-proof-replan-update-preflight` before dependency
|
|
171
|
+
transport. Require `eligible=true`, source version beta.12.6 on declared/locked/installed/current/base
|
|
172
|
+
surfaces, the exact Task revision/HEAD/dirty hash, no current audit for the rebound Plan, and no lease,
|
|
173
|
+
transaction, or Core operation. Commit only `package.json` and `package-lock.json` on the active
|
|
174
|
+
Milestone base, then only the same dependency files on the Task branch without touching product
|
|
175
|
+
bytes. Install beta.12.7 and follow fresh `next` only through
|
|
176
|
+
`update downstream-proof-replan-dependency-recover`, then
|
|
177
|
+
`task downstream-proof-replan-recover`, and finally ordinary `task plan-set`. The recovery keeps the
|
|
178
|
+
same Task, history, Knowledge binding, invalidated predecessor evidence, and dirty worktree. After
|
|
179
|
+
the replacement Plan is audited and authorized, `task run` is valid only when fresh `next` reports
|
|
180
|
+
`downstreamProofCarryover.state=validated` for one Step owning the complete hash-bound dirty set.
|
|
181
|
+
Any wider dependency commit, dirty-byte change, current audit, extra Task revision, missing binding,
|
|
182
|
+
or alternate route is a hard stop.
|
|
183
|
+
|
|
169
184
|
When `next` returns `milestone initial-assembly`, execution is unavailable. Follow only the
|
|
170
185
|
advertised `linked-task-assembly.commands` (`discovery start` and `discovery materialize`) until all
|
|
171
186
|
intended linked Tasks exist. The closing `milestone plan-set` option appears only after at least one
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"uniqueItems": true,
|
|
53
53
|
"items": { "type": "string", "minLength": 1 }
|
|
54
54
|
},
|
|
55
|
+
"dirtyWorktreeHash": { "$ref": "#/$defs/hash64" },
|
|
55
56
|
"preservedHeadCommit": { "$ref": "#/$defs/gitHash" },
|
|
56
57
|
"actor": { "type": "string", "minLength": 1 },
|
|
57
58
|
"reason": { "type": "string", "minLength": 1 },
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://codex-workflow.local/schemas/downstream-proof-replan-recovery-event.schema.json",
|
|
4
|
+
"title": "Codex Workflow V2 Downstream Proof Replan Recovery Event",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"eventId",
|
|
9
|
+
"taskId",
|
|
10
|
+
"previousTaskRevision",
|
|
11
|
+
"resultTaskRevision",
|
|
12
|
+
"invalidationEventId",
|
|
13
|
+
"invalidationPlanHash",
|
|
14
|
+
"reboundPlanHash",
|
|
15
|
+
"knowledgeRebindRecordedAt",
|
|
16
|
+
"dirtyFiles",
|
|
17
|
+
"dirtyWorktreeHash",
|
|
18
|
+
"preservedHeadCommit",
|
|
19
|
+
"dependencyRecoveryCommit",
|
|
20
|
+
"actor",
|
|
21
|
+
"reason",
|
|
22
|
+
"packageVersion",
|
|
23
|
+
"previousEventHash",
|
|
24
|
+
"recordedAt",
|
|
25
|
+
"eventHash"
|
|
26
|
+
],
|
|
27
|
+
"properties": {
|
|
28
|
+
"eventId": { "type": "string", "pattern": "^DPR-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
29
|
+
"taskId": { "type": "string", "pattern": "^TASK-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
30
|
+
"previousTaskRevision": { "type": "integer", "minimum": 1 },
|
|
31
|
+
"resultTaskRevision": { "type": "integer", "minimum": 2 },
|
|
32
|
+
"invalidationEventId": { "type": "string", "pattern": "^DPI-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
33
|
+
"invalidationPlanHash": { "$ref": "#/$defs/hash64" },
|
|
34
|
+
"reboundPlanHash": { "$ref": "#/$defs/hash64" },
|
|
35
|
+
"knowledgeRebindRecordedAt": { "type": "string", "format": "date-time" },
|
|
36
|
+
"dirtyFiles": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"minItems": 1,
|
|
39
|
+
"uniqueItems": true,
|
|
40
|
+
"items": { "type": "string", "minLength": 1 }
|
|
41
|
+
},
|
|
42
|
+
"dirtyWorktreeHash": { "$ref": "#/$defs/hash64" },
|
|
43
|
+
"preservedHeadCommit": { "$ref": "#/$defs/gitHash" },
|
|
44
|
+
"dependencyRecoveryCommit": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{ "$ref": "#/$defs/gitHash" },
|
|
47
|
+
{ "type": "null" }
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"actor": { "type": "string", "minLength": 1 },
|
|
51
|
+
"reason": { "type": "string", "minLength": 1 },
|
|
52
|
+
"packageVersion": { "type": "string", "minLength": 1 },
|
|
53
|
+
"previousEventHash": { "anyOf": [{ "$ref": "#/$defs/hash64" }, { "type": "null" }] },
|
|
54
|
+
"recordedAt": { "type": "string", "format": "date-time" },
|
|
55
|
+
"eventHash": { "$ref": "#/$defs/hash64" }
|
|
56
|
+
},
|
|
57
|
+
"$defs": {
|
|
58
|
+
"gitHash": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
|
|
59
|
+
"hash64": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
|
|
60
|
+
}
|
|
61
|
+
}
|
package/schemas/task.schema.json
CHANGED
|
@@ -100,6 +100,40 @@
|
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
"additionalProperties": false
|
|
103
|
+
},
|
|
104
|
+
"downstreamProofReplan": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"required": [
|
|
107
|
+
"invalidationEventId",
|
|
108
|
+
"activeStepId",
|
|
109
|
+
"sourcePlanHash",
|
|
110
|
+
"reboundPlanHash",
|
|
111
|
+
"knowledgeRebindRecordedAt",
|
|
112
|
+
"dirtyFiles",
|
|
113
|
+
"dirtyWorktreeHash",
|
|
114
|
+
"invalidatedStepIds"
|
|
115
|
+
],
|
|
116
|
+
"properties": {
|
|
117
|
+
"invalidationEventId": { "type": "string", "pattern": "^DPI-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
118
|
+
"activeStepId": { "type": "string", "pattern": "^STEP-[A-Z0-9][A-Z0-9-]{2,63}$" },
|
|
119
|
+
"sourcePlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
120
|
+
"reboundPlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
121
|
+
"knowledgeRebindRecordedAt": { "type": "string", "format": "date-time" },
|
|
122
|
+
"dirtyFiles": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"minItems": 1,
|
|
125
|
+
"uniqueItems": true,
|
|
126
|
+
"items": { "type": "string", "minLength": 1 }
|
|
127
|
+
},
|
|
128
|
+
"dirtyWorktreeHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
129
|
+
"invalidatedStepIds": {
|
|
130
|
+
"type": "array",
|
|
131
|
+
"minItems": 1,
|
|
132
|
+
"uniqueItems": true,
|
|
133
|
+
"items": { "type": "string", "pattern": "^STEP-[A-Z0-9][A-Z0-9-]{2,63}$" }
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"additionalProperties": false
|
|
103
137
|
}
|
|
104
138
|
},
|
|
105
139
|
"additionalProperties": false
|