# HyperTwist Phase 6R-E whisper.cpp speech transcript implementation packet

Created on `2026-05-21`

## Status

- first-party HyperTwist packet
- bounded permissive `Phase 6R-E` implementation slice

## Purpose

This packet lands the first narrower bounded slice from the retained `ggml-org/whisper.cpp`
speech-input row.

The landed slice is:

- first-party speech transcript session boundary above the existing companion listening lifecycle

It is not:

- a full `whisper.cpp` row transplant
- a live microphone capture packet
- a model checkout or payload-shipping packet
- a `SYSTRAN/faster-whisper` Python orchestration packet
- a `rhasspy/piper` or `coqui-ai/TTS` voice-output packet
- a broad voice-assistant platform packet

## Current authority basis

This implementation packet stands on:

- `docs/HYPERTWIST_PHASE_0R_PACKET_0R_A_EVALUATION_2026-05-12.md`
- `docs/HYPERTWIST_PHASE_2R_PACKET_2R_A_OWNERSHIP_AND_ACCEPTANCE_CONTRACT_2026-05-13.md`
- `docs/REPO_LICENSE_TRACKING.md`
- `docs/arch/HYPERTWIST_PHASE6R_E_WHISPER_CPP_SPEECH_TRANSCRIPT_PREPARATION_PACKET_2026-05-21.md`

The retained owner remains:

- `ggml-org/whisper.cpp`

The top-level provider/session contract owner does not change here:

- first-party HyperTwist remains the provider-neutral `A1 / R1 / F1` owner for the speech
  provider-contract lane
- this packet keeps `ggml-org/whisper.cpp` bounded to the narrower `A1 / R1 / F2`
  transcript-session donor slice only

The granted family remains bounded to:

- speech session configuration
- VAD-aware utterance-envelope shaping
- transcript-segment and transcript-result structure
- service-health and sidecar-boundary shaping

This packet lands only the first narrower family in that granted set.

## Landed scope

The current code now owns a retained speech transcript contract through:

- retained recognition contract types for:
  - speech VAD policy
  - speech session configuration
  - speech utterance envelope
  - speech transcript segment
  - speech transcript result
  - speech service health
- companion speech session state in:
  - `FHyperTwistTrainingCompanionSpeechSessionState`
- sample session-config, transcript-result, and service-health outputs in:
  - `UHyperTwistContractLibrary`
- direct-donor speech client seam with:
  - `UHyperTwistMockSpeechClient`
  - `UHyperTwistHttpSpeechClient`
- active companion open / submit / close transcript-session handling in:
  - `UHyperTwistTrainingSubsystem`
- default sidecar configuration in:
  - `DefaultGame.ini`
- focused automation coverage in:
  - `HyperTwistWhisperCppPhase6RESpeechTranscriptContractTest.cpp`

## Why this is still intentionally bounded

This packet lands the first donor-backed transcript-session seam, but it does not widen into the
neighboring retained families.

Still deferred:

- live microphone capture shell
- device-permission shell
- downloadable model or payload shipping
- Python-side orchestration, batching, or hotword service work
- TTS or voice-output ownership
- broad voice-assistant scope

## Validation

Build validation:

- `Build.bat UnrealHyperTwistEditor Win64 Development -Project='C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.uproject' -WaitMutex -NoHotReloadFromIDE`

Focused automation validation:

- `Automation RunTests HyperTwist.Permissive.WhisperCpp.Phase6R.E`

Regression automation validation:

- `Automation RunTests HyperTwist.Permissive.MagicTile.Phase6R.D`
- `Automation RunTests HyperTwist.Permissive.RubixCubeSolver.Phase6R.C`
- `Automation RunTests HyperTwist.Permissive.Qbr.Phase6R.B`
- `Automation RunTests HyperTwist.Permissive.Hyperspeedcube.Phase6R.A`
- `Automation RunTests HyperTwist.CleanRoom.CubeDesk`

Expected covered tests:

- `CloseSession`
- `SessionConfig`
- `TranscriptResult`
- `TopologyContract`
- `LoaderBoundary`
- `PackageChecklist`
- `CommitBuildsReconstructionSession`
- `RevisionLedger`
- `FinalizeBuildsClassicNet`
- `CalibrationSessionConfig`
- `PreviewObservation`
- `CommitObservation`
- `CatalogLookup`
- `SampleDefinition`
- `TrainingRunDefinition`
- existing `CubeDesk` clean-room regression suite

## Queue effect

This packet consumes the current `Phase 6R-E` implementation slice.

`ggml-org/whisper.cpp` remains only partially incorporated:

- landed now:
  - speech transcript session boundary
  - bounded VAD-aware session config
  - utterance-envelope shape
  - transcript segment and transcript result
  - speech-service health and sidecar boundary
- still deferred:
  - live microphone capture shell
  - downloadable model or payload shipping
  - Python orchestration / batching / hotword service layer
  - TTS or voice-output ownership
  - broad voice-assistant scope

The next clean move is not another immediate `whisper.cpp` widening by default.

The later same-day provider-family backfill and control pass keeps the queue interpretation narrow:

- first-party HyperTwist remains the top-level provider-neutral speech contract owner
- `SYSTRAN/faster-whisper` may widen only as the bounded Python transcription-service
  orchestration donor slice
- `ggml-org/whisper.cpp` does not inherit Python orchestration or broad provider ownership by
  implication

Keep the future sequencing guards visible:

- speech-input / voice sidecar set
  - keep code-license judgments separate from model, voice, and payload-license review
- `SYSTRAN/faster-whisper`
  - keep it complementary to `whisper.cpp` and bounded to Python transcription-service
    orchestration rather than runtime-core ownership
- `rhasspy/piper` and `coqui-ai/TTS`
  - keep future voice-asset review separate from the code-license judgment
