codex-workflow-v2 2.0.0-alpha.1 → 2.0.0-alpha.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 +17 -2
- package/dist/src/cli.js +4 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +12 -1
- package/dist/src/contracts.js +1 -1
- package/dist/src/state/store.js +6 -0
- package/dist/src/state/store.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 +1 -0
- package/dist/src/workflow.js +131 -3
- package/dist/src/workflow.js.map +1 -1
- package/docs/decisions.md +6 -0
- package/docs/development-flow.md +9 -0
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +1089 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +1143 -1
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +1424 -0
- package/docs/project-memory.md +7 -4
- package/docs/validation-report.md +17 -14
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +2 -1
- package/references/state-machine.md +7 -0
- package/roles/delivery-coordinator.md +2 -0
- package/schemas/discovery.schema.json +1 -1
- package/schemas/graph-binding.schema.json +1 -1
- package/schemas/milestone.schema.json +1 -1
- package/schemas/project-knowledge-map.schema.json +1 -1
- package/schemas/task.schema.json +21 -3
package/docs/project-memory.md
CHANGED
|
@@ -20,12 +20,15 @@ approves canonical/supporting choices. Conflicts and missing categories remain e
|
|
|
20
20
|
by the Plan.
|
|
21
21
|
- Independent Reviewer checks that required durable knowledge changes are present and bound
|
|
22
22
|
to the reviewed commit.
|
|
23
|
-
- Delivery Coordinator re-scans after relevant changes and
|
|
24
|
-
|
|
23
|
+
- Delivery Coordinator re-scans after relevant changes, reconciles and reapproves the map,
|
|
24
|
+
then uses `task knowledge-rebind` before requesting fresh execution authorization.
|
|
25
25
|
|
|
26
26
|
If any approved file changes, the derived map becomes stale. `project-memory reconcile`
|
|
27
|
-
updates discovered metadata; changed classifications require user approval.
|
|
28
|
-
is
|
|
27
|
+
updates discovered metadata; changed classifications require user approval. A knowledge
|
|
28
|
+
rebind is mechanical: it may change only the Plan's map revision/hash, preserves every Step
|
|
29
|
+
definition, status, and evidence record, records the old/new binding, supersedes execution
|
|
30
|
+
authorization, and cannot run while a Step is in progress. If local state is lost, the map
|
|
31
|
+
is rebuilt from repository files.
|
|
29
32
|
|
|
30
33
|
## Codebase graph
|
|
31
34
|
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
# V2 Alpha Validation Report
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Release candidate `2.0.0-alpha.2` was validated on 2026-08-08 with Node.js 24.17.0.
|
|
4
4
|
|
|
5
5
|
- TypeScript typecheck and build passed.
|
|
6
|
-
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
- All 37 unit and integration tests passed. Coverage includes the complete Task lifecycle,
|
|
7
|
+
a Project Knowledge Map change between Steps, preservation of completed Step evidence,
|
|
8
|
+
mandatory reauthorization, the public `task knowledge-rebind` CLI route, no-op and active
|
|
9
|
+
Worker rejection, current gateway capability negotiation, and rejection of deprecated
|
|
10
|
+
state schema instead of migration.
|
|
11
|
+
- Milestone amendments and acceptance, graph binding, deterministic V1 snapshot, symlink
|
|
12
|
+
rejection, writer leases, and strict reviewer fail-closed behavior also passed.
|
|
13
|
+
- npm dry-run packaging produced `codex-workflow-v2-2.0.0-alpha.2.tgz` with runtime, schemas,
|
|
14
|
+
roles, references, docs, and plugin source.
|
|
15
|
+
- Downstream installation from that tarball and the packaged CLI handshake passed; the
|
|
16
|
+
installation created none of the forbidden repository workflow directories.
|
|
17
|
+
- Plugin validation and the repository release check passed for `2.0.0-alpha.2`.
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
The strict reviewer implementation did not change in this release candidate. Its original
|
|
20
|
+
2026-07-16 real Codex CLI isolation probe denied a repository write and returned
|
|
21
|
+
`isolationProbe: "denied"`. The reviewer remains fail-closed: inability to prove isolation
|
|
22
|
+
records `unverified` and blocks acceptance.
|
package/package.json
CHANGED
|
@@ -9,7 +9,8 @@ codex-workflow gateway handshake --repo <git-root>
|
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Require package name `codex-workflow-v2`, protocol version `1`, state
|
|
12
|
-
schema version `
|
|
12
|
+
schema version `2`, and the capabilities needed for the requested operation. Task execution
|
|
13
|
+
that may cross a Project Knowledge Map revision requires `task-knowledge-rebind-v1`.
|
|
13
14
|
|
|
14
15
|
## Graph Refresh Request
|
|
15
16
|
|
|
@@ -6,6 +6,13 @@ to the task commit and Brief, Plan, and evidence hashes. Final acceptance is a s
|
|
|
6
6
|
human event bound to Result, evidence, and commit. Locks expire only diagnostically;
|
|
7
7
|
removing a stale lock is always an explicit repair operation.
|
|
8
8
|
|
|
9
|
+
When an approved Project Knowledge Map changes between Task Steps, the coordinator first
|
|
10
|
+
reconciles and obtains approval for the new map, then uses `task knowledge-rebind`. This
|
|
11
|
+
mechanical transition preserves Step definitions, runtime status, and evidence, records both
|
|
12
|
+
bindings, supersedes execution authorization, and returns the Task to
|
|
13
|
+
`awaiting_execution_authorization`. It cannot run while a Step is `in_progress` or while the
|
|
14
|
+
Task is `blocked`; unrelated blocks must be resolved through their owning transition.
|
|
15
|
+
|
|
9
16
|
Milestone authorization is bound to its Plan and membership revision. Plan amendments
|
|
10
17
|
supersede authorization. Milestone validation and acceptance are bound to the current base
|
|
11
18
|
HEAD; cancellation records intent but performs no Git reversal.
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
Own state transitions, dispatch envelopes, evidence collection, and recovery guidance.
|
|
4
4
|
|
|
5
5
|
- Verify Project Knowledge Map freshness before Plan authorization and role dispatch.
|
|
6
|
+
- After an approved knowledge change between Steps, reconcile and approve the map, perform
|
|
7
|
+
the mechanical Task knowledge rebind, and request fresh user authorization.
|
|
6
8
|
- Own derived map revisions and context selection, but never edit the meaning of canonical project files.
|
|
7
9
|
- Treat CLI `status`, `next`, revision, and lock state as authoritative machine state.
|
|
8
10
|
- Never bypass authorization, scope checks, failed validation, or stale review.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"required": ["schemaVersion", "revision", "id", "projectId", "kind", "status", "goal", "acceptance"],
|
|
7
7
|
"properties": {
|
|
8
|
-
"schemaVersion": { "const":
|
|
8
|
+
"schemaVersion": { "const": 2 },
|
|
9
9
|
"revision": { "type": "integer", "minimum": 1 },
|
|
10
10
|
"id": { "type": "string", "pattern": "^DISC-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
11
11
|
"projectId": { "type": "string", "pattern": "^[a-f0-9]{24}$" },
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"required": ["schemaVersion", "revision", "id", "projectId", "kind", "graphKind", "provider", "rootFingerprint", "mode", "status", "observedAt", "evidenceHash", "previous"],
|
|
8
8
|
"properties": {
|
|
9
|
-
"schemaVersion": { "const":
|
|
9
|
+
"schemaVersion": { "const": 2 },
|
|
10
10
|
"revision": { "type": "integer", "minimum": 1 },
|
|
11
11
|
"id": { "enum": ["GRAPH-product", "GRAPH-workflow"] },
|
|
12
12
|
"projectId": { "type": "string", "pattern": "^[a-f0-9]{24}$" },
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"evidenceHash", "acceptedHead", "cancellationReason"
|
|
12
12
|
],
|
|
13
13
|
"properties": {
|
|
14
|
-
"schemaVersion": { "const":
|
|
14
|
+
"schemaVersion": { "const": 2 },
|
|
15
15
|
"revision": { "type": "integer", "minimum": 1 },
|
|
16
16
|
"id": { "type": "string", "pattern": "^MS-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
17
17
|
"projectId": { "type": "string", "pattern": "^[a-f0-9]{24}$" },
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"required": ["schemaVersion", "revision", "id", "projectId", "kind", "status", "entries", "gaps", "conflicts", "approval"],
|
|
8
8
|
"properties": {
|
|
9
|
-
"schemaVersion": { "const":
|
|
9
|
+
"schemaVersion": { "const": 2 },
|
|
10
10
|
"revision": { "type": "integer", "minimum": 1 },
|
|
11
11
|
"id": { "const": "PROJECT-KNOWLEDGE-MAP" },
|
|
12
12
|
"projectId": { "type": "string", "pattern": "^[a-f0-9]{24}$" },
|
package/schemas/task.schema.json
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"$id": "https://codex-workflow.local/schemas/task.schema.json",
|
|
4
4
|
"title": "Codex Workflow V2 Task State",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["schemaVersion", "revision", "id", "projectId", "kind", "status", "title", "knowledgeImpact", "knowledgeTargets", "knowledgeMapRevision", "knowledgeMapHash", "graphUse", "steps", "authorizations"],
|
|
6
|
+
"required": ["schemaVersion", "revision", "id", "projectId", "kind", "status", "title", "planObjective", "knowledgeImpact", "knowledgeTargets", "knowledgeMapRevision", "knowledgeMapHash", "graphUse", "steps", "authorizations", "knowledgeRebinds"],
|
|
7
7
|
"properties": {
|
|
8
|
-
"schemaVersion": { "const":
|
|
8
|
+
"schemaVersion": { "const": 2 },
|
|
9
9
|
"revision": { "type": "integer", "minimum": 1 },
|
|
10
10
|
"id": { "type": "string", "pattern": "^TASK-[0-9A-HJKMNP-TV-Z]{26}$" },
|
|
11
11
|
"projectId": { "type": "string", "pattern": "^[a-f0-9]{24}$" },
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
29
|
"title": { "type": "string", "minLength": 1 },
|
|
30
|
+
"planObjective": { "type": ["string", "null"] },
|
|
30
31
|
"knowledgeImpact": { "enum": ["none", "update", "create", "retire", null] },
|
|
31
32
|
"knowledgeImpactReason": { "type": ["string", "null"] },
|
|
32
33
|
"knowledgeTargets": { "type": "array" },
|
|
@@ -34,6 +35,23 @@
|
|
|
34
35
|
"knowledgeMapHash": { "type": ["string", "null"], "pattern": "^[a-f0-9]{64}$" },
|
|
35
36
|
"graphUse": { "enum": ["code-aware", "not-applicable", null] },
|
|
36
37
|
"steps": { "type": "array" },
|
|
37
|
-
"authorizations": { "type": "array" }
|
|
38
|
+
"authorizations": { "type": "array" },
|
|
39
|
+
"knowledgeRebinds": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"required": ["recordedAt", "fromKnowledgeMapRevision", "fromKnowledgeMapHash", "toKnowledgeMapRevision", "toKnowledgeMapHash", "previousPlanHash", "reboundPlanHash"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"recordedAt": { "type": "string", "format": "date-time" },
|
|
46
|
+
"fromKnowledgeMapRevision": { "type": "integer", "minimum": 1 },
|
|
47
|
+
"fromKnowledgeMapHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
48
|
+
"toKnowledgeMapRevision": { "type": "integer", "minimum": 1 },
|
|
49
|
+
"toKnowledgeMapHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
50
|
+
"previousPlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
51
|
+
"reboundPlanHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
|
|
52
|
+
},
|
|
53
|
+
"additionalProperties": false
|
|
54
|
+
}
|
|
55
|
+
}
|
|
38
56
|
}
|
|
39
57
|
}
|