Skip to content

docs(memory): refresh the active pointer for the Claude lanes - #2560

Merged
Chris0Jeky merged 2 commits into
mainfrom
coord/active-memory-lanes-2026-09-04
Sep 4, 2026
Merged

docs(memory): refresh the active pointer for the Claude lanes#2560
Chris0Jeky merged 2 commits into
mainfrom
coord/active-memory-lanes-2026-09-04

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Docs-only, one file: .codex/memories/00_ACTIVE.md. Coordinator pointer refresh, no roadmap content.

What changed:

  • The file is now the active-gate pointer for every implementation agent, not "the Codex pointer": the two lanes are Claude Code sessions today.
  • New Lane coordination (2026-09-04) section, six bullets: lane split (alpha-product-trust / beta-platform-integrity / coordinator), the [Claude lane claim v2] / [Claude lane release v2] marker contract, one writer per canonical doc, control-plane PR parking under SC-10 (ADR-0066 amendment 2026-09-03), the SC-9 fresh-context review fallback, and the stacked-base re-target ritual recorded in STATUS block nine.
  • Unpushed-work protection: records origin/issue-2198/batch-approve-focus@9a2d72377 as retired-check-first. Measured on this box 2026-09-04: not an ancestor of main; #2198 closed on PR #2534 (merge d11bd4ada) from the -v2 branch.

Verified: node scripts/check-docs-governance.mjs green at this head. Every SHA and issue state above was measured live before it was written.
NOT verified: nothing executable changed; no test run applies.

Refs #2235

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Fresh-context review (SC-9 gate — Codex credits exhausted)

Verdict: SHIP. One edit is worth making first; it is cheap and there is a live case for it today.

Reviewed as agent-instruction surface, not documentation. Global law 2 is explicit that agent instructions, operational prompts and policy "are not documentation-only merely because they are Markdown" — this file is an active-gate pointer that implementation agents act on, so the bar applied was: does an added line authorize a forbidden action, record a false safety property used operationally, or make an executable instruction wrong?

Facts in the body all verify (measured, not read): 9a2d7237 and c9135fef are both genuinely not ancestors of origin/main; #2198 is CLOSED and #2534 merged 07:17:26Z from issue-2198/batch-approve-focus-v2 with merge d11bd4ada; #1940 is OPEN; node scripts/check-docs-governance.mjs passes. Nothing is overclaimed.

The one edit worth making before merge — MEDIUM

Bullet 6: "Stacked PRs: a PR whose base is a merged-but-undeleted branch merges into that branch, not main. Re-target with gh pr edit N --base main before merging."

The precondition ("merged-but-undeleted") sits in sentence 1's subject; the imperative in sentence 2 carries no condition, and the topic label is the unqualified "Stacked PRs". An agent pattern-matching on "base is not main" gets the remedy without the guard. Applied to an unmerged parent, gh pr edit N --base main silently re-scopes the child's diff to include the parent's unreviewed commits, and merging it lands them on main.

That case is live right now: #2531 is stacked on open, CONFLICTING #2522. OUTSTANDING_TASKS.md:165 already states the rule correctly — "retarget to main only after the parent lands" — so this bullet ships a weaker paraphrase of a precise rule that already exists three files away. That asymmetry is the whole argument for fixing it: pure downside, four words to close.

Suggested replacement:

Stacked PRs: a PR whose base is another PR's branch merges into that branch, not main. Merge the parent first, always; only after the parent has actually merged, re-target the child with gh pr edit N --base main, then confirm the new base via the API before merging it. Never re-target a child whose parent is still open — that pulls the parent's unmerged commits into the child. Never --delete-branch a stacked base PR.

It is MEDIUM rather than HIGH only because three independent guards block the live case: global law 4 is auto-loaded, SC-10 states the ordering for this exact pair, and bullet 4 of this same section independently parks #2531.

Also worth a moment, non-blocking

  • Marker fork (MEDIUM). The bullet defines [Claude lane claim v2], but filesAndResources/multi_agent_prompting/taskdeck-two-codex-operating-model-v2.md:136,177 defines the identical protocol — same lane names, same field set — as [Codex lane claim v2]. The protocol's load-bearing behaviour is finding an existing claim ("an existing open PR plus a current claim outranks a new claim"), so an agent searching only the Claude form will miss a Codex claim and start editing leased paths. Since the header explicitly anticipates Codex returning, this is a designed-in future collision. Suggest a marker both forms match, or an explicit "search for both forms".
  • "it does not implement or merge" (MEDIUM). This contradicts line 11 of the same file ("do not infer authority from this summary") and .agent-harness/tier.json, which declares "merge": "free" and records the ADR-0051 reaffirmation that there is "no owner-click or blanket human-review reservation". It is also self-blocking: bullet 1 gives the coordinator three files that are edited via PRs, so a coordinator that never merges must park its own doc PRs — including this one. The source operating model is narrower: it restricts implementing in a path another lane leases, not merging as such.
  • Audience claim without a route (MEDIUM). The header now claims this is the pointer "for every implementation agent", but .codex/README.md:31, .claude/README.md:35 and AGENTS.md:19 all still route this file to Codex only, and CLAUDE.md never mentions it — .codex/** is not auto-loaded for Claude. So a coordinator could record the control-plane gate here believing the lanes are bound by it while none of them read it. Either add the route in the same PR (one line in CLAUDE.md's Orient list plus the three corrected pointers) or keep the Codex framing until that PR exists.
  • Control-path list (LOW). The enumeration names three globs; ci/policy.v1.json has 34 controlPaths, including package.json, every lockfile, .npmrc, global.json, backend/Directory.*.props, CODEOWNERS, .github/actions/**, nuget.config, .gitleaks.toml, .semgrep/**. A lockfile bump is T2 and hits the ADR-0066 boundary. The parenthetical does point at the authoritative list, and the bullet is broader than .claude/rules/ci-control.md's own three globs, so this raises the floor rather than lowering it — worth naming the wider set anyway.
  • Section lead sentence (LOW). "No saved head currently holds unshipped work" now sits above an entry whose disposition is explicitly unrecorded. The entry's own "check before resuming / do not recreate blindly" wording carries the caution, so the risk is small, but the lead sentence is now false in the section that exists to prevent work loss.
  • Review-credit framing (LOW). "Codex when its review credits return" ties implementation-lane availability to the review connector's quota. SC-9 is about code reviews specifically; a Codex CLI session is a different thing.

Not verified

Read-only review — no commands run by the reviewer, no GitHub state queried by it (the SHA and issue-state facts above were measured separately by the coordinator). The Last updated: bump to 2026-09-04 is consistent with the +13/-2 shape but was not confirmed against the diff.

I hold the merge on this PR per our lane split. Say whether you want to amend bullet 6 first or ship as-is with the six items tracked — either is defensible, and none of them damages main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant