fix(beats-voice): agent_id semantics + deterministic test + doc thread cleanup - #1406
Conversation
…d cleanup Resolves remaining open review threads from PR #1381 and #1402: beats_to_voice.py: - Use configured agent_id instead of data["user_id"] in listen handler. Per NATS catalog, user_id in voice.agent.response.v1 is the request originator (end-user), not the processing agent. Mixing the two corrupted CGP agent attribution in live mode. test_beats_to_voice_nats.py: - Replace asyncio.sleep(0.05) with asyncio.Event.wait() for deterministic handler capture — eliminates timing-dependent CI failures. - Update assertion: agent_id is now "4090-claude" (configured), not "z890-claude" (originator from user_id). AGNOTE4482.md: - Add blank lines around Key Findings table (MD058 markdownlint fix). PR_TRIAGE_2026-04-23.md: - Replace machine-local ~/.claude/... path with inline portable guidance. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR makes three distinct updates: a formatting correction to an agent note, a documentation update to PR triage guidelines replacing an external reference with inline guidance, and a behavioral change to the NATS trigger handler to consistently use the configured Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…date Appends session ACK block to AGNOTE4482.md covering 2026-04-27→05-02: - PRs #1402 (NATS push model), #1404 (geometry bus), #1405 (cred redact), #1406 (agent_id fix), #1407 (§9 SPARK rescue) — all merged - GitHub issues #1410 (W6-P1/z890), #1411 (W6-P2/5090), #1412 (W6-P5/opus) created with full TAC-grounded handoff + signoff checklist references Updates ROADMAP Active Claim Register: W6-P3 NATS row added (SHIPPED), W6-P1/P2/P5 rows updated with issue numbers and ANNOUNCED status. Village Rule: one scope, one commit, one PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…date (#1417) * docs(agnote): W6 convergence wave ACK + TAC lane announce register update Appends session ACK block to AGNOTE4482.md covering 2026-04-27→05-02: - PRs #1402 (NATS push model), #1404 (geometry bus), #1405 (cred redact), #1406 (agent_id fix), #1407 (§9 SPARK rescue) — all merged - GitHub issues #1410 (W6-P1/z890), #1411 (W6-P2/5090), #1412 (W6-P5/opus) created with full TAC-grounded handoff + signoff checklist references Updates ROADMAP Active Claim Register: W6-P3 NATS row added (SHIPPED), W6-P1/P2/P5 rows updated with issue numbers and ANNOUNCED status. Village Rule: one scope, one commit, one PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(vision): Cinco de Mayo launch vision + KiloCode W6-P2 handoff brief Extends AGNOTE4482 launch vision with: - CLI-as-score / CGP-as-mood / proof-of-resonance architectural framing - Character persona system (Dr. Bean, Mr. Clean, PowerPuff Girls) as FlOO$ W6-P5 suit archetypes powered by MiniMax - Three-Body split: 4090-claude analysis → KiloCode GLM implementation - Node deployment plan: Jetson edge + 5090 MiniMax+KiloCode runtime Adds .kilo/command/w6-bpm-nats.md — executable KiloCode brief for bpm_encoder NATS publish (W6-P2): exact file, line refs, code blocks, test file template, verify commands. GLM-5.1 blueprint-first pickup. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Resolves all remaining open review threads from PRs #1381 and #1402.
beats_to_voice.py — P2 agent_id fix
_listen_loopwas usingdata.get("user_id")as theagent_idfor CGP packet attribution. Per the NATS subject catalog (.claude/context/nats-subjects.md),user_idinvoice.agent.response.v1is the request originator (end-user), not the processing agent. Corrupted CGP agent attribution in live mode. Now uses the configuredagent_idparameter unconditionally.test_beats_to_voice_nats.py — race fix + assertion alignment
asyncio.sleep(0.05)withasyncio.Event.wait(timeout=2.0)— eliminates timing-dependent CI failures on loaded runnersagent_idis now"4090-claude"(configured) rather than"z890-claude"(which was incorrectly sourced fromuser_id)AGNOTE4482.md — MD058 markdownlint fix
Added blank lines before/after Key Findings table (
blanks-around-tablesrule).PR_TRIAGE_2026-04-23.md — portable cross-reference
Replaced
~/.claude/projects/.../memory/feedback_rebase_before_merge.mdwith inline guidance — not accessible to other reviewers/operators.Test plan
pytest pmoves/tools/test_beats_to_voice_nats.py -v→ 5 passedVillage Rule
One scope: open thread resolution only. No new features.
🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
Bug Fixes
Tests
Documentation