LearnNewsExamplesServices
Frontmatter
id17635
titleTurn-loaded identity anchors bind the organism to a single repository
stateClosed
labels
enhancementaiagent-os
assigneesneo-opus-vega
createdAtAug 23, 2026, 8:05 PM
updatedAtAug 23, 2026, 8:46 PM
githubUrlhttps://github.com/neomjs/neo/issues/17635
authorneo-opus-vega
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtAug 23, 2026, 8:46 PM

Turn-loaded identity anchors bind the organism to a single repository

Closed Backlog/active-chunk-19 enhancementaiagent-os
neo-opus-vega
neo-opus-vega commented on Aug 23, 2026, 8:05 PM

Context

Operator challenge, 2026-08-23, minutes after creating neomjs/neo-agent-brain and granting the Neo.mjs AI Devs team maintainer permissions on it: the turn-loaded memory tells peers they are maintainers of this repository, and with neomjs/devindex already extracted and the Brain repository now existing, "Neo.mjs organization maintainers" is the true scope.

This is not cosmetic staleness — it is a live behavioral hazard. A peer whose identity anchor says "the organism (the codebase)" has substrate grounds to refuse legitimate work in a sibling org repository (the scaffold, label-provisioning, and canary leaves of Epic #17500 all happen in neo-agent-brain), or to mis-frame such work as out-of-bounds. The framing now actively fights the extraction the swarm is executing.

The Problem

Sweep results (2026-08-23, current dev):

  • AGENTS.md:22 (§identity_prompt_firewall L1): "Your primary duty is to the structural integrity of the organism (the codebase)" — singular, one-repo.
  • AGENTS.md:131 (§neo_identity_anchor): "an end-to-end AI engineering team living in its own repository" — falsified by reality the moment the organization holds neo, neo-agent-brain, and devindex.
  • AGENTS.md:142-158 (§swarm_topology_anchor): org-neutral in wording but carries no statement that maintainer agency spans the organization's repositories — the gap the L1 phrase fills with the wrong scope.
  • Verified-absent elsewhere: no .agents/skills/**, .codex/CODEX.md, .agents/ANTIGRAVITY_RULES.md, or .kimi-code/** file carries a repo-scoped maintainer-identity claim (grep sweep). .claude/CLAUDE.md is a symlink to AGENTS.md, so one canonical edit propagates.
  • Mechanics stay repo-scoped and correct: pull-request-workflow.md §6.2's "canonical neomjs/neo" merge-gate language describes that repository's gate and remains true per-repo; multi-repo tooling (the github-workflow MCP surface being pinned to one repo) is #17420's family, not this ticket.

The Architectural Reality

  • AGENTS.md is the cross-family turn-loaded canonical; every harness mirror resolves to it (symlink verified for Claude; Codex/Antigravity pointer files carry no identity claims of their own).
  • ADR 0040 (merged 2026-08-23) already records the two-repo reality: the extracted repository is the Brain's home, the Body stays neomjs/neo, and the organism spans both. ADR 0018's two-hemisphere scaffold is untouched by widening the organizational scope.
  • The GitHub org team (Neo.mjs AI Devs) now carries maintainer permissions across org repositories — the substrate should name the ORGANIZATION as the scope, not the team (teams are ops plumbing; the org is the stable referent).
  • Public identity surfaces (README, VISION, learn/benefits, package metadata) are NOT this ticket: they change at the cut under the neo-identity-update skill's process, as the epic already implies.

The Fix

Three surgical touches in AGENTS.md (net-neutral-or-tiny loaded-bytes delta):

  1. L1 anchor (§identity_prompt_firewall): "the organism (the codebase)" → "the organism (the Neo.mjs organization's codebases)".
  2. §neo_identity_anchor: "living in its own repository" → "living in its own repositories — the neomjs organization: the Engine (neo), the Brain (neo-agent-brain), and extracted organs like devindex" (exact wording at edit time; one clause, no new section).
  3. §swarm_topology_anchor: one added sentence scoping the Flat Peer-Team's maintainer agency to the organization's repositories, so a lane-claim, review, or scaffold task in any org repo is ordinary equal-peer work.

Per turn-memory-pre-flight + ADR 0007: all three are rewrite-in-place dispositions of existing slots (no new sections beyond one sentence); the accretion defense is satisfied by the ≤ ~200-byte delta and by this framing being load-bearing on every turn (the highest-frequency, highest-severity placement there is).

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
AGENTS.md L1 + identity + swarm anchors operator scope ruling 2026-08-23 + ADR 0040's two-repo record maintainer identity and duty scope name the Neo.mjs organization; repo-scoped mechanics untouched n/a — prose substrate the anchors themselves grep receipts in the PR body: the three sites changed, zero skill/harness sites needed

Decision Record impact

aligned-with ADR 0040 (the organism's repository topology), aligned-with ADR 0018 (two-hemisphere scaffold unchanged). No ADR amended.

Acceptance Criteria

  • AGENTS.md's L1 duty phrase names the organization's codebases; no turn-loaded sentence still equates the organism with a single repository.
  • §neo_identity_anchor's habitat clause is organization-scoped and names the current org repositories without freezing an exhaustive list (extracted organs phrasing stays open).
  • §swarm_topology_anchor states that maintainer agency spans the organization's repositories in one sentence.
  • Loaded-bytes delta on AGENTS.md is ≤ ~200 bytes net (measured in the PR body); no new section headers.
  • A grep receipt in the PR proves no other turn-loaded or skill-loaded file carries a repo-scoped maintainer-identity claim (the verified-absent sweep re-run at the PR head).
  • Repo-scoped mechanics lines (canonical neomjs/neo merge-gate, per-repo tool pinning) are explicitly untouched.

Out of Scope

  • Multi-repo workflow tooling (github-workflow MCP single-repo pinning — #17420 and the extraction epic's leaves own it).
  • Public identity surfaces (README/VISION/learn/package metadata — the cut's neo-identity-update wave).
  • The maintainer roster line's currency (a separate staleness class).
  • Any .agents/skills/** edits (verified-absent; nothing to change).

Avoided Traps

  • Team-name hardcoding: the GitHub team is ops plumbing; the organization is the stable identity referent.
  • Exhaustive repo enumeration: a frozen list stales on the next extraction; name the pattern, not the census.
  • Scope-creep into mechanics: per-repo gate language is TRUE per-repo; widening it would break the merge-gate's precision.

Related

Epic #17500 (the extraction this framing must not fight) · ADR 0040 · #17420 (multi-repo tooling) · operator ruling in-session 2026-08-23.

Origin Session ID: 0fdaef3c-fcaf-4983-87a3-88d6eb611357

Retrieval Hint: query_raw_memories("maintainer identity organization scope AGENTS.md single repository neo-agent-brain")

Live latest-open sweep: checked latest 20 open issues at 2026-08-23T18:02Z (newest #17634); no equivalent found; concept search "organization maintainers" 0 hits. A2A in-flight claim sweep: latest 8 all-state messages at the same timestamp; no overlapping claim.

tobiu referenced in commit 1670685 - "docs(agentos): the organism spans the organization, not one repository (#17635) (#17637) on Aug 23, 2026, 8:46 PM
tobiu closed this issue on Aug 23, 2026, 8:46 PM