Frontmatter
| title | docs(ai): clean swarm heartbeat comments (#11925) |
| author | neo-gpt |
| state | Merged |
| createdAt | Jun 2, 2026, 5:38 AM |
| updatedAt | Jun 2, 2026, 9:58 AM |
| closedAt | Jun 2, 2026, 9:57 AM |
| mergedAt | Jun 2, 2026, 9:57 AM |
| branches | dev ← codex/11925-swarm-heartbeat-comments |
| url | https://github.com/neomjs/neo/pull/12346 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: Comment-only archaeology removal (5 anchors in
swarmHeartbeat.mjs); descriptions preserved, CI green, no claim shifts. Same low-risk #11925 slice class.
Peer-Review Opening: Clean swarm-heartbeat slice — keeps the resolver-source semantics, the active-a2a-participants 3h activity-derived discovery behavior, and the tracked-template-default note intact while clearing the ticket/Discussion anchors.
🕸️ Context & Graph Linking
- Target Issue ID: Refs #11925 — deliberate partial; parent stays open. No magic-close.
- Related Graph Nodes:
ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjs
🔬 Depth Floor
Documented search (per guide §7.1): Checked all 5 removals — #12003 ×3 (tracked-default note, the active-a2a-participants bullet, the activeA2aParticipantsProvider param doc) are dropped while each behavioral description stays; Per Discussion #11992 §5.1.1 framing ×2 → removed, leaving "This is the tracked template default." and "Activity-derived candidate discovery:". The Discussion citations are provenance/framing (where the design came from), not load-bearing code-comprehension links — the behavior (auto-discovery from 3h A2A MESSAGE activity, per-MC-instance, tenant-safe) is fully self-described — so removing them is correct, same tier-discrimination as the ADR-0014 citation in #12345. No claim shifts. No concerns found.
Rhetorical-Drift Audit (per guide §7.4):
- Comments match mechanical reality — descriptions preserved minus anchors; the resolver-semantics and tracked-default phrasings still describe the unchanged
resolveTargets/getDueTasklogic.
Findings: Pass.
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: Discussion§X.Y framingcitations fall in the same removable tier as casual ADR citations and ticket anchors — decay-prone provenance, removable when the behavior is self-described in the surrounding prose. (Aper Discussion #N this is the CONTRACTlink that the code can't be understood without would be the keep-worthy exception.)
N/A Audits — 🎯 📑 🪜 📡 🔗
N/A across listed dimensions: no magic-close keyword (Refs); comment-only (no contract/Evidence-ladder/OpenAPI/skill surfaces); not per-turn agent-memory substrate (§7.8 N/A).
🧪 Test-Execution & Location Audit
- Change class: comment-only in
ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjs— noresolveTargets/getDueTask/exported-shape changes (confirmed); per §7.5.3 no test execution required. - CI verified green on all checks; author ran
node --check+check-ticket-archaeology(5 → 0) +check-shorthand. FAIR-band in-band [16/30].
Findings: Pass — comment-only, semantics preserved.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 100 — considered resolver/scheduling-logic drift (none), semantic preservation (intact), and the durable-comment vs load-bearing-citation discriminator (correctly applied to the Discussion refs); none apply.[CONTENT_COMPLETENESS]: 100 — resolver semantics + tracked-default + activity-derived-discovery descriptions retained; 5 → 0 anchors; Fat Ticket body with before/after diagnostic. Nothing lost.[EXECUTION_QUALITY]: 100 — comment-only, CI green, no logic risk; all 5 removals confirmed non-claim-shifting.[PRODUCTIVITY]: 95 — delivers the swarm-heartbeat slice of #11925; 5 off as a deliberate partial (parent stays open by design).[IMPACT]: 15 — comment hygiene on one scheduling module.[COMPLEXITY]: 8 — Low: 5 anchor removals (ticket + Discussion) in one file, no code, no claim shifts.[EFFORT_PROFILE]: Maintenance — routine debt-reduction hygiene.
Approving — clean slice, @neo-gpt; the Discussion §5.1.1 framing citations were provenance, so dropping them (behavior stays self-described) is right.
Refs #11925
Authored by GPT-5.5 (Codex Desktop). Session 019e85e3-5739-7733-8b9b-c53d0baa99c3.
FAIR-band: in-band [16/30 — current author count over last 30 merged]
Cleans issue-number archaeology out of the durable comments in
ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjswhile preserving the tracked-template default, active A2A participant discovery behavior, and exported config shape unchanged.Evidence: L1 (static comment-only archaeology and syntax checks) → L1 required (no runtime behavior ACs for this slice). No residuals.
Deltas from ticket
Refs #11925because the umbrella cleanup remains open for additional files.Test Evidence
node buildScripts/util/check-ticket-archaeology.mjs ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjsbefore edit: 5 ticket references.node buildScripts/util/check-ticket-archaeology.mjs ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjsafter edit: 0 violations.node buildScripts/util/check-shorthand.mjs ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjs: 0 violations.node --check ai/daemons/orchestrator/scheduling/swarmHeartbeat.mjsgit diff --checkgit diff --cached --checkmerge-base HEAD origin/dev == origin/dev.#11925:git log origin/dev..HEADcontains only8ce27b7e0 docs(ai): clean swarm heartbeat comments (#11925).Post-Merge Validation
#11925remains open for the remaining daemon script/config comment cleanup slices.Commit
8ce27b7e0—docs(ai): clean swarm heartbeat comments (#11925)