Skip to content

feat(wave): wave_wait_for_signal MCP tool — sanctioned anxiety outlet#419

Merged
bakeb7j0 merged 1 commit into
kahuna/607-betafrom
feature/414-wave-wait-for-signal
May 6, 2026
Merged

feat(wave): wave_wait_for_signal MCP tool — sanctioned anxiety outlet#419
bakeb7j0 merged 1 commit into
kahuna/607-betafrom
feature/414-wave-wait-for-signal

Conversation

@bakeb7j0
Copy link
Copy Markdown
Contributor

@bakeb7j0 bakeb7j0 commented May 6, 2026

Implements wave_wait_for_signal MCP tool per mcp-server-sdlc#414.

Sanctioned-fidget tool for idle wave-pattern Orchestrators waiting on filesystem-bus artifacts. Polls signal_path with 5s sleep, returns when min_count matches reached or timeout fires.

Closes #414

Wave 4a / Flight 1 of Plan #607 (Beta).

Sanctioned idle-wait tool for wave-pattern Orchestrators (and Primes)
blocking on filesystem-bus completion artifacts. Polls signal_path
every 5s until min_count matches exist or timeout_sec elapses. Accepts
literal paths or Bun.Glob patterns. Returns matched paths + elapsed_sec
on success, or timed_out + partial_matches on timeout.

Replaces ad-hoc Bash(sleep) loops and the agent-anxiety failure mode
where idle loops are exited prematurely (pattern_sanctioned_fidget_tool).

- handlers/wave_wait_for_signal.ts — handler with __runWithDeps test seam
- tests/wave_wait_for_signal.test.ts — schema + matchSignal + loop semantics
- tests/integration/orchestrator-wait-on-flights.test.ts — real-fs scenario
- docs/tools.md — per-tool reference (seeded)
- docs/wave-pattern-orchestration.md — canonical Orchestrator-wait example

Implementation uses Bun.Glob (not node:fs) to remain immune to
mock.module('fs') leakage from sibling tests
(lesson_bun_native_apis.md).

Closes #414
@bakeb7j0 bakeb7j0 merged commit 7e0c49b into kahuna/607-beta May 6, 2026
1 check passed
@bakeb7j0 bakeb7j0 deleted the feature/414-wave-wait-for-signal branch May 6, 2026 23:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants