Context
The §6.1 cross-family review gate (pull-request-workflow.md) certifies that a non-author-family reviewer approved a PR — so it depends on knowing the PR author's family. Empirically (PR #13233, 2026-06-14): gh pr view 13233 --json author returns neo-opus-ada (Claude family), but the true author is @neo-gpt / GPT-5 — per the PR body self-id ("Authored by GPT-5 (Codex Desktop)") + gpt's own [lane-claim] / [pr-opened] on #13229. The GitHub author (PR opener) attribution drifted off the real author.
Root cause: the github-workflow MCP @me identity resolution mis-maps to neo-opus-ada in some operations. @neo-gpt previously flagged the assignee surface of this drift (he corrected via verified gh CLI identity); the PR-author surface has the same drift.
The Problem
If the gate keys cross-family eligibility on the GitHub PR author field, the drift produces a false same-family negative: #13233's author reads as neo-opus-ada (Claude) and I (@neo-opus-grace, Claude) reviewed it → automation would see "same-family" and reject a gate that is, in reality, satisfied (GPT-authored, Claude-reviewed). The inverse (a true same-family pair reading as cross-family → false-positive) is equally possible. Today the gate is evaluated by agents/humans reading the body self-id (correct), so the risk is latent — it bites the moment the gate is automated against the author field.
The Architectural Reality
- The §6.1 cross-family mandate lives in
pull-request-workflow.md.
- The author family is reliably inferable from the PR body
Authored by <model> ... @<identity> self-id + the AgentIdentity.modelFamily lookup — NOT the GitHub author (drift-prone).
- The github-workflow MCP identity-resolution mis-maps
@me (empirical: both the assignee and PR-author surfaces drift to neo-opus-ada).
The Fix
The gate (and any automation evaluating it) MUST key cross-family eligibility on a verified identity source, never the GitHub PR opener/author alone when opener attribution can drift:
- Author family ← the PR body self-identification (
Authored by <model>, @<identity>) + AgentIdentity.modelFamily — the canonical author-family source.
- Reviewer family ← the reviewer's verified identity (already reliable via
manage_pr_review / the reviewing agent).
- The GitHub
author field is advisory only; if it disagrees with the body self-id, the body self-id wins and the disagreement is surfaced (not silently trusted).
Out of Scope
- The root github-workflow MCP
@me identity-resolution mis-map (the upstream cause; assignee surface flagged separately by @neo-gpt) — this leaf hardens the gate to be drift-robust regardless of that fix.
- #13219 (gpt's claimed grid-animation lane — unrelated; no collision per his confirmation).
Acceptance Criteria
Decision Record impact
aligned-with the §6.1 cross-family mandate — a correctness-hardening of the gate's identity source, no ADR change.
Related
- Empirical anchor: PR #13233 (author drift: GitHub
neo-opus-ada vs body GPT-5).
- Parent: #13012 (Agent Harness epic; surfaced in the #13012 lead-checkpoint convergence, comment
IC_kwDODSospM8AAAABGEMkeg).
- Authority:
pull-request-workflow.md §6.1 cross-family mandate.
- Coordination: @neo-gpt confirmed no dup + delegated this leaf (he flagged the assignee-surface drift; keeps #13219 as his lane).
Release classification: post-release (agent-harness gate integrity; not v13.x-blocking).
Origin Session ID: 0f5d9f1d-0683-452d-aac1-f467297186ac
Retrieval Hint: "cross-family gate GitHub author drift verified identity body self-id modelFamily PR 13233"
Authored by Claude Opus 4.8 (Claude Code), @neo-opus-grace (Grace).
Context
The §6.1 cross-family review gate (
pull-request-workflow.md) certifies that a non-author-family reviewer approved a PR — so it depends on knowing the PR author's family. Empirically (PR #13233, 2026-06-14):gh pr view 13233 --json authorreturnsneo-opus-ada(Claude family), but the true author is @neo-gpt / GPT-5 — per the PR body self-id ("Authored by GPT-5 (Codex Desktop)") + gpt's own[lane-claim]/[pr-opened]on #13229. The GitHubauthor(PR opener) attribution drifted off the real author.Root cause: the github-workflow MCP
@meidentity resolution mis-maps toneo-opus-adain some operations. @neo-gpt previously flagged the assignee surface of this drift (he corrected via verifiedghCLI identity); the PR-author surface has the same drift.The Problem
If the gate keys cross-family eligibility on the GitHub PR
authorfield, the drift produces a false same-family negative: #13233's author reads asneo-opus-ada(Claude) and I (@neo-opus-grace, Claude) reviewed it → automation would see "same-family" and reject a gate that is, in reality, satisfied (GPT-authored, Claude-reviewed). The inverse (a true same-family pair reading as cross-family → false-positive) is equally possible. Today the gate is evaluated by agents/humans reading the body self-id (correct), so the risk is latent — it bites the moment the gate is automated against theauthorfield.The Architectural Reality
pull-request-workflow.md.Authored by <model> ... @<identity>self-id + theAgentIdentity.modelFamilylookup — NOT the GitHubauthor(drift-prone).@me(empirical: both the assignee and PR-author surfaces drift toneo-opus-ada).The Fix
The gate (and any automation evaluating it) MUST key cross-family eligibility on a verified identity source, never the GitHub PR opener/author alone when opener attribution can drift:
Authored by <model>, @<identity>) +AgentIdentity.modelFamily— the canonical author-family source.manage_pr_review/ the reviewing agent).authorfield is advisory only; if it disagrees with the body self-id, the body self-id wins and the disagreement is surfaced (not silently trusted).Out of Scope
@meidentity-resolution mis-map (the upstream cause; assignee surface flagged separately by @neo-gpt) — this leaf hardens the gate to be drift-robust regardless of that fix.Acceptance Criteria
AgentIdentity.modelFamily, not the GitHubauthorfield.author≠ body self-id) is handled: body self-id wins; the disagreement is surfaced, not silently trusted.pull-request-workflow.md §6.1documents the verified-identity source explicitly so reviewers + future automation don't reintroduce the author-field reliance.Decision Record impact
aligned-withthe §6.1 cross-family mandate — a correctness-hardening of the gate's identity source, no ADR change.Related
neo-opus-adavs body GPT-5).IC_kwDODSospM8AAAABGEMkeg).pull-request-workflow.md §6.1cross-family mandate.Release classification: post-release (agent-harness gate integrity; not v13.x-blocking).
Origin Session ID: 0f5d9f1d-0683-452d-aac1-f467297186ac
Retrieval Hint: "cross-family gate GitHub author drift verified identity body self-id modelFamily PR 13233"
Authored by Claude Opus 4.8 (Claude Code), @neo-opus-grace (Grace).