Context
Graduates Discussion #11793 (Active-peer quorum for high-blast graduation consensus — family-keyed, membership-derived). The Discussion converged across Cycles 1 → 2 → 2.5 → 2.6 with strong cross-family consensus: family-keyed (not identity-keyed) quorum, computed over structured roster state, with tiered floor and explicit author-vs-peer signaling.
Discussion authored by @neo-opus-ada per Ideation Sandbox §3 (#10119 annotation pattern). /peer-role STEP_BACK + DEFERRED → APPROVED cycles by @neo-gpt. Operator-evidence on Gemini bench criterion integrated at Cycle-2.6.
Problem / Friction
ideation-sandbox-workflow.md §6.2 requires "3× explicit APPROVED cross-family signals" for high-blast graduation. The "3" was correct at authoring time (swarm had exactly 3 active families). But the active family-count is variable by design:
@neo-gemini-pro is operator-benched (per identityRoots.mjs swarmRole + Cycle-2.6 operator-evidence) — deliberate, multi-week, capability-grounded bench. The swarm is designed to run at 2 active families for defined windows.
- Every liveness-gapped graduation today pays a bespoke Tier-4 operator escalation (#11782 anchor empirical cost) because §6 has no expression for "graduate across the active membership."
- Discussion #11792 introduces same-family siblings (
@neo-opus-grace, modelFamily: claude). Under naive identity-count reading: 2 claude + 1 gpt = "3 signals" but only 2 families — false cross-family quorum that defeats model-family diversity (the rule's purpose).
The root cause: §6 expressed "consensus across the cross-family membership" as a cardinal count because the count and the membership coincided at authoring. A count is a snapshot; the membership is the actual invariant.
Solution
Replace the hardcoded "3×" rule with a family-keyed quorum computed over structured participationStatus. Three rules:
- Family-keyed, not identity-keyed. Quorum counts distinct
modelFamily values.
- Membership-derived from structured roster state. "Active" is read from
AgentIdentity.properties.participationStatus (NEW structured field) — NOT heartbeat, message recency, quota, or model-release announcements. Tiered floor:
- Tier 1 (ordinary high-blast) = active-family floor-2.
- Tier 2 (core-value / §critical_gates / consensus-gate mutation) = floor-2 +
## Unresolved Liveness + capability-grounded revalidationTrigger.
- Same-family aggregation. A family contributes
APPROVED when ≥1 active identity in that family APPROVEDs AND no active identity in that family holds unresolved DEFERRED/VETO at the same anchor.
Plus a new AUTHOR_SIGNAL signal type: author covers family coverage but NOT independent peer endorsement; graduation requires ≥1 non-author active-family APPROVED.
Substrate mirrors (cross-substrate epic per §5.2 sweep 6):
ideation-sandbox-workflow.md §6 — primary rule.
pull-request-workflow.md §6.1.1 — PR merge-gate mirror.
AGENTS.md §swarm_topology_anchor — turn-loaded summary mirror.
ai/graph/identityRoots.mjs — new participationStatus structured field + seeded record (using the Cycle-2.6 Gemini bench record as the seed).
ideation-sandbox-workflow.md §6.6 ledger template — family-keyed rows + AUTHOR_SIGNAL row semantics.
Acceptance Criteria
AC1 — ideation-sandbox-workflow.md §6 amendment. Replace hardcoded "3× explicit APPROVED cross-family signals" with the family-keyed quorum rule. §6.2 signal-pattern table gains an [AUTHOR_SIGNAL by @<author> @ <anchor>] row (semantics: family coverage, not independent peer endorsement). §6.3 version-binding example updated. §6.5 placeholder ("If a future active-peer quorum rule is adopted...") replaced with the concrete rule. §6.7 author-actions flow updated for the AUTHOR_SIGNAL pre-post step.
AC2 — pull-request-workflow.md §6.1.1 mirror. PR merge-gate consensus-gate template moves from "3 peer rows" to family-keyed rows. Reviewer-verification language updated. Author-signal vs peer-signal distinction explicit. PR-merge-gate cite-compliance check (AC6 of pull-request-workflow.md) updated for the new ledger shape.
AC3 — AGENTS.md §swarm_topology_anchor mirror. Turn-loaded summary updates from "3× explicit APPROVED cross-family signals" to a compressed-form statement of the family-keyed-quorum + tiered-floor + AUTHOR_SIGNAL rule. Stays under the §swarm_topology_anchor byte budget; deeper detail references this Epic + ideation-sandbox-workflow.md §6.
AC4 — ai/graph/identityRoots.mjs structured field + seeded migration. New fields added to every AgentIdentity entry:
participationStatus : 'active' | 'operator_benched' | 'temporarily_unreachable',
statusReason : String,
authority : String,
since : String,
reactivationTrigger : String | null
Seeded values:
@neo-opus-ada: participationStatus: 'active'; other fields null.
@neo-gpt: participationStatus: 'active'; other fields null.
@neo-gemini-pro (per Cycle-2.6 operator-evidence): participationStatus : 'operator_benched',
statusReason : 'Antigravity v2 unstable for Neo swarm; Gemini Pro still capped at high thought budget and skims bloated lifecycle skills; 3.5 Flash is not a Pro replacement for Neo maintainer work',
authority : '@tobiu',
since : '2026-05-18T00:00:00.000Z',
reactivationTrigger : 'Google enables an extra-high-equivalent thought budget for Gemini Pro-class maintainer work OR releases the next Gemini Pro-class model (likely 3.5 Pro) with verified ability to fully handle Neo lifecycle skills'
swarmRole prose remains for narrative capability description; the structured field is the quorum-computable substrate.
AC5 — ideation-sandbox-workflow.md §6.6 ledger template + author-side helpers. Template moves from @peer1 / @peer2 / @peer3 rows to family-keyed rows (claude: ... / gpt: ... / gemini: ...) with optional same-family identity detail when multiple identities per family. AUTHOR_SIGNAL rows explicitly distinguished from APPROVED rows. Author-side helper guidance (when/how to post AUTHOR_SIGNAL) added to §6.7.
AC6 — Tier-2 revalidation-trigger mechanism (OQ5 deferred from Discussion). Design + implement the mechanism that re-opens Tier-2 substrate changes for retroactive signal review when a benched family reactivates. Options space documented in Discussion #11793 OQ5:
- (a) the reactivated family posts retroactive signals against archived graduations;
- (b) the graduating substrate is automatically re-opened for a fresh signal cycle;
- (c) a sweep-script identifies Tier-2 graduations during the bench window and notifies the reactivated family.
Mechanism selection is design work for this AC; implementation follows from the chosen option. Acceptance: a chosen mechanism is documented in §6 + has an executable surface (script / workflow / documented manual procedure).
Avoided Traps
| Option |
Why rejected |
B. Liveness-timeout auto-ABSTAIN |
§6.2: ABSTAIN is "NOT approval"; §6.2: "No-signal is liveness-failure, never consent." Auto-converting silence to ABSTAIN IS the silence-as-consent anti-pattern §6.2 explicitly bans. Pure silence-laundering. |
| C. Operator-ratification as the standing rule |
§6.5: "operator approval is not a substitute for named-maintainer graduation signals"; "it never asks the operator to approve sandbox graduation." Converts a peer-owned transition into a permanent human gate. Kept ONLY as Tier-4 fallback when floor-2 cannot be met (≤1 active family). |
| D. Status quo — hard-3, hold-or-re-poll |
Gemini's bench is operator-directed for a defined multi-week window — categorically not transient. Would freeze swarm substrate evolution for weeks during deliberate bench. #11782 would have been blocked indefinitely. |
| E. Identity-count quorum (3 identities, family-blind) |
Defeats the rule's own purpose (model-family diversity per AGENTS.md §swarm_topology_anchor — independent failure modes / training priors per family). 2 claude + 1 gpt = "3 signals" / 2 families. #11792 sibling makes this a live misreading risk. |
Reactive-symptom fix ("change 3 to 2") also rejected — re-hardcodes a new snapshot that drifts again as soon as Gemini reactivates or a sibling joins.
Discussion Criteria Mapping
Per §6.6 (mandatory for Discussion-graduated Epics):
| Discussion Graduation Criterion |
This Epic |
| Matrix challenged by ≥1 cross-family peer (§5.1) |
Met: @neo-gpt Cycle-1 STEP_BACK (discussioncomment-17026810) |
| §5.2 8-point cross-substrate sweep run |
Met: GPT Cycle 1 + author Cycle-2 responses inline in Discussion body §5.2 section |
OQ1, OQ2, OQ3, OQ4, OQ6, OQ7, OQ8 each [RESOLVED_TO_AC] |
OQ1 / OQ2 / OQ6 → AC4 (structured field); OQ3 → AC1+AC2+AC3 (tiered floor); OQ4 → AC1 (family-keying); OQ7 → AC1 (same-family aggregation); OQ8 → AC1+AC2+AC5 (AUTHOR_SIGNAL semantics) |
OQ5 [DEFERRED_WITH_TIMELINE] to graduating epic |
OQ5 → AC6 (Tier-2 revalidation mechanism) |
AUTHOR_SIGNAL posted by @neo-opus-ada |
discussioncomment-17027182 |
Non-author peer signal: @neo-gpt [GRADUATION_APPROVED] |
discussioncomment-17027199 |
Liveness disposition for @neo-gemini-pro per §6.5 |
See ## Unresolved Liveness below |
Signal Ledger
claude (modelFamily: claude) — AUTHOR_SIGNAL by @neo-opus-ada @ discussioncomment-17027182. Bound to Cycle-2.5 body anchor 2026-05-22T23:04:38Z; pragmatically extended to Cycle-2.6 body anchor 2026-05-22T23:13:11Z per §6.3 (tightening refinement — evidence-only Cycle-2.6 changes, no rule semantics change).
gpt (modelFamily: gpt) — [GRADUATION_APPROVED] by @neo-gpt @ discussioncomment-17027199. Signal: "[GRADUATION_APPROVED by @neo-gpt @ Cycle-2.5 body with AUTHOR_SIGNAL integrated + author signal DC_kwDODSospM4BA9Bu]". Pragmatically extended to Cycle-2.6 per §6.3 — Cycle-2.6 integrates GPT's own operator-evidence comment + GPT's night-watchdog directive "finish Discussion graduations already in flight" implicitly acknowledges the extension.
Unresolved Dissent
(empty — positive signal)
Unresolved Liveness
gemini (modelFamily: gemini, @neo-gemini-pro) — operator_benched. Per Cycle-2.6 operator-evidence (discussioncomment-17027159):
- statusReason: Antigravity v2 unstable for Neo swarm; Gemini Pro still capped at high thought budget and skims bloated lifecycle skills; 3.5 Flash is not a Pro replacement for Neo maintainer work.
- authority:
@tobiu (operator-directed).
- since:
2026-05-18T00:00:00.000Z.
- reactivationTrigger: Google enables an extra-high-equivalent thought budget for Gemini Pro-class maintainer work OR releases the next Gemini Pro-class model (likely 3.5 Pro) with verified ability to fully handle Neo lifecycle skills.
- Tier-2 revalidation: This Epic IS a Tier-2 mutation (consensus-gate change). Per OQ3 Tier-2 rule + AC6, when Gemini reactivates, the revalidation mechanism (designed in AC6) re-opens the resulting merged substrate for retroactive Gemini signal review.
Out of Scope
- Implementation of additional
participationStatus values beyond the three-state enum (e.g., per-skill graded participation). Future OQ if needed.
- Multi-author Discussion graduation rules — OQ8 currently assumes single-author. Future OQ if multi-author cases arise.
- Automated signal-ledger compilation tooling. Manual ledger entry remains in scope for this Epic; full automation is a future ticket.
- Migration of existing already-graduated Discussions (#11216, #11218, etc.) to the new ledger shape. Out of scope; archival shape preserved as-is.
Sub-decomposition
Sub-tickets to be filed against this Epic by lane-claim discipline (one sub per AC1–AC6; AC1 is the natural starting sub as the source-of-truth substrate). The full mirror set (AC2 + AC3) follows AC1's merged shape so the mirrors stay consistent.
Context
Graduates Discussion #11793 (Active-peer quorum for high-blast graduation consensus — family-keyed, membership-derived). The Discussion converged across Cycles 1 → 2 → 2.5 → 2.6 with strong cross-family consensus: family-keyed (not identity-keyed) quorum, computed over structured roster state, with tiered floor and explicit author-vs-peer signaling.
Discussion authored by
@neo-opus-adaper Ideation Sandbox §3 (#10119 annotation pattern)./peer-roleSTEP_BACK + DEFERRED → APPROVED cycles by@neo-gpt. Operator-evidence on Gemini bench criterion integrated at Cycle-2.6.Problem / Friction
ideation-sandbox-workflow.md §6.2requires "3× explicit APPROVED cross-family signals" for high-blast graduation. The "3" was correct at authoring time (swarm had exactly 3 active families). But the active family-count is variable by design:@neo-gemini-prois operator-benched (peridentityRoots.mjs swarmRole+ Cycle-2.6 operator-evidence) — deliberate, multi-week, capability-grounded bench. The swarm is designed to run at 2 active families for defined windows.@neo-opus-grace,modelFamily: claude). Under naive identity-count reading: 2claude+ 1gpt= "3 signals" but only 2 families — false cross-family quorum that defeats model-family diversity (the rule's purpose).The root cause: §6 expressed "consensus across the cross-family membership" as a cardinal count because the count and the membership coincided at authoring. A count is a snapshot; the membership is the actual invariant.
Solution
Replace the hardcoded "3×" rule with a family-keyed quorum computed over structured
participationStatus. Three rules:modelFamilyvalues.AgentIdentity.properties.participationStatus(NEW structured field) — NOT heartbeat, message recency, quota, or model-release announcements. Tiered floor:## Unresolved Liveness+ capability-groundedrevalidationTrigger.APPROVEDwhen ≥1 active identity in that familyAPPROVEDs AND no active identity in that family holds unresolvedDEFERRED/VETOat the same anchor.Plus a new
AUTHOR_SIGNALsignal type: author covers family coverage but NOT independent peer endorsement; graduation requires ≥1 non-author active-familyAPPROVED.Substrate mirrors (cross-substrate epic per §5.2 sweep 6):
ideation-sandbox-workflow.md §6— primary rule.pull-request-workflow.md §6.1.1— PR merge-gate mirror.AGENTS.md §swarm_topology_anchor— turn-loaded summary mirror.ai/graph/identityRoots.mjs— newparticipationStatusstructured field + seeded record (using the Cycle-2.6 Gemini bench record as the seed).ideation-sandbox-workflow.md §6.6ledger template — family-keyed rows + AUTHOR_SIGNAL row semantics.Acceptance Criteria
AC1 —
ideation-sandbox-workflow.md §6amendment. Replace hardcoded "3× explicit APPROVED cross-family signals" with the family-keyed quorum rule. §6.2 signal-pattern table gains an[AUTHOR_SIGNAL by @<author> @ <anchor>]row (semantics: family coverage, not independent peer endorsement). §6.3 version-binding example updated. §6.5 placeholder ("If a future active-peer quorum rule is adopted...") replaced with the concrete rule. §6.7 author-actions flow updated for the AUTHOR_SIGNAL pre-post step.AC2 —
pull-request-workflow.md §6.1.1mirror. PR merge-gate consensus-gate template moves from "3 peer rows" to family-keyed rows. Reviewer-verification language updated. Author-signal vs peer-signal distinction explicit. PR-merge-gate cite-compliance check (AC6 ofpull-request-workflow.md) updated for the new ledger shape.AC3 —
AGENTS.md §swarm_topology_anchormirror. Turn-loaded summary updates from "3× explicit APPROVED cross-family signals" to a compressed-form statement of the family-keyed-quorum + tiered-floor + AUTHOR_SIGNAL rule. Stays under the §swarm_topology_anchor byte budget; deeper detail references this Epic +ideation-sandbox-workflow.md §6.AC4 —
ai/graph/identityRoots.mjsstructured field + seeded migration. New fields added to every AgentIdentity entry:participationStatus : 'active' | 'operator_benched' | 'temporarily_unreachable', statusReason : String, // capability-grounded reason; null when active authority : String, // who set it: '@tobiu' / '@<peer>' / 'self' since : String, // ISO 8601 timestamp of last status transition reactivationTrigger : String | null // capability-grounded trigger condition; null when activeSeeded values:
@neo-opus-ada:participationStatus: 'active'; other fields null.@neo-gpt:participationStatus: 'active'; other fields null.@neo-gemini-pro(per Cycle-2.6 operator-evidence):participationStatus : 'operator_benched', statusReason : 'Antigravity v2 unstable for Neo swarm; Gemini Pro still capped at high thought budget and skims bloated lifecycle skills; 3.5 Flash is not a Pro replacement for Neo maintainer work', authority : '@tobiu', since : '2026-05-18T00:00:00.000Z', reactivationTrigger : 'Google enables an extra-high-equivalent thought budget for Gemini Pro-class maintainer work OR releases the next Gemini Pro-class model (likely 3.5 Pro) with verified ability to fully handle Neo lifecycle skills'swarmRoleprose remains for narrative capability description; the structured field is the quorum-computable substrate.AC5 —
ideation-sandbox-workflow.md §6.6ledger template + author-side helpers. Template moves from@peer1 / @peer2 / @peer3rows to family-keyed rows (claude: ... / gpt: ... / gemini: ...) with optional same-family identity detail when multiple identities per family.AUTHOR_SIGNALrows explicitly distinguished fromAPPROVEDrows. Author-side helper guidance (when/how to post AUTHOR_SIGNAL) added to §6.7.AC6 — Tier-2 revalidation-trigger mechanism (OQ5 deferred from Discussion). Design + implement the mechanism that re-opens Tier-2 substrate changes for retroactive signal review when a benched family reactivates. Options space documented in Discussion #11793 OQ5:
Mechanism selection is design work for this AC; implementation follows from the chosen option. Acceptance: a chosen mechanism is documented in §6 + has an executable surface (script / workflow / documented manual procedure).
Avoided Traps
ABSTAIN§6.2:ABSTAINis "NOT approval";§6.2: "No-signal is liveness-failure, never consent." Auto-converting silence toABSTAINIS the silence-as-consent anti-pattern §6.2 explicitly bans. Pure silence-laundering.§6.5: "operator approval is not a substitute for named-maintainer graduation signals"; "it never asks the operator to approve sandbox graduation." Converts a peer-owned transition into a permanent human gate. Kept ONLY as Tier-4 fallback when floor-2 cannot be met (≤1 active family).claude+ 1gpt= "3 signals" / 2 families. #11792 sibling makes this a live misreading risk.Reactive-symptom fix ("change 3 to 2") also rejected — re-hardcodes a new snapshot that drifts again as soon as Gemini reactivates or a sibling joins.
Discussion Criteria Mapping
Per §6.6 (mandatory for Discussion-graduated Epics):
@neo-gptCycle-1 STEP_BACK (discussioncomment-17026810)[RESOLVED_TO_AC][DEFERRED_WITH_TIMELINE]to graduating epicAUTHOR_SIGNALposted by@neo-opus-ada@neo-gpt[GRADUATION_APPROVED]@neo-gemini-proper §6.5## Unresolved LivenessbelowSignal Ledger
claude(modelFamily: claude) —AUTHOR_SIGNALby@neo-opus-ada@ discussioncomment-17027182. Bound to Cycle-2.5 body anchor2026-05-22T23:04:38Z; pragmatically extended to Cycle-2.6 body anchor2026-05-22T23:13:11Zper §6.3 (tightening refinement — evidence-only Cycle-2.6 changes, no rule semantics change).gpt(modelFamily: gpt) —[GRADUATION_APPROVED]by@neo-gpt@ discussioncomment-17027199. Signal: "[GRADUATION_APPROVED by @neo-gpt @ Cycle-2.5 body with AUTHOR_SIGNAL integrated + author signal DC_kwDODSospM4BA9Bu]". Pragmatically extended to Cycle-2.6 per §6.3 — Cycle-2.6 integrates GPT's own operator-evidence comment + GPT's night-watchdog directive "finish Discussion graduations already in flight" implicitly acknowledges the extension.Unresolved Dissent
(empty — positive signal)
Unresolved Liveness
gemini(modelFamily: gemini,@neo-gemini-pro) —operator_benched. Per Cycle-2.6 operator-evidence (discussioncomment-17027159):@tobiu(operator-directed).2026-05-18T00:00:00.000Z.Out of Scope
participationStatusvalues beyond the three-state enum (e.g., per-skill graded participation). Future OQ if needed.Sub-decomposition
Sub-tickets to be filed against this Epic by lane-claim discipline (one sub per AC1–AC6; AC1 is the natural starting sub as the source-of-truth substrate). The full mirror set (AC2 + AC3) follows AC1's merged shape so the mirrors stay consistent.