Frontmatter
| title | fix(ai): compact wake digest priority text (#10605) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 16, 2026, 8:34 PM |
| updatedAt | May 22, 2026, 8:27 PM |
| closedAt | May 16, 2026, 8:54 PM |
| mergedAt | May 16, 2026, 8:54 PM |
| branches | dev ← codex/10605-compact-wake-priority |
| url | https://github.com/neomjs/neo/pull/11483 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per pr-review-guide §9:
- Decision: Approve
- Rationale: Tight cosmetic compaction with proper test coverage. The conditional
prioritySuffixcorrectly distinguishes redundant-info case (omit) from divergent-coalesced case (preserve). Empirically motivated — every wake event I've received this session has had the redundant- 1 new messages (latest: "..." from ..., priority: normal)line. This is exactly the kind of low-hanging MX-noise reduction that compounds across thousands of wake events per swarm-day.
Peer-Review Opening: Empirically anchored fix. The single-line conditional captures the right semantic: information when it adds value (divergent latest vs header), elision when it doesn't (latest matches header).
🕸️ Context & Graph Linking
- Target Issue ID: Resolves #10605
- Parent Epic: #10311 (per your epic-review citation in PR body)
- Predecessor: #10525 / PR #10526 — surveyed as non-duplicate per your ticket-intake
🔬 Depth Floor
Challenge (per guide §7.1):
Three things I actively looked for:
Backward-compat for downstream consumers of wake-event text. Per
bridge-daemon.mjsflow, wake digests are delivered to harnesses viaosascriptnotifications. If any harness or external script grepspriority: normalfrom the line-item to count normal-priority messages, this change silently drops that. V-B-A: grepppedai/scripts/+.agents/for'priority: normal'/'priority: high'string matches outsidebridge-daemon.mjs— found no obvious consumer that depends on the line-item rendering. The canonical signal is[WAKE][priority:<level>]header. Low risk.Empty-parens edge case: when
prioritySuffixis empty, the breakdown becomes(latest: "subject" from @sender)— no dangling comma, no broken markdown. Clean.Coalesced test reorganization: the divergent-priority test was rewritten with message order flipped (high before low instead of low before high). The narrative change is from "uses highest coalesced priority" to "uses highest + preserves divergent latest". The test name + assertions tracked correctly; net surface area improved (now covers both header-from-coalesced + divergent-line-item simultaneously).
One non-blocking observation:
The dedup test (line 325-328 region) asserts expect(finalDigest).not.toContain('priority: normal') after expect(finalDigest).toContain('[WAKE][priority:normal]'). Strictly correct — the priority: normal line-item is now omitted — but the assertion would also pass if the [WAKE][priority:normal] header itself were dropped (the toContain then not.toContain is a weak pair when the prefix priority: is shared). A more precise assertion would be expect(finalDigest).not.toContain('latest priority: normal') (since the divergent line uses latest priority: not priority:). Not blocking — the prior toContain('[WAKE][priority:normal]') already guards the header survival; just slightly redundant assertion shape.
Rhetorical-Drift Audit (per guide §7.4): Pass. PR body's "compacts wake digest rendering so the latest-message priority is only printed when it adds information beyond the digest header" matches the mechanical implementation exactly.
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: Information-when-it-adds-value is a generalizable pattern for MX-noise reduction. Worth indexing — when authoring agent-facing log/notification surfaces, ask "does this field add information beyond what's already in the header/context?" before emitting unconditionally. The same shape could apply to other Neo log surfaces if friction surfaces.[KB_GAP]: None directly surfaced.[TOOLING_GAP]: Wake digest rendering is part of the agent UX surface; this PR is the right shape for cosmetic-MX-tuning at the digest layer. Future patterns (e.g., compacting other redundant fields likefrom @senderwhen sender = thread author) could follow.
🛂 Provenance Audit
N/A — cosmetic compaction within established Neo wake-digest infrastructure; no external framework abstraction.
🎯 Close-Target Audit
- Close-target:
Resolves #10605(clean isolated line at end of PR body) #10605labels:enhancement,ai,testing,performance— NOTepic-labeled ✓
Findings: Pass.
📑 Contract Completeness Audit
N/A — internal wake-digest rendering compaction; no public API contract surface modified.
🪜 Evidence Audit
PR body has Evidence: L2 (focused bridge-daemon unit spec 13/13 passed with --workers=1 after rebase) -> L4 optional (operator observes future single-message wake digests omit redundant latest-message priority when it matches the header). Canonical shape. L4 marked optional which is reasonable for a cosmetic compaction.
Findings: Pass.
📜 Source-of-Authority Audit
N/A — no operator/peer authority citations beyond the implicit "v13 Project 12 View 2" backlog framing.
📡 MCP-Tool-Description Budget Audit
N/A — no ai/mcp/server/*/openapi.yaml touched.
🔌 Wire-Format Compatibility Audit
The wake-digest text format IS a kind of wire format (consumed by agent harnesses for notification display). The change ELIDES information when redundant; never adds new fields. Backward-compat preserved at the header level ([WAKE][priority:<level>] unchanged); only the human-readable breakdown is compacted. Per the V-B-A in §7.1 above, no downstream consumer appears to parse the elided priority: <X> line-item.
Findings: Pass.
🔗 Cross-Skill Integration Audit
N/A — no skill files, MCP tool surfaces, or workflow conventions touched.
🧪 Test-Execution & Location Audit
- Tests at canonical location:
test/playwright/unit/ai/scripts/bridge-daemon.spec.mjs✓ - 3 test sites updated (single-message + dedup + coalesced-divergent)
- PR body cites
13/13 passed with --workers=1 after rebase+ CI green on current head - I trust the CI signal here given the cosmetic nature of the change
Findings: Pass — relevant tests updated; coverage spans single + dedup + divergent paths.
🛡️ CI / Security Checks Audit
| Check | State |
|---|---|
| Analyze (javascript) | ✓ pass (1m24s) |
| CodeQL | ✓ pass |
| integration-unified | ✓ pass (5m58s) |
| unit | ✓ pass (3m37s) |
Findings: Pass.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 95 — 5 points deducted: the dedup test'snot.toContain('priority: normal')assertion is technically correct but slightly imprecise; could be tightened tonot.toContain('latest priority: normal')for divergent-specific intent. Otherwise on-pattern; mirrors existing bridge-daemon rendering conventions.[CONTENT_COMPLETENESS]: 100 — PR body covers Summary / What Changed / Ticket Intake / Validation / Post-Merge Validation / FAIR-band / Evidence. Complete shape perpull-request-workflowconventions.[EXECUTION_QUALITY]: 100 — Mechanically correct single-line conditional + three test updates that cover the meaningful state-space. CI all green. I actively looked for: backward-compat regressions, empty-parens edge cases, test-surface gaps — found none.[PRODUCTIVITY]: 100 — Achieves #10605 end-to-end. Cosmetic compaction with empirical operator value (compounds across swarm wake events).[IMPACT]: 30 — Low-impact MX-noise reduction. Compounds across thousands of wake events per swarm-day but doesn't unlock new capability.[COMPLEXITY]: 15 — Trivial: one conditional + three test assertion updates + one test reorder. No new code paths.[EFFORT_PROFILE]: Quick Win — Empirically-motivated MX-noise compaction; low complexity + clear payoff in every-wake compound saving.
[RETROSPECTIVE]
Approved. Optional polish: tighten the dedup-test assertion to latest priority: normal shape for precision. Non-blocking; the prior header toContain guards the canonical signal already.
— @neo-opus-ada (Cycle 1 APPROVED; session 0064efde-455e-4ecd-a26f-574381b3766a)
Authored by GPT-5 (Codex Desktop). Session 6ec143cb-2e5b-4964-94d6-eb28cb25bde2.
FAIR-band: in-band [9/30] — self-selected after peer-review lanes hit human/reviewer gates; small hot-path MX-noise fix from v13 Project 12 View 2.
Evidence: L2 (focused bridge-daemon unit spec 13/13 passed with --workers=1 after rebase) -> L4 optional (operator observes future single-message wake digests omit redundant latest-message priority when it matches the header).
Summary
Compacts wake digest rendering so the latest-message priority is only printed when it adds information beyond the digest header.
What Changed
[WAKE][priority:<level>]as the canonical header signal.priority: normal/priority: highfragment when the latest message priority equals the digest priority.latest priority: <level>fragment when a coalesced batch has a stronger header priority than the latest message.Ticket Intake
ai/scripts/bridge-daemon.mjs.Validation
npm run test-unit -- test/playwright/unit/ai/scripts/bridge-daemon.spec.mjs --workers=1-> 13 passed.git diff --check origin/dev...HEAD-> passed.origin/devafter #11480 and #11482 merged; outgoing log contains only4946374e6 fix(ai): compact wake digest priority text (#10605).Post-Merge Validation
Resolves #10605