[真实流程命令]:完成完整链路自测入口,包含真实Provider CLI、播放验收和文档测试

This commit is contained in:
mkbk
2026-06-17 23:57:24 +08:00
parent b2822dc1af
commit b9b501cf74
9 changed files with 462 additions and 3 deletions
@@ -134,13 +134,14 @@ The system SHALL provide a deterministic simulated microphone acceptance command
The system SHALL support scripted full-chain acceptance that drives the live pipeline with generated microphone PCM while using real local speech providers, the configured cloud LLM, and local TTS/playback capability.
#### Scenario: Real provider fixture completes one turn
- **WHEN** generated wake and formal question PCM frames are passed through the live pipeline
- **WHEN** the developer runs `.venv/bin/python -m owner_voice_pet real-live-check --turns 1`
- **THEN** the pipeline SHALL use the real local KWS, local VAD, local denoiser, local STT, configured cloud LLM, local TTS, and playback provider path to complete a wake-to-standby turn
#### Scenario: Real provider fixture completes repeated turns with temporary context
- **WHEN** two generated wake/question turns run in one process and the first turn gives a user fact
- **WHEN** the developer runs `.venv/bin/python -m owner_voice_pet real-live-check --turns 2` and the first generated turn gives a user fact
- **THEN** the second LLM request SHALL include the first turn's user and assistant history from process-local memory
- **AND** no history SHALL be read from disk or persisted after the process exits
- **AND** JSON output SHALL include checks for completed turns, event counts, final transcripts, playback, flush count, and temporary context
#### Scenario: Zero playback drain still flushes queued echo
- **WHEN** ACK or TTS playback completes and `OWNER_POST_PLAYBACK_DRAIN_MS=0`
@@ -155,6 +156,11 @@ The system SHALL support scripted full-chain acceptance that drives the live pip
- **WHEN** a memory or fixture transport represents pre-generated future microphone frames
- **THEN** tests SHALL be able to configure flush to record the cleanup call without deleting those future frames
#### Scenario: Real provider check runs quietly
- **WHEN** the developer runs `.venv/bin/python -m owner_voice_pet real-live-check --turns 2 --no-playback`
- **THEN** the command SHALL still synthesize local TTS output and emit pipeline playback events
- **AND** it SHALL skip actual speaker output for automated or quiet environments
### Requirement: Wake acknowledgement before recording
The live runtime SHALL provide an audible local acknowledgement after local wake detection and before it starts recording the user's formal question.