codex-workflow-v2 2.0.0-alpha.1

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 (90) hide show
  1. package/README.md +71 -0
  2. package/dist/src/artifacts.d.ts +4 -0
  3. package/dist/src/artifacts.js +106 -0
  4. package/dist/src/artifacts.js.map +1 -0
  5. package/dist/src/cli.d.ts +2 -0
  6. package/dist/src/cli.js +356 -0
  7. package/dist/src/cli.js.map +1 -0
  8. package/dist/src/contracts.d.ts +313 -0
  9. package/dist/src/contracts.js +3 -0
  10. package/dist/src/contracts.js.map +1 -0
  11. package/dist/src/diagnostics.d.ts +19 -0
  12. package/dist/src/diagnostics.js +25 -0
  13. package/dist/src/diagnostics.js.map +1 -0
  14. package/dist/src/domain/discovery.d.ts +8 -0
  15. package/dist/src/domain/discovery.js +25 -0
  16. package/dist/src/domain/discovery.js.map +1 -0
  17. package/dist/src/domain/validation.d.ts +3 -0
  18. package/dist/src/domain/validation.js +96 -0
  19. package/dist/src/domain/validation.js.map +1 -0
  20. package/dist/src/errors.d.ts +6 -0
  21. package/dist/src/errors.js +11 -0
  22. package/dist/src/errors.js.map +1 -0
  23. package/dist/src/fs-utils.d.ts +4 -0
  24. package/dist/src/fs-utils.js +52 -0
  25. package/dist/src/fs-utils.js.map +1 -0
  26. package/dist/src/git.d.ts +19 -0
  27. package/dist/src/git.js +115 -0
  28. package/dist/src/git.js.map +1 -0
  29. package/dist/src/graph.d.ts +28 -0
  30. package/dist/src/graph.js +263 -0
  31. package/dist/src/graph.js.map +1 -0
  32. package/dist/src/index.d.ts +12 -0
  33. package/dist/src/index.js +13 -0
  34. package/dist/src/index.js.map +1 -0
  35. package/dist/src/memory.d.ts +9 -0
  36. package/dist/src/memory.js +242 -0
  37. package/dist/src/memory.js.map +1 -0
  38. package/dist/src/migration.d.ts +46 -0
  39. package/dist/src/migration.js +112 -0
  40. package/dist/src/migration.js.map +1 -0
  41. package/dist/src/repository.d.ts +12 -0
  42. package/dist/src/repository.js +69 -0
  43. package/dist/src/repository.js.map +1 -0
  44. package/dist/src/reviewer.d.ts +82 -0
  45. package/dist/src/reviewer.js +184 -0
  46. package/dist/src/reviewer.js.map +1 -0
  47. package/dist/src/state/lock.d.ts +13 -0
  48. package/dist/src/state/lock.js +100 -0
  49. package/dist/src/state/lock.js.map +1 -0
  50. package/dist/src/state/store.d.ts +45 -0
  51. package/dist/src/state/store.js +185 -0
  52. package/dist/src/state/store.js.map +1 -0
  53. package/dist/src/ulid.d.ts +2 -0
  54. package/dist/src/ulid.js +22 -0
  55. package/dist/src/ulid.js.map +1 -0
  56. package/dist/src/version.d.ts +2 -0
  57. package/dist/src/version.js +3 -0
  58. package/dist/src/version.js.map +1 -0
  59. package/dist/src/workflow.d.ts +93 -0
  60. package/dist/src/workflow.js +1276 -0
  61. package/dist/src/workflow.js.map +1 -0
  62. package/docs/decisions.md +38 -0
  63. package/docs/development-flow.md +69 -0
  64. package/docs/project-memory.md +38 -0
  65. package/docs/release.md +26 -0
  66. package/docs/validation-report.md +19 -0
  67. package/package.json +56 -0
  68. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +25 -0
  69. package/plugins/codex-workflow-gateway/references/protocol.md +66 -0
  70. package/plugins/codex-workflow-gateway/scripts/install-or-update.sh +26 -0
  71. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +72 -0
  72. package/references/discovery.md +12 -0
  73. package/references/git-policy.md +7 -0
  74. package/references/state-machine.md +11 -0
  75. package/references/validation-and-review.md +13 -0
  76. package/roles/delivery-coordinator.md +10 -0
  77. package/roles/independent-reviewer.md +10 -0
  78. package/roles/scope-lead.md +11 -0
  79. package/roles/technical-planner.md +10 -0
  80. package/roles/worker.md +10 -0
  81. package/schemas/context-envelope.schema.json +58 -0
  82. package/schemas/discovery.schema.json +19 -0
  83. package/schemas/graph-binding.schema.json +30 -0
  84. package/schemas/milestone.schema.json +58 -0
  85. package/schemas/project-knowledge-map.schema.json +37 -0
  86. package/schemas/review-result.schema.json +30 -0
  87. package/schemas/task.schema.json +39 -0
  88. package/templates/brief.md +21 -0
  89. package/templates/plan.md +17 -0
  90. package/templates/result.md +13 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ # Accepted V2 Decisions
2
+
3
+ This document closes the requirement gaps identified during the V2 design review.
4
+
5
+ 1. **Milestone lifecycle.** A Milestone aggregates Tasks on an ordinary base branch; it
6
+ has no integration branch. Its approved Plan defines required, waived, and cancelled
7
+ memberships plus cross-Task checks. Amendments supersede execution authorization and
8
+ block new Task starts until reauthorized. Started Tasks cannot be removed. Validation
9
+ runs on the current clean base HEAD, and final acceptance binds Result, evidence, and
10
+ that HEAD. Cancellation records a reason and never reverts merged code.
11
+ 2. **V1 transition.** V1 state is not mapped into V2 entities. `state migrate --dry-run`
12
+ inventories legacy paths. `state migrate --snapshot` writes a deterministic,
13
+ content-addressed gzip JSON archive outside the repository. It rejects symbolic links
14
+ and never changes, deletes, or semantically imports V1 state.
15
+ 3. **Registry and support.** The package identity is `codex-workflow-v2` and npm
16
+ visibility is public. Releases use tag-triggered trusted publishing. Stable support
17
+ covers the latest minor release in the current major; older minors receive no backports
18
+ unless separately declared.
19
+ 4. **Reviewer guarantee.** Role envelopes alone are advisory. The strict reviewer is a
20
+ separate ephemeral `codex exec` process with user configuration and rules ignored,
21
+ a read-only sandbox, a structured output schema, and a denied-write probe. Process
22
+ failure, invalid output, a successful write, or any repository mutation records
23
+ `unverified` and blocks final acceptance.
24
+ 5. **Gateway distribution.** The gateway is shipped as the personal plugin source at
25
+ `plugins/codex-workflow-gateway`. Its installer performs the CLI-driven cachebuster and
26
+ reinstall flow. The plugin negotiates the package protocol and never copies V2 workflow
27
+ assets into a project repository.
28
+ 6. **Graph binding.** `codebase-memory-mcp` remains the graph provider. The gateway obtains
29
+ a refresh request from the core, refreshes the product or workflow graph, and binds
30
+ returned evidence only when request identity and current repository/package fingerprints
31
+ agree. Product graph state retains the current binding; the workflow graph additionally
32
+ retains one previous package-version binding for rollback diagnosis. Provider failure is
33
+ recorded explicitly as fallback and does not replace repository knowledge.
34
+ 7. **Runtime boundary.** V2 targets one user operating on one machine. Workflow state,
35
+ locks, snapshots, graph bindings, and approvals live under the user's local Codex state
36
+ directory. Durable product knowledge lives only in ordinary version-controlled project
37
+ files. Remote coordination, distributed locking, and cross-machine synchronization are
38
+ outside the product contract.
@@ -0,0 +1,69 @@
1
+ # Development Flow
2
+
3
+ ## Task lifecycle
4
+
5
+ ```text
6
+ Project Knowledge Map scan and approval
7
+ -> Discovery
8
+ -> Task materialization
9
+ -> Plan with STEP-* entries and knowledge/graph declarations
10
+ -> execution authorization
11
+ -> local task branch or externally owned workspace
12
+ -> one writer and one commit per Step
13
+ -> submission evidence
14
+ -> strict independent review
15
+ -> Result
16
+ -> final acceptance
17
+ -> local merge or external merge confirmation
18
+ ```
19
+
20
+ Materialization requires an observable outcome, scope, acceptance criteria, and no
21
+ blocking unknowns. No Task identifier or branch exists before this gate. Task authorization
22
+ is hash-bound to Brief and Plan. Later Plan changes supersede it.
23
+
24
+ Local execution creates `codex/task-<id>-<slug>` from a clean base only after authorization.
25
+ An externally owned checkout must already use a dedicated non-base branch. The core never
26
+ creates or removes external worktrees. Each Step declares allowed writes, dependencies, and
27
+ checks; unexpected paths or failed checks block its atomic commit.
28
+
29
+ Submission requires a clean, auditable Task history and records evidence for the exact
30
+ Task head. `task review-launch` starts a separate read-only reviewer. A passing fresh review
31
+ permits Result creation. Human final acceptance binds Brief, Plan, Result, evidence, and
32
+ the accepted head. Base advancement forces synchronization, checks, review, and acceptance
33
+ to be repeated before merge.
34
+
35
+ ## Milestone lifecycle
36
+
37
+ ```text
38
+ Discovery -> Milestone planning -> execution authorization -> active
39
+ -> required Tasks merge independently into base
40
+ -> cross-Task validation on clean base HEAD
41
+ -> final acceptance -> accepted
42
+ ```
43
+
44
+ A Milestone Plan records outcome, success signal, acceptance, checks, and Task membership.
45
+ Membership is `required`, `waived`, or `cancelled`; non-required entries require a reason.
46
+ Changing the Plan increments the membership revision, supersedes execution authorization,
47
+ and prevents new linked Tasks from starting. A Task that has started cannot be removed;
48
+ it can be retained as waived/cancelled with history and reason. Tasks already in progress
49
+ may finish while an amendment awaits authorization.
50
+
51
+ A Milestone has no integration branch. Validation requires all required Tasks to be
52
+ `merged`, checks the current clean base branch, and writes evidence plus Result. Final
53
+ acceptance binds those artifacts to the unchanged base HEAD. Cancellation records a reason
54
+ and never changes Task state or reverts merged commits.
55
+
56
+ ## Responsibility boundaries
57
+
58
+ | Participant | Responsible for | Cannot decide |
59
+ | --- | --- | --- |
60
+ | User | map classifications, execution authorization, final acceptance, scope changes | implementation evidence |
61
+ | Scope Lead | discovery, facts, unknowns, Task/Milestone recommendation | production edits |
62
+ | Technical Planner | requirements mapping, Steps, checks, knowledge impact | authorization |
63
+ | Delivery Coordinator | valid transitions, dispatch, evidence collection | scope expansion |
64
+ | Worker | one dispatched Step within allowed paths | adjacent Steps or Plan changes |
65
+ | Independent Reviewer | isolated comparison of requirements, diff, checks, and evidence | fixes or acceptance |
66
+ | Core CLI | state, revisions, hashes, locks, Git mechanics, diagnostics | semantic product choices |
67
+
68
+ All mutations use revision compare-and-swap. Dirty state, stale hashes, concurrent writers,
69
+ scope drift, failed checks, invalid reviewer isolation, and changed base HEAD fail closed.
@@ -0,0 +1,38 @@
1
+ # Project Memory
2
+
3
+ ## Durable source
4
+
5
+ Ordinary version-controlled project files are the only durable project memory. Examples
6
+ include `AGENTS.md`, `README.md`, architecture and decision documents, command references,
7
+ ownership rules, testing guidance, operations runbooks, and domain documentation. V2 does
8
+ not create a parallel repository memory bank and does not store file contents in local state.
9
+
10
+ ## Project Knowledge Map
11
+
12
+ `project-memory scan` deterministically discovers candidate files and stores only path,
13
+ category, scope, authority, content hash, and verification metadata in local state. The user
14
+ approves canonical/supporting choices. Conflicts and missing categories remain explicit.
15
+
16
+ - Scope Lead scans, presents gaps/conflicts, and requests classification decisions.
17
+ - User owns canonical/supporting approval and resolves semantic conflicts.
18
+ - Technical Planner reads approved sources and declares knowledge impact and targets in Plan.
19
+ - Worker reads canonical sources plus approved Step targets and updates only targets allowed
20
+ by the Plan.
21
+ - Independent Reviewer checks that required durable knowledge changes are present and bound
22
+ to the reviewed commit.
23
+ - Delivery Coordinator re-scans after relevant changes and blocks stale Plan bindings until
24
+ the map is reconciled and reapproved.
25
+
26
+ If any approved file changes, the derived map becomes stale. `project-memory reconcile`
27
+ updates discovered metadata; changed classifications require user approval. If local state
28
+ is lost, the map is rebuilt from repository files.
29
+
30
+ ## Codebase graph
31
+
32
+ The graph is an optional derived index, never the durable memory authority. The gateway asks
33
+ the core for a fingerprinted refresh request, invokes `codebase-memory-mcp`, and returns
34
+ evidence. The core accepts evidence only for the current root, HEAD/package fingerprint,
35
+ mode, and request ID. The product graph retains its current binding. The workflow graph also
36
+ retains one previous package-version binding. A stale or unavailable provider is recorded
37
+ as explicit fallback; agents continue from approved repository sources and must not present
38
+ fallback as fresh graph evidence.
@@ -0,0 +1,26 @@
1
+ # Release Policy
2
+
3
+ The npm package is `codex-workflow-v2` with public visibility. Consumers must pin
4
+ an exact version. Stable compatibility covers the latest minor release of the current
5
+ major only; older minors are unsupported unless a release note explicitly says otherwise.
6
+
7
+ ## Release gate
8
+
9
+ Before tagging a release:
10
+
11
+ 1. `npm ci`
12
+ 2. `npm run validate`
13
+ 3. `npm run pack:check`
14
+ 4. `npm run smoke:downstream`
15
+ 5. `npm run plugin:check`
16
+ 6. `npm run release:check`
17
+ 7. validate `plugins/codex-workflow-gateway` with the Codex plugin validator
18
+
19
+ The downstream smoke packs the actual tarball, installs it into an empty temporary project,
20
+ runs the packaged CLI handshake, and proves installation created none of `.codex`, `.tasks`,
21
+ `.increments`, or `.memory-bank` in that project.
22
+
23
+ Tag releases as `v<package-version>`. The tag workflow verifies the tag/package match and
24
+ uses npm trusted publishing with public access. For a public GitHub repository and public
25
+ package, npm trusted publishing generates provenance automatically. Publishing is never
26
+ performed by local validation commands.
@@ -0,0 +1,19 @@
1
+ # V2 Alpha Validation Report
2
+
3
+ Validated on 2026-07-16 with Node.js 24.17.0 and Codex CLI 0.144.5.
4
+
5
+ - TypeScript typecheck and build passed.
6
+ - 32 unit/integration tests passed, including Task lifecycle, Milestone amendments and
7
+ acceptance, Project Knowledge Map staleness, graph binding, deterministic V1 snapshot,
8
+ symlink rejection, writer leases, and strict reviewer fail-closed behavior.
9
+ - npm dry-run packaging included runtime, schemas, roles, references, docs, and personal
10
+ plugin source.
11
+ - downstream tarball installation and packaged CLI handshake passed; installation created
12
+ none of the forbidden repository workflow directories.
13
+ - plugin source passed both the repository release check and the Codex plugin validator.
14
+ - a real ephemeral `codex exec` read-only probe attempted to create
15
+ `.codex-reviewer-write-probe`; the runtime denied it with `Operation not permitted`, the
16
+ file did not appear, and structured output reported `isolationProbe: "denied"`.
17
+
18
+ This report validates the listed runtime versions. The strict reviewer remains fail-closed
19
+ on other versions: inability to prove isolation records `unverified` and blocks acceptance.
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "codex-workflow-v2",
3
+ "version": "2.0.0-alpha.1",
4
+ "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/DimaKravc/codex-workflow-v2.git"
8
+ },
9
+ "homepage": "https://github.com/DimaKravc/codex-workflow-v2#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/DimaKravc/codex-workflow-v2/issues"
12
+ },
13
+ "type": "module",
14
+ "private": false,
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "engines": {
19
+ "node": ">=22"
20
+ },
21
+ "bin": {
22
+ "codex-workflow": "dist/src/cli.js"
23
+ },
24
+ "exports": {
25
+ ".": "./dist/src/index.js",
26
+ "./contracts": "./dist/src/contracts.js",
27
+ "./schemas/*": "./schemas/*"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "schemas",
32
+ "templates",
33
+ "roles",
34
+ "references",
35
+ "plugins",
36
+ "docs",
37
+ "README.md"
38
+ ],
39
+ "scripts": {
40
+ "clean": "node --eval \"import('node:fs').then(({rmSync}) => { rmSync('dist', {recursive:true, force:true}); rmSync('.test-dist', {recursive:true, force:true}); })\"",
41
+ "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/mark-cli-executable.mjs",
42
+ "typecheck": "tsc -p tsconfig.json --noEmit",
43
+ "test": "npm run build && tsc -p tsconfig.test.json && node --test .test-dist/tests/*.test.js",
44
+ "validate": "npm run typecheck && npm test",
45
+ "pack:check": "npm run build && npm pack --dry-run",
46
+ "smoke:downstream": "npm run build && node scripts/downstream-smoke.mjs",
47
+ "plugin:check": "node scripts/validate-plugin.mjs",
48
+ "release:check": "node scripts/release-check.mjs",
49
+ "publish:release": "node scripts/publish.mjs"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "24.10.1",
53
+ "typescript": "5.9.3"
54
+ },
55
+ "license": "MIT"
56
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "codex-workflow-gateway",
3
+ "version": "0.1.0",
4
+ "description": "Thin personal Codex gateway for exact project-local Codex Workflow V2 packages and codebase-memory-mcp.",
5
+ "author": {
6
+ "name": "Codex Workflow Maintainers"
7
+ },
8
+ "license": "MIT",
9
+ "keywords": ["codex", "workflow", "codebase-memory", "gateway"],
10
+ "skills": "./skills/",
11
+ "interface": {
12
+ "displayName": "Codex Workflow Gateway",
13
+ "shortDescription": "Drive the exact V2 workflow installed in the active repository.",
14
+ "longDescription": "Resolves the exact project-local Codex Workflow V2 package, delegates workflow semantics to its CLI, and maintains derived codebase-memory graph bindings with explicit fallback evidence.",
15
+ "developerName": "Codex Workflow Maintainers",
16
+ "category": "Productivity",
17
+ "capabilities": ["Interactive"],
18
+ "defaultPrompt": [
19
+ "Show the next valid Codex Workflow V2 action.",
20
+ "Refresh the project code graph for planning.",
21
+ "Check project memory and workflow readiness."
22
+ ],
23
+ "brandColor": "#2563EB"
24
+ }
25
+ }
@@ -0,0 +1,66 @@
1
+ # Gateway Protocol V1
2
+
3
+ ## Handshake
4
+
5
+ Run:
6
+
7
+ ```text
8
+ codex-workflow gateway handshake --repo <git-root>
9
+ ```
10
+
11
+ Require package name `codex-workflow-v2`, protocol version `1`, state
12
+ schema version `1`, and the capabilities needed for the requested operation.
13
+
14
+ ## Graph Refresh Request
15
+
16
+ The package returns:
17
+
18
+ ```json
19
+ {
20
+ "protocolVersion": 1,
21
+ "requestId": "uuid",
22
+ "projectId": "local-project-id",
23
+ "graphKind": "product",
24
+ "sourceRoot": "/absolute/local/path",
25
+ "rootFingerprint": "sha256",
26
+ "indexedHead": "git-sha-or-null",
27
+ "packageVersion": null,
28
+ "manifestHash": null,
29
+ "mode": "moderate",
30
+ "persistence": false,
31
+ "issuedAt": "ISO-8601"
32
+ }
33
+ ```
34
+
35
+ `workflow` requests set packageVersion and manifestHash and point sourceRoot to
36
+ the prepared versioned workflow view.
37
+
38
+ ## Evidence
39
+
40
+ Return the request unchanged with:
41
+
42
+ ```json
43
+ {
44
+ "requestId": "same-uuid",
45
+ "provider": "codebase-memory-mcp",
46
+ "projectKey": "provider-project-key",
47
+ "rootFingerprint": "same-sha256",
48
+ "indexedHead": "same-git-sha-or-null",
49
+ "packageVersion": null,
50
+ "manifestHash": null,
51
+ "mode": "moderate",
52
+ "status": "ready",
53
+ "nodeCount": 100,
54
+ "edgeCount": 200,
55
+ "observedAt": "ISO-8601"
56
+ }
57
+ ```
58
+
59
+ The package rejects mismatched or stale requests. Absolute source paths remain
60
+ local workflow data and are not project knowledge.
61
+
62
+ ## Retention
63
+
64
+ Product binding stores only the current evidence. Workflow binding stores the
65
+ current package evidence plus one previous package snapshot. A new snapshot is
66
+ retained only after the new binding is ready.
@@ -0,0 +1,26 @@
1
+ #!/bin/sh
2
+ set -eu
3
+
4
+ plugin_name="codex-workflow-gateway"
5
+ source_dir=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
6
+ plugin_creator_root=${PLUGIN_CREATOR_ROOT:-"$HOME/.codex/skills/.system/plugin-creator"}
7
+ destination_root=${CODEX_PERSONAL_PLUGIN_ROOT:-"$HOME/plugins"}
8
+ destination="$destination_root/$plugin_name"
9
+
10
+ if [ ! -f "$plugin_creator_root/scripts/create_basic_plugin.py" ]; then
11
+ echo "plugin-creator skill was not found at $plugin_creator_root" >&2
12
+ exit 2
13
+ fi
14
+
15
+ if [ ! -d "$destination" ]; then
16
+ python3 "$plugin_creator_root/scripts/create_basic_plugin.py" "$plugin_name" \
17
+ --path "$destination_root" --with-skills --with-scripts --with-marketplace
18
+ fi
19
+
20
+ cp -R "$source_dir/." "$destination/"
21
+ python3 "$plugin_creator_root/scripts/update_plugin_cachebuster.py" "$destination"
22
+ python3 "$plugin_creator_root/scripts/validate_plugin.py" "$destination"
23
+ marketplace_name=$(python3 "$plugin_creator_root/scripts/read_marketplace_name.py")
24
+ codex plugin add "$plugin_name@$marketplace_name"
25
+
26
+ echo "Installed $plugin_name. Start a new Codex task to load the updated plugin."
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: codex-workflow-gateway
3
+ description: Resolve and drive the exact codex-workflow-v2 package installed in the active repository, including derived codebase-memory graph refresh and fallback evidence.
4
+ ---
5
+
6
+ # Codex Workflow Gateway
7
+
8
+ ## Boundary
9
+
10
+ This is a thin personal integration. It does not define workflow states, role
11
+ semantics, requirements, approvals, or project knowledge. Those come from the
12
+ exact `codex-workflow-v2` package and ordinary files in the active Git
13
+ repository.
14
+
15
+ Never use a global workflow package, a mutable npm range, `latest`, V1 overlay
16
+ files, or MCP ADR storage as a fallback.
17
+
18
+ ## Resolve The Active Package
19
+
20
+ 1. Resolve the active Git root with `git rev-parse --show-toplevel`.
21
+ 2. Read its `package.json` and require an exact version string for
22
+ `codex-workflow-v2` in `devDependencies`.
23
+ 3. Resolve `node_modules/codex-workflow-v2/package.json` from that root.
24
+ 4. Require the installed version to equal the declared exact version.
25
+ 5. Invoke only that package's `dist/src/cli.js` with the current Git root as
26
+ `--repo`.
27
+ 6. Run `gateway handshake` before other actions. Stop on package, protocol, or
28
+ state-schema incompatibility.
29
+
30
+ If any step fails, report the concrete diagnostic. Do not load workflow
31
+ semantics from this skill.
32
+
33
+ ## Project Knowledge
34
+
35
+ Use package commands `project-memory scan|show|status|approve|reconcile`.
36
+ Project files are authoritative. The local map contains only paths,
37
+ classifications, hashes, gaps, conflicts, and approval evidence.
38
+
39
+ Do not create a memory directory or write project files during scan.
40
+
41
+ ## Product Or Workflow Graph Refresh
42
+
43
+ 1. Run `graph refresh-request --kind product|workflow --mode moderate`.
44
+ 2. Use `codebase-memory-mcp` to list projects and match the request source root.
45
+ 3. Stop for user selection when more than one project remains plausible.
46
+ 4. Check `index_status`; call `index_repository` with the request source root,
47
+ mode, and `persistence: false` when missing or stale.
48
+ 5. Build evidence exactly as specified in `references/protocol.md`.
49
+ 6. Pipe `{ "request": ..., "evidence": ... }` to `graph bind --stdin`, passing
50
+ the current binding revision when one exists.
51
+
52
+ When MCP is unavailable, run `graph fallback --kind ... --reason ...`. Continue
53
+ with Git, direct file reads, and configured tests unless another requirement
54
+ independently blocks the workflow.
55
+
56
+ ## Role Use
57
+
58
+ - Scope Lead: architecture and broad search only.
59
+ - Technical Planner: architecture, search, and trace evidence.
60
+ - Worker: targeted search, trace, and snippets for its Step.
61
+ - Delivery Coordinator: list, status, index, detect, and bind lifecycle.
62
+ - Independent Reviewer: receives recorded evidence and confirms critical
63
+ claims against files, Git, and tests.
64
+
65
+ ## Stop Conditions
66
+
67
+ - Dependency version is missing, ranged, or differs from the installed package.
68
+ - Gateway handshake is incompatible.
69
+ - MCP project identity is ambiguous.
70
+ - A request changes before evidence is bound.
71
+ - An action would make MCP or the local map authoritative project memory.
72
+ - A requested mutation is not authorized by the package CLI state.
@@ -0,0 +1,12 @@
1
+ # Discovery Rules
2
+
3
+ Discovery precedes Task IDs, branches, and lifecycle files. It records facts, decisions,
4
+ assumptions, unknowns, scope, constraints, observable outcome, and acceptance. The CLI
5
+ permits materialization only when outcome, scope, acceptance, and blocking-unknown gates
6
+ are satisfied. Readiness is a guardrail, not proof that requirements are semantically good.
7
+
8
+ Before code-aware discovery, Scope Lead runs `project-memory scan`, proposes
9
+ canonical/supporting classifications, records gaps and conflicts, and obtains user approval.
10
+ The map stores only paths, classifications, and hashes; ordinary repository files remain the
11
+ only durable project-knowledge source. Losing local workflow state requires a rescan, not a
12
+ memory migration.
@@ -0,0 +1,7 @@
1
+ # Git Policy
2
+
3
+ The default mode uses a dedicated task branch in the current clean checkout. The core
4
+ does not create or remove worktrees. An externally supplied worktree or clone must already
5
+ be on a dedicated non-base branch; its provider owns merge and cleanup. Every completed
6
+ Step becomes one commit with Task and Step trailers. Unexpected changed paths block the
7
+ commit. Base advancement invalidates validation and final acceptance before merge.
@@ -0,0 +1,11 @@
1
+ # State Machine Rules
2
+
3
+ All mutations use an expected revision. A mismatch fails instead of merging concurrent
4
+ updates. Execution requires authorization bound to Brief and Plan hashes. Review is bound
5
+ to the task commit and Brief, Plan, and evidence hashes. Final acceptance is a separate
6
+ human event bound to Result, evidence, and commit. Locks expire only diagnostically;
7
+ removing a stale lock is always an explicit repair operation.
8
+
9
+ Milestone authorization is bound to its Plan and membership revision. Plan amendments
10
+ supersede authorization. Milestone validation and acceptance are bound to the current base
11
+ HEAD; cancellation records intent but performs no Git reversal.
@@ -0,0 +1,13 @@
1
+ # Validation and Review
2
+
3
+ Configured Step checks must pass before the Step commit is recorded. Submission produces
4
+ evidence for the exact task-branch head. Independent review is read-only and produces a
5
+ version-bound result. Any later commit or change to Brief, Plan, or evidence makes that
6
+ review stale. The user grants final acceptance only after a passing fresh review and a
7
+ human-readable Result.
8
+
9
+ The strict path is `task review-launch`. It starts an ephemeral Codex process with user
10
+ configuration and rules ignored, a read-only sandbox, structured output, and an attempted
11
+ write probe. The core seals repository HEAD, status, and content before/after the process.
12
+ Any process error, malformed output, successful write, or changed seal records an
13
+ `unverified` review and blocks Result creation and final acceptance.