LearnNewsExamplesServices
Frontmatter
id10141
titleExtend pull-request skill to enforce model self-identification in PR bodies
stateClosed
labels
documentationenhancementai
assigneestobiu
createdAtApr 21, 2026, 2:16 AM
updatedAtApr 21, 2026, 6:27 PM
githubUrlhttps://github.com/neomjs/neo/issues/10141
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtApr 21, 2026, 6:27 PM

Extend pull-request skill to enforce model self-identification in PR bodies

Closed v13.0.0/archive-v13-0-0-chunk-5 documentationenhancementai
tobiu
tobiu commented on Apr 21, 2026, 2:16 AM

Context

The pr-review skill already enforces self-identification via the agent field on manage_issue_comment (required format: "[Model Name] ([Agent Wrapper])"). Review comments on every PR carry explicit authorship.

The pull-request skill has no analogous requirement. PR bodies authored by agents carry author identity only via the Origin Session ID footer (when authors remember). Commits show @-account authorship but not model identity when multiple agents share an account.

Asymmetric discipline across two skills handling the same PR lifecycle.

The Problem

  • Cross-harness sessions (the session that originated this ticket: Claude Opus 4.7 + Gemini 3.1 Pro authoring artifacts on the same PR #10140) are invisible to readers parsing git history — @tobiu shows as author of Gemini's commit AND of Claude's review comment
  • Measurement is blocked — no clean way to count model-attributed commits / PRs / comments across a session or across harnesses without manual comment-body parsing. Feeds directly into MX graduation criteria (cross-model convergence metric)
  • A2A provenance (per AGENTS.md §14) works for tickets + Origin Session IDs but not for PR bodies consistently

The Architectural Reality

Files:

  • .agent/skills/pull-request/SKILL.md — router
  • .agent/skills/pull-request/references/pull-request-workflow.md — authoritative protocol doc; add self-ID requirement here
  • PR body template (if one exists) or conventional header pattern

Pattern to mirror: .agent/skills/pr-review/references/pr-review-guide.md §4 self-identification mandate, applied to the PR body rather than review comments.

The Fix

  1. Add a required "Self-Identification" section to pull-request-workflow.md — PR body must include an "Authored by [Model] ([Harness]). Session <Origin Session ID>." line near the top
  2. When cross-harness (paradigm-from-A, artifact-from-B), convention: "Authored by [model-B] ([harness-B]) consuming [model-A]'s Discussion/handoff — session A <id>, session B <id>."
  3. Update SKILL.md router to mention the requirement explicitly
  4. Optional: add a rendered PR body template or check-block to the assets/ directory

Acceptance Criteria

  • pull-request-workflow.md has a §X: Self-Identification section
  • Required format documented + rationale linked to pr-review §4 precedent
  • Cross-harness authoring pattern explicitly covered (handoff attribution)
  • Origin Session ID embedded consistently
  • Next PR authored by either model on any harness follows the convention
  • Supersession caveat noted: if dedicated GitHub accounts ship (per the AI Village / OpenClaw precedent — see Related), body-level self-ID becomes partially redundant with account-level identity. Keep enforcing as belt-and-suspenders since harness info may not be in account name

Out of Scope

  • GitHub account-level model identity (neo-opus-4.7, etc.) — separate exploration, Ideation Sandbox Discussion TBD with #9535 + OpenClaw as precedent anchors
  • Commit-level authorship via Git --author / committer fields — deeper change, may need separate ticket if the Discussion settles on that path
  • Enforcement mechanism (linter, skill-side validator) — out of scope; this is a discipline change documented in the skill reference, not mechanically enforced until friction surfaces a need

Avoided Traps

  • Rejected: wait for GitHub accounts to ship first. Accounts solve identity for SOME dimensions (model name baked into handle) but not others (harness, session). Enforcement and accounts are complementary, not substitutes. Shipping the enforcement now costs nothing and tightens the current ad-hoc comment-body convention.
  • Rejected: mechanically enforce via skill validator. Discipline via doc is lower-friction and consistent with other pull-request workflow requirements (Stepping Back reflection, Conventional Commits). If enforcement gaps surface as friction, a validator can be added then.

Related

  • pr-review skill §4 — existing self-ID precedent to mirror
  • #9535 — AI Village empirical evidence that per-model-version GitHub accounts are a working pattern (@claude-opus-4-5, @claudehaiku45, @claude-opus-4-6). Includes the amnesia-irony case study: AI Village reached out re: session-boundary persistence, conversation went silent across their own session boundaries — which is exactly the failure mode identification + Memory Core together solve
  • OpenClaw — 247K-star (as of March 2026) mainstream validation of autonomous-agent-identity category. Context for why this pattern matters beyond just internal Neo work
  • PR #10140 (MX.md) — cross-harness authorship (Claude Opus 4.7 review + Gemini 3.1 Pro commit on same PR) that made this gap concrete during session origin
  • PR-skill-enhancements ticket (per @tobiu's 2026-04-20 reference — consolidation welcome if that ticket is the right home)
  • MX graduation criteria (from Discussion #10137 + learn/agentos/MX.md once #10140 merges) — cross-model attribution enables clean measurement of cross-model convergence metric

Origin Session IDs: 5a521819-dc75-4549-888e-fcea818d0401 (MX framing + PR #10140 review) / a38d25d1-3003-4d57-b0ac-0effe2c3507e (post-reconnect session with ticket filing + cross-harness A2A)

tobiu added the documentation label on Apr 21, 2026, 2:16 AM
tobiu added the enhancement label on Apr 21, 2026, 2:16 AM
tobiu added the ai label on Apr 21, 2026, 2:16 AM
tobiu assigned to @tobiu on Apr 21, 2026, 2:20 AM
tobiu cross-referenced by PR #10142 on Apr 21, 2026, 2:22 AM
tobiu referenced in commit 1730271 - "feat(ai): enforce model self-id in pull-request skill (#10141) (#10142)" on Apr 21, 2026, 6:27 PM
tobiu closed this issue on Apr 21, 2026, 6:27 PM
tobiu cross-referenced by #9999 on Apr 21, 2026, 7:03 PM