# Parallel Codex Lane Dry-Run Packet V01

Issue: [#374](https://github.com/pinklon/ai-capability-discipline/issues/374)

References:

- [#356 GitHub Issues queue-backed agent work engine MVP](https://github.com/pinklon/ai-capability-discipline/issues/356)
- [PR #357 GitHub Issues queue-backed agent work engine MVP](https://github.com/pinklon/ai-capability-discipline/pull/357)
- [#358 Add read-only queue planner and parallelism report v01](https://github.com/pinklon/ai-capability-discipline/issues/358)
- [PR #359 Add read-only queue planner and parallelism report v01](https://github.com/pinklon/ai-capability-discipline/pull/359)
- [#360 Add GitHub issue-body work payload template v01](https://github.com/pinklon/ai-capability-discipline/issues/360)
- [PR #361 Add GitHub issue-body work payload template v01](https://github.com/pinklon/ai-capability-discipline/pull/361)
- [#362 Add live read-only GitHub issue export to committed planner fixture v01](https://github.com/pinklon/ai-capability-discipline/issues/362)
- [PR #363 Add live read-only GitHub issue export to committed planner fixture v01](https://github.com/pinklon/ai-capability-discipline/pull/363)
- [#364 Add exported-issue planner integration report v01](https://github.com/pinklon/ai-capability-discipline/issues/364)
- [PR #365 Add exported-issue planner integration report v01](https://github.com/pinklon/ai-capability-discipline/pull/365)
- [#366 Add human-mediated orchestration lane operating packet v01](https://github.com/pinklon/ai-capability-discipline/issues/366)
- [PR #367 Add human-mediated orchestration lane operating packet v01](https://github.com/pinklon/ai-capability-discipline/pull/367)
- [#368 Add human-mediated orchestration dry-run receipt v01](https://github.com/pinklon/ai-capability-discipline/issues/368)
- [PR #369 Add human-mediated orchestration dry-run receipt v01](https://github.com/pinklon/ai-capability-discipline/pull/369)
- [#370 Add orchestration architecture index v01](https://github.com/pinklon/ai-capability-discipline/issues/370)
- [PR #371 Add orchestration architecture index v01](https://github.com/pinklon/ai-capability-discipline/pull/371)
- [#372 Add controlled worker design packet v01](https://github.com/pinklon/ai-capability-discipline/issues/372)
- [PR #373 Add controlled worker design packet v01](https://github.com/pinklon/ai-capability-discipline/pull/373)

## Purpose And Non-Executable Boundary

This packet is a repo-local dry run for launching multiple Codex chats from safe-parallel planner output under human-mediated control. It is design-only, manual, non-executable, and human-mediated.

The packet does not implement an autonomous worker, worker loop, polling loop, scheduled execution, webhook-triggered execution, external queue provider, Linear integration, Jira integration, custom database behavior, MCP server behavior, MCP client behavior, live GitHub issue or PR mutation, GitHub issue or PR mutation code, source mutation, Cloudflare mutation, provider/model mutation, runtime retrieval mutation, browser retrieval mutation, package-authority mutation, or autonomous execution.

The current control plane remains Tony plus Codex, manually mediated. Planner output remains advisory and cannot launch work by itself.

## Dry-Run Packet Versus Implementation

This dry-run packet records how a human could split safe-parallel planner output into separately governed Codex chat workstreams. It is not a worker, queue adapter, scheduler, webhook receiver, branch creator, child-issue creator, GitHub mutator, merge operator, Cloudflare controller, source registry administrator, runtime adapter, browser client, provider caller, package-authority updater, Linear integration, Jira integration, custom database, MCP server, or MCP client.

No autonomous execution is implemented. No worker loop is implemented. No GitHub issue or PR mutation path is implemented.

## Safe-Parallel Lane Eligibility Rules

A planner candidate is eligible for a parallel Codex lane only when all of these conditions are true:

| Rule | Required evidence |
| --- | --- |
| Lane classification | Candidate is in the safe-parallel lane in committed planner evidence. |
| Child-ticket separation | Candidate has a separate human-created or owner-approved child-ticket prompt. |
| Branch separation | Candidate has a unique issue-scoped branch name. |
| File separation | Candidate has a distinct allowed file set and no generated artifact collision. |
| Dependency closure | Candidate dependencies are closed, merged, or explicitly non-blocking. |
| Claim and lease evidence | Claim actor, branch, base commit, lock id, claimed timestamp, and lease expiration are present and current. |
| Owner gates | No owner-decision, high-risk, blocked, rejected, stale-claim, missing-claim, duplicate, branch-collision, or file-collision condition remains. |
| Validation contract | Candidate lists focused, related, governance, context-pack, full-suite, diff, and residue checks when applicable. |

Eligibility is evidence, not permission. A safe-parallel candidate still requires Tony plus Codex to launch each Codex chat manually.

## Human-Mediated Launch Flow For Multiple Codex Chats

The launch flow is manual:

1. Tony plus Codex read the safe-parallel planner output from committed evidence.
2. Tony plus Codex confirm that each candidate has a separate child-ticket prompt, branch, file scope, claim, lease, validation contract, and closeout requirement.
3. Tony plus Codex remove any candidate with duplicate issue evidence, duplicate PR evidence, branch collision, file collision, stale claim, missing claim, conflicting lease, blocked dependency, owner-decision status, high-risk gate, or rejected-before-planning status.
4. Tony plus Codex launch each remaining Codex chat manually with its own issue, branch, scope, validation commands, hard boundaries, and closeout requirements.
5. Each Codex chat works only inside its assigned lane and stops when its evidence becomes stale or conflicting.
6. Tony plus Codex sequence merges manually after validation and conflict review.

Planner output does not launch Codex chats. This packet does not launch Codex chats.

## Required Child-Ticket Separation

Each parallel Codex lane requires a separate child ticket or explicitly owner-approved work issue. The child ticket must include:

- Objective.
- Parent issue.
- Required labels.
- Allowed files or domains.
- Forbidden zones.
- Branch name.
- Claim and lease evidence.
- Validation commands.
- Acceptance criteria.
- Closeout receipt requirements.
- Explicit hard boundaries.

No child issue is created by this packet, by planner output, or by validator logic.

## Required Branch Separation

Each parallel Codex lane requires a unique issue-scoped branch. Branch names must not overlap across active lanes, open PRs, or known in-flight work.

Branch separation must be verified before launch and before merge. A branch collision stops the lane.

No branch is created by this packet, by planner output, or by validator logic.

## Duplicate Issue And PR Prevention

Before a parallel lane launches, Tony plus Codex must check for existing issues and PRs that match the objective, parent issue, file scope, validation contract, or closeout requirement.

Duplicate issue evidence stops the lane. Duplicate PR evidence stops the lane. A human may choose to close, supersede, retarget, or continue an existing item, but that decision is outside this packet.

## Branch And File Collision Prevention

Parallel lanes must not edit overlapping authored files, generated artifacts, validation receipts, fixtures, or validators unless the owner explicitly changes the scope and merge order.

| Collision type | Required posture |
| --- | --- |
| Same branch | Stop both candidates until branch ownership is resolved. |
| Same authored file | Stop the later candidate or sequence it after merge. |
| Same generated artifact | Stop unless the generator and merge sequence are explicitly assigned. |
| Same validation receipt | Stop and split receipt paths. |
| Shared validator | Stop unless the shared validator update is the declared common dependency. |

Cross-lane conflict detection is required before launch, before validation closeout, and before merge.

## Claim And Lease Evidence Requirements

Every parallel lane must carry claim and lease evidence:

- Claim actor.
- Work issue.
- Branch.
- Base commit.
- Lock id.
- Claimed timestamp.
- Lease expiration.
- Allowed file set.
- Validation contract.
- Closeout receipt path.

Claim and lease evidence must be current at launch, before validation closeout, and before merge sequencing.

## Stale, Conflicting, Missing, Or Expired Claim Handling

Stale claims stop the lane. Conflicting leases stop the lane. Missing claim evidence stops the lane. Expired leases stop the lane.

The stop posture must record which claim field failed, which candidate stopped, and what owner decision or refreshed evidence would be required before the lane can proceed.

Claims do not authorize GitHub mutation, branch creation, child issue creation, source mutation, Cloudflare mutation, provider/runtime/browser/package-authority mutation, Linear/Jira/custom DB/MCP behavior, polling, webhook-triggered execution, scheduled execution, external queue behavior, or autonomous execution.

## Dependency And Blocked-Lane Stop Handling

Blocked lanes do not start. A blocked lane requires dependency closure evidence, missing artifact availability, resolved PR state, or explicit owner decision before it can be reconsidered.

Serial lanes do not start in parallel. Serial work remains manually sequenced.

## Owner-Decision And High-Risk Gated Stop Handling

Owner-decision lanes stop until Tony provides explicit decision evidence.

High-risk gated lanes stop until Tony provides explicit approval and separate high-risk handling. High-risk work cannot be hidden inside a safe-parallel lane.

## Rejected-Before-Planning Stop Handling

Rejected-before-planning records do not start. They do not become child-ticket prompts, branches, Codex chats, validation runs, or merge candidates until the rejected input is repaired through a separate human-mediated path.

## Validation Expectations Per Codex Lane

Each manually launched Codex lane must run validation that matches its scope:

- Focused validator for the lane artifact or behavior.
- Related orchestration validators when the lane touches orchestration documents, fixtures, receipts, or planner behavior.
- Governance validators for backlog label enforcement, backlog workflow, backlog closure governance, and Codex ceremony.
- Context-pack validation if corpus-visible product architecture or context-pack files are touched.
- `python3 -B validation/scripts/run_all.py`.
- `git diff --check`.
- Final residue scan for repo-controlled `__pycache__`, `.pyc`, and `.wrangler`, excluding `.git`, `.venv`, and `node_modules`.

Validation failure stops that lane. Validation success does not merge the lane automatically.

## Merge Sequencing And Closeout Receipt Expectations

Merges remain manual and sequential. A valid merge sequence requires:

- Each lane has a draft or ready PR matching its child ticket.
- Each lane has clean validation evidence.
- Each lane has clean worktree and residue evidence.
- Each lane has no branch or file collision with earlier lanes after rebasing.
- Each lane records changed files and generated artifacts.
- Merge order is explicit.
- Post-merge sync and validation are performed before the next dependent merge.

Each lane closeout receipt must include issue URL, PR URL, branch, commit SHA, final local branch, final local HEAD, worktree status, residue scan result, changed files, validation results, owner gates, collision checks, claim and lease evidence, merge sequence posture, and forbidden-scope confirmation.

## Cross-Lane Conflict Detection

Cross-lane conflict detection must compare:

- Issue objectives.
- Parent issue links.
- Branch names.
- Authored files.
- Generated artifacts.
- Fixtures.
- Validators.
- Receipts.
- Context-pack outputs.
- Dependency issues and PRs.
- Claim and lease ids.

Any overlap that is not explicitly sequenced stops parallel launch for the affected lane.

## Human-Mediated Control-Plane Relationship

This packet preserves Tony plus Codex as the human-mediated control plane.

Tony plus Codex decide whether safe-parallel candidates are eligible, whether child-ticket prompts are separate, whether branches and files are isolated, whether claims and leases are current, whether owner gates are satisfied, whether validation passed, and whether merges can be sequenced.

This packet does not replace Tony with an autonomous execution engine.

## Relationship To The Controlled Worker Design Packet

The controlled worker design packet defines a future boundary for possible worker identity, permissions, allowed actions, prohibited actions, claims, leases, owner gates, validation, rollback, and receipts.

This parallel Codex lane dry-run packet stays before that boundary. It proves a manual multi-Codex lane model without implementing a worker, worker identity, worker permissions, worker loop, polling, scheduled execution, webhook-triggered execution, external queue provider, GitHub mutation path, source mutation, Cloudflare mutation, runtime/provider/browser/package-authority mutation, Linear/Jira/custom DB/MCP behavior, or autonomous execution.

## Relationship To Existing Orchestration Architecture Layers

| Existing layer | Relationship to this packet |
| --- | --- |
| GitHub Issues queue-backed agent work engine MVP | Supplies state, parallelism, claim, lock, lease, validation, and closeout vocabulary. |
| Read-only queue planner and parallelism report | Supplies safe-parallel, serial, blocked, owner-decision, high-risk, stale-claim, collision, and rejected lane vocabulary. |
| GitHub issue-body work payload template | Supplies structured work metadata for child-ticket prompts. |
| Read-only GitHub issue export fixture | Supplies committed issue payload records and rejected payload posture. |
| Exported-issue planner integration report | Supplies advisory planner output that remains non-executing. |
| Human-mediated orchestration lane operating packet | Supplies manual lane interpretation and collision prevention. |
| Human-mediated orchestration dry-run receipt | Supplies proof that lane interpretation can stop safely. |
| Orchestration architecture index | Supplies the canonical map of the landed stack. |
| Controlled worker design packet | Supplies the future worker boundary that remains unimplemented here. |

## What Is Proven

- Safe-parallel planner output can be represented as separate manual Codex lane prompts.
- Two or more safe-parallel candidates can be accepted only when files, branches, claims, leases, validations, and closeout receipts are distinct.
- Serial, blocked, owner-decision, high-risk gated, rejected-before-planning, duplicate, branch collision, file collision, stale claim, missing claim, and conflicting lease cases stop.
- Merge sequencing can be represented as manual, ordered, validation-backed closeout posture.

## What Is Not Proven

- Autonomous execution.
- Worker implementation.
- Worker loop behavior.
- Polling behavior.
- Scheduled execution.
- Webhook-triggered execution.
- GitHub write behavior by a worker.
- Automatic child issue creation.
- Automatic branch creation.
- External queue integration.
- Linear/Jira/custom DB/MCP integration.
- Source Registry Admin live apply.
- Cloudflare mutation.
- Runtime/provider mutation.
- Browser retrieval mutation.
- Package-authority mutation.

## Future Work That Remains Gated

Any later implementation of a parallel Codex launch tool, worker, scheduler, webhook receiver, external queue adapter, GitHub write path, source mutation path, Cloudflare path, runtime/provider/browser/package-authority path, Linear/Jira/custom DB/MCP integration, or autonomous execution remains gated behind a separate owner-approved issue.

Until that separate approval exists, the only valid posture is design-only documentation, deterministic fixtures, focused validation, and manual closeout evidence.

## Forbidden Scope

This packet and its validator must not add autonomous execution, a worker implementation, a worker loop, polling, scheduled execution, webhook-triggered execution, external queue provider integration, Linear behavior, Jira behavior, custom DB behavior, MCP behavior, live GitHub issue or PR mutation, GitHub issue or PR mutation code, labels mutation, milestone mutation, assignee mutation, comment mutation, issue state mutation, PR state mutation, branch state mutation, merge state mutation, planner-triggered implementation, automatic child issue creation, automatic branch creation, GitHub write behavior, source registry mutation, Preview source-set mutation, Production source-set mutation, source enablement, source disablement, source retirement, source promotion, source apply behavior, Cloudflare CLI/API use, Cloudflare Access/WAF change, provider/model configuration change, runtime retrieval semantics change, browser-side provider calls, browser-side current-source retrieval, package-authority change, reopening #269, reopening #271, or `codex-automerge`.

## Validation

The focused validator is `validation/scripts/check_parallel_codex_lane_dry_run_packet.py`.

The deterministic companion fixture is `validation/fixtures/parallel_codex_lane_dry_run_packet_v01.json`.

The validation receipt is `validation/receipts/AI_Capability_Playbook_PARALLEL_CODEX_LANE_DRY_RUN_PACKET_V01_2026-06-29.md`.

The validator proves required sections, required boundary terms, valid safe-parallel examples, invalid stop examples, forbidden implementation and mutation behavior, product-architecture discoverability, context-pack inclusion, and run_all wiring.
