M-6b: orchestrator issues synthesizeTurn on voice-source turnEnded(.completed) (B-05) #132

Open
opened 2026-05-12 19:37:29 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:37:29 +00:00 (Migrated from github.com)

Goal

M-6b — orchestrator wires synthesizeTurn on voice-source turnEnded(.completed). Encodes UQ-3 contract obligation. Harness asserts: every voice-source completed turn has matching synthesizeTurn issued.

Scope

  • Orchestrator listens for turnEnded(.completed) events
  • If turn's source == .voice, immediately issues Voice.synthesizeTurn(turnId:, text:, tier:)
  • Tier from Settings.getSettings().ttsTier

Files

  • packages/AgentCore/Sources/AgentOrchestrator/AgentOrchestrator.swift

Acceptance

  • Voice-source completed turn ⇒ synthesizeTurn issued exactly once
  • B-05 gate (UQ-3): synthesizeTurn invoked + ttsStarted observed
  • Text-source completed turn does NOT trigger synthesizeTurn
  • Closes #50 (B-05)

Test

S-VOICE-011 (B-05 gate end-to-end).

Parent epic

#10

Source

.planning/architecture/JARVIS-API-MIGRATION-PLAN.md §2.7 (M-6.7)
.planning/architecture/JARVIS-API-DESIGN-v0.2.md §5 UQ-3 (A)

## Goal M-6b — orchestrator wires synthesizeTurn on voice-source turnEnded(.completed). Encodes UQ-3 contract obligation. Harness asserts: every voice-source completed turn has matching synthesizeTurn issued. ## Scope - Orchestrator listens for `turnEnded(.completed)` events - If turn's `source == .voice`, immediately issues `Voice.synthesizeTurn(turnId:, text:, tier:)` - Tier from `Settings.getSettings().ttsTier` ## Files - `packages/AgentCore/Sources/AgentOrchestrator/AgentOrchestrator.swift` ## Acceptance - [ ] Voice-source completed turn ⇒ `synthesizeTurn` issued exactly once - [ ] **B-05 gate (UQ-3):** `synthesizeTurn` invoked + `ttsStarted` observed - [ ] Text-source completed turn does NOT trigger synthesizeTurn - [ ] Closes #50 (B-05) ## Test `S-VOICE-011` (B-05 gate end-to-end). ## Parent epic #10 ## Source `.planning/architecture/JARVIS-API-MIGRATION-PLAN.md` §2.7 (M-6.7) `.planning/architecture/JARVIS-API-DESIGN-v0.2.md` §5 UQ-3 (A)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#132