Colab run 3 (A100) surfaced three GPU/API-path bugs mocks couldn't catch:
1. faster-whisper yields namedtuple Segments, but batch/bench consume
them as dicts (.get) -> AttributeError 'Segment' has no attribute
'get' on every real transcription. Engine now normalizes segments
to dicts (_to_dict_segments) at the boundary.
2. API TranscribeOptions carries engine-irrelevant keys (formats,
timestamps, glossary_id, post_correction, diarize); worker's
TranscriptionOptions(**job.options) crashed with TypeError. Worker
now filters job.options to TranscriptionOptions.__slots__.
3. in-proc server never consumed its own queue (jobs stayed queued
forever). Added opt-in Settings.auto_worker (default off): lifespan
starts a daemon Worker thread for inproc backend, stopped on
shutdown. Notebook enables it via LUKESCRIBE_AUTO_WORKER=true so the
API upload -> completed flow works end to end.
Notebook: bench manifest now uses clips schema (audio_path/duration_sec/
entities); cell 22 reads error_message/error_code; upload poll window
raised to 4min (first-run model download).
+ 5 tests (namedtuple/dict segments, API-style options, auto_worker
on/off); 136 tests pass, ruff clean.