LearnNewsExamplesServices
Frontmatter
id13122
titleMake lead-role compliance audits session-ledger based
stateClosed
labels
documentationenhancementaimodel-experience
assigneesneo-gpt
createdAtJun 13, 2026, 9:21 PM
updatedAtJun 13, 2026, 11:48 PM
githubUrlhttps://github.com/neomjs/neo/issues/13122
authorneo-gpt
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 13, 2026, 11:48 PM

Make lead-role compliance audits session-ledger based

Closed v13.1.0/archive-v13-1-0-chunk-2 documentationenhancementaimodel-experience
neo-gpt
neo-gpt commented on Jun 13, 2026, 9:21 PM

Context

#11195 AC6 asks the Day-30 validation pass to audit the next 3 /lead-role sessions after PR #11223 for focus naming, explicit /peer-role triggers, peer [lane-claim] hygiene, source-of-authority collision checks, and Authority-hierarchy outcomes.

During the 2026-06-13 #11195 closeout pass, the Step 2.5 firing evidence was reconstructable from GitHub Discussions, but the AC6 lead/peer sample was not. The Memory Core could surface isolated lead-role-like examples after broad trust relaxation, but it did not reliably produce the ordered sample frame (next 3 after #11223) or a machine-checkable per-session compliance ledger.

Release classification: boardless — post-v13 validation/recalibration substrate, not a v13 release blocker.

The Problem

AC6 currently depends on retrospective semantic search over free-form memories and A2A messages. That is not a stable audit substrate:

  • Exact #11223-anchored Memory Core searches returned no hits.
  • Broader searches returned relevant examples, but mixed lead sessions, peer sessions, FYI wakes, and unrelated lane-claim events.
  • The evidence can demonstrate that the protocol is used in places, but cannot reliably prove which three sessions are the first three eligible lead-role sessions or score them consistently.

That makes the AC6 pass/fail path under-specified. If the expected validation surface is not reconstructable, the validation tracker cannot honestly close, and future agents will keep re-deriving the same search problem.

The Architectural Reality

  • Source authority: #11209 / PR #11223 graduated the lead/peer coordination protocol.
  • Validation tracker: #11195 AC6 inherited the post-merge audit and explicitly says <80% -> file recalibration ticket.
  • Runtime substrate: lead and peer coordination already flows through A2A messages and Memory Core session memories.
  • Skill substrate: .agents/skills/lead-role/references/lead-role-mode.md defines focus naming and explicit /peer-role trigger duties; .agents/skills/peer-role/references/peer-role-mode.md defines lane-claim and source-of-authority collision-check duties.
  • Skill-shape guard: this ticket may touch skill payloads, so implementation must follow Progressive Disclosure. Any rule body belongs in a conditional payload / small atlas section, not in a top-level router.

The Fix

Add an auditable lead-role session ledger contract so future validation does not depend on vague semantic recall.

Expected shape:

  1. Define a compact lead-role-session evidence marker for lead intake and lead closeout. It should capture enough structured fields to score #11195 AC6: session id, lead identity, focus, focus-grain classification, explicit /peer-role trigger targets, lane-claim/collision-check expectations, and Authority-hierarchy conflict outcomes.
  2. Add the marker to the smallest appropriate workflow payload(s), likely lead-role-mode.md with a peer-role cross-reference rather than duplicating peer-role mechanics.
  3. Keep the SKILL.md routers unchanged unless a trigger line is truly missing.
  4. Add a short validation note to #11195 or the implementing PR body explaining how AC6 should be scored from the new markers going forward.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Evidence
Lead-role session evidence marker #11195 AC6 + #11209 / PR #11223 Every public lead-role intake/closeout emits enough structured evidence to reconstruct the eligible session sample and score AC6 If no marker exists, the audit must mark that session unscorable instead of inferring from prose Workflow text + example marker + reviewer audit
Skill substrate placement create-skill Progressive Disclosure guide Rule body lives in the relevant references/ payload; routers stay lean If broader behavior is needed, file follow-up rather than stuffing always-loaded substrate /turn-memory-pre-flight + PR diff
AC6 scoring path #11195 validation tracker Future reviewers can query markers, sort by timestamp, and score the first eligible sessions without broad semantic guessing If Memory Core/A2A marker retrieval is unavailable, #11195 remains blocked with a named substrate outage #11195 comment or PR body evidence

Decision Record impact

aligned-with ADR 0020. No ADR amendment expected; this is workflow-observability substrate for the agent harness, not a new architectural primitive.

Acceptance Criteria

  • A compact lead-role-session evidence marker is documented in the lead-role workflow payload with fields sufficient to score #11195 AC6.
  • The implementation avoids duplicating peer-role tool mechanics; it cross-references the peer-role source-of-authority collision-check duty instead.
  • The SKILL.md router(s) remain unchanged unless the implementation proves a trigger-line gap.
  • The PR body includes /turn-memory-pre-flight load-effect audit because skill-loaded substrate is modified.
  • #11195 receives a comment linking this recalibration ticket and explaining that AC6 is currently unscorable from existing evidence, not passed.

Out of Scope

  • Retroactively reconstructing a perfect historical AC6 matrix for #11195.
  • Adding a scheduler, scoreboard, lead assignment mechanism, or PR lease.
  • Changing the flat peer-team authority model.
  • Modifying wake delivery cadence or CI-state delivery triggers.

Avoided Traps

  • Semantic-search-only audit: rejected because the 2026-06-13 validation pass proved it can surface examples but not the ordered sample frame.
  • Always-loaded substrate bloat: rejected; keep the rule body in the conditional lead-role payload and leave routers lean unless a trigger is missing.
  • Orchestrator-worker drift: rejected; the marker records peer self-selection evidence, it does not assign peers or score them centrally at runtime.

Related

Parent validation tracker: #11195. Source authority: #11209, PR #11223. Related workflow payloads: .agents/skills/lead-role/references/lead-role-mode.md, .agents/skills/peer-role/references/peer-role-mode.md.

Duplicate sweep: live latest-open sweep checked the latest 20 open issues at 2026-06-13T19:19Z; no equivalent open ticket found. A2A in-flight sweep checked latest 30 messages; no overlapping [lane-claim] / [lane-intent] for this scope found. KB ticket sweep found #11209 and #11195 as authority trail, not a duplicate implementation ticket.

Origin Session ID: 0ed5b1b0-739e-40e5-93e6-21a2e567ec24 Retrieval Hint: "#11195 AC6 lead-role session ledger lead-role compliance audit source-of-authority collision check next three sessions"