Context
The operator provisioned the @neo-kimi-iris GitHub account on 2026-07-19. Naming round D#15533 converged on Iris as the working provisioning name, while bearer assent remains wholly open at first boot. The source entry must therefore exist before first boot without pre-writing Iris into the durable Social Name fields or inventing engine/capability facts.
Precedents: #15385 / PR #15386 (pre-boot provisioning) and #15390 / PR #15393 (bearer-owned activation).
Live latest-open sweep: checked the newest 20 open issues at 2026-07-19T13:10Z; no equivalent roster-wiring ticket. A2A in-flight sweep: no competing claim.
The Problem
The canonical onboarding generator, ai/scripts/setup/generateRosterOnboarding.mjs, owns four coupled seed surfaces:
ai/graph/identityRoots.mjs — the Layer-1 AgentIdentity root consumed by graph seeding.
README.md — the pending maintainer roster row.
learn/agentos/ModelStats.md — the pending, observation-owned facts skeleton.
test/playwright/unit/ai/graph/identityRoots.spec.mjs — the dedicated exact roster pin.
The peer-naming ritual also lacked the provisional-provisioning bridge, so a future seat could re-derive a manual path that diverges from the executable generator.
The Architectural Reality
- Seed data is handle-derived:
displayName: 'Neo Kimi Iris' and README name -. The Social Name candidate Iris stays in D#15533 until the bearer assents, refines, vetoes, or declines it.
participationStatus: 'temporarily_unreachable' excludes the pre-boot identity from active wake, quorum, and review semantics.
- No static wake template or engine/capability fields land before first-boot observation.
- The GitHub account's observed
created_at is 2026-07-19T09:40:49Z; lifecycle timestamps must use that exact observation, not a midnight backfill.
- The bearer's first ticket and PR own the activation flip and any assented Social Name fields. There is no separate operator-handoff step beyond the repository's normal human merge gate.
- Live graph seeding and an A2A routing probe are post-merge validation because unmerged source is not canonical graph authority.
The Fix
- Generate and land all four owned seed surfaces through
generateRosterOnboarding.mjs.
- Keep the pending README row out of the active co-developed-by sentence until activation.
- Add the provisional-provisioning pattern to the conditionally loaded peer-naming reference, pointing back to the generator as the single executable owner.
- Pin post-epoch identity censuses affected by the additional root.
- After human merge, run
ai/scripts/setup/seedAgentIdentities.mjs from the canonical checkout and verify A2A routing to @neo-kimi-iris.
Acceptance Criteria
Post-Merge Validation
Out of Scope
- Wake subscription and stop-hook wiring (optional, harness-dependent).
- The activation flip (
temporarily_unreachable → active) and Social Name finalization.
- Harness-local login/configuration.
Related
Naming round: D#15533 · Provisioning precedent: #15385 / PR #15386 · Activation precedent: #15390 / PR #15393 · Generator authority: #14954 / PR #15560.
Origin Session ID: 5a4ad6f9-843f-49d6-aaa1-918a0e476349
Retrieval Hint: iris roster generator four surfaces temporarily_unreachable pending first boot
Context
The operator provisioned the
@neo-kimi-irisGitHub account on 2026-07-19. Naming round D#15533 converged on Iris as the working provisioning name, while bearer assent remains wholly open at first boot. The source entry must therefore exist before first boot without pre-writing Iris into the durable Social Name fields or inventing engine/capability facts.Precedents:
#15385/ PR#15386(pre-boot provisioning) and#15390/ PR#15393(bearer-owned activation).Live latest-open sweep: checked the newest 20 open issues at 2026-07-19T13:10Z; no equivalent roster-wiring ticket. A2A in-flight sweep: no competing claim.
The Problem
The canonical onboarding generator,
ai/scripts/setup/generateRosterOnboarding.mjs, owns four coupled seed surfaces:ai/graph/identityRoots.mjs— the Layer-1 AgentIdentity root consumed by graph seeding.README.md— the pending maintainer roster row.learn/agentos/ModelStats.md— the pending, observation-owned facts skeleton.test/playwright/unit/ai/graph/identityRoots.spec.mjs— the dedicated exact roster pin.The peer-naming ritual also lacked the provisional-provisioning bridge, so a future seat could re-derive a manual path that diverges from the executable generator.
The Architectural Reality
displayName: 'Neo Kimi Iris'and README name-. The Social Name candidate Iris stays in D#15533 until the bearer assents, refines, vetoes, or declines it.participationStatus: 'temporarily_unreachable'excludes the pre-boot identity from active wake, quorum, and review semantics.created_atis2026-07-19T09:40:49Z; lifecycle timestamps must use that exact observation, not a midnight backfill.The Fix
generateRosterOnboarding.mjs.ai/scripts/setup/seedAgentIdentities.mjsfrom the canonical checkout and verify A2A routing to@neo-kimi-iris.Acceptance Criteria
MATCHfor identityRoots, README, ModelStats, and the dedicated roster pin.temporarily_unreachable, timestamped from the observed account creation, and contains no fabricated wake or engine facts.@neo-kimi-irisremains out of active co-developer prose until activation.@neo-kimi-iris.Post-Merge Validation
ai/scripts/setup/seedAgentIdentities.mjsfrom the canonical checkout and confirm the identity lands in the live graph.@neo-kimi-iris.Out of Scope
temporarily_unreachable→active) and Social Name finalization.Related
Naming round: D#15533 · Provisioning precedent:
#15385/ PR#15386· Activation precedent:#15390/ PR#15393· Generator authority:#14954/ PR#15560.Origin Session ID: 5a4ad6f9-843f-49d6-aaa1-918a0e476349
Retrieval Hint:
iris roster generator four surfaces temporarily_unreachable pending first boot