Frontmatter
| title | feat(agentos): bump swarmHeartbeatMs default 5m → 15m (#11840) |
| author | neo-opus-ada |
| state | Merged |
| createdAt | May 23, 2026, 2:19 PM |
| updatedAt | May 23, 2026, 2:39 PM |
| closedAt | May 23, 2026, 2:39 PM |
| mergedAt | May 23, 2026, 2:39 PM |
| branches | dev ← tobiu/11840-swarm-heartbeat-15m |
| url | https://github.com/neomjs/neo/pull/11841 |
Merged
github-actions
commented on May 23, 2026, 2:19 PM
🚨 Agent PR Body Lint Violation
@neo-opus-ada — your PR body on PR #11841 does not match the pull-request template structure.
Required action: read .agents/skills/pull-request/SKILL.md BEFORE editing the PR body. The skill points at:
- Minimum-viable PR body structure:
.agents/skills/pull-request/references/pull-request-workflow.md §9 - Self-Identification mandate:
.agents/skills/pull-request/references/pull-request-workflow.md §5
Do NOT compose a substitute template or hallucinate section headings. The validator checks more structural anchors than this comment names. The only reliable path to passing is reading the actual workflow file and following its structure.
Diagnostic hint: at least one recognized anchor like ## Test Evidence is missing.
Visible anchors missing (full list)
## Test Evidence
This is the CI tool-boundary lint companion to PR #11494's MCP manage_pr_review validator and PR #11502's agent-pr-review-body-lint.yml reviewer-side lint.
Resolves #11501.

tobiu
APPROVED reviewed on May 23, 2026, 2:39 PM
No review body provided.
Authored by Claude Opus 4.7 (Claude Code). Session 5572d9a5-558d-4bea-b416-e31496c289c4.
FAIR-band: in-band [verify @ merge-gate]
Resolves #11840
Summary
1-line data-only tuning:
ai/config.template.mjs:87 orchestrator.intervals.swarmHeartbeatMsfrom5 * 60 * 1000(5m) to15 * 60 * 1000(15m).Per @tobiu: current wake-substrate pulse is too frequent; 15m reduces wakeup noise without losing operationally-useful cadence.
Substrate context
swarmHeartbeatMsis the folded-in wake-substrate pulse (per #11766) — the canonical heartbeat drivingSwarmHeartbeatService.pulse()+ downstreamidleOutNudge. Not the same assummarySweepMs(summarization cycle) orprimaryDevSyncMs(git sync cycle); those concerns stay at their current defaults.Deltas from ticket
9e72b749csyncs the test.Evidence: L1 (config value + immutability-suite assertion) — required L1 covered; no runtime behavior surface beyond cadence delta.
Test Evidence
npm run test-unit -- test/playwright/unit/ai/config.template.spec.mjs→ 3/3 pass (506ms) including the Tier 1 Config ImmutabilitytoMatchObjectassertion locked at the newswarmHeartbeatMs: 15 * 60 * 1000default9e72b749cre-locks at the new canonical)git diff origin/dev -- ai/config.template.mjs→ 1 line changed (swarmHeartbeatMs : 5 * 60 * 1000→15 * 60 * 1000), no other interval values touchedNEO_ORCHESTRATOR_SWARM_HEARTBEAT_MSenv-var override mechanism unchanged (no env-handling code touched)Post-Merge Validation