Metadata-Version: 2.4
Name: cjm-transcription-qt
Version: 0.0.2
Summary: Qt shell for the transcription-workflow setup app — the first workflow TUI migrated to the PySide6 lane (DEC c4b0d6e5): the same three-stage run setup (sources -> candidates -> compare) and headless hand-off as cjm-transcription-tui, whose pure spine modules it imports; long-running capability jobs with progress run under a Qt event loop via a private asyncio loop thread (CapabilitySession). Born on-graph.
Author-email: "Christian J. Mills" <9126128+cj-mills@users.noreply.github.com>
License: Apache-2.0
Project-URL: Repository, https://github.com/cj-mills/cjm-transcription-qt
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: cjm-transcription-core>=0.0.8
Requires-Dist: cjm-substrate>=0.0.61
Requires-Dist: cjm-substrate-tui-kit>=0.0.1
Requires-Dist: cjm-substrate-qt-kit>=0.0.3
Requires-Dist: PySide6

# cjm-transcription-qt

<!-- generated from the context graph by `cjm-context-graph readme` — do not edit by hand; edit the graph (the urge to hand-edit = move it on-graph) -->

Qt shell for the transcription-workflow setup app — the first workflow TUI migrated to the PySide6 lane (DEC c4b0d6e5 leg 2). Imports the pure spine of cjm-transcription-tui (sources browser, candidate directives, segment probe, run index, sidecar state) and shares its CLI ladder (build_parser/resolve_settings/hand_off), so Qt-confirmed runs hand off to cjm-transcription-core byte-identically. Long-running capability jobs with progress run under Qt via CapabilitySession — a private asyncio loop thread owning CapabilityManager/JobQueue/SegmentProbe, resolving to the shell through queued Signals. Audio = QMediaPlayer.

## Modules

- **`cjm_transcription_qt.__init__`** — Qt shell for the transcription-workflow setup app — the first workflow TUI on the PySide6 lane (DEC dcf8a712).
- **`cjm_transcription_qt.app`** — The Qt transcription-workflow shell: the same three-stage run setup as the
- **`cjm_transcription_qt.capability_session`** — One capability stack behind a private asyncio loop thread — the jobs+progress
- **`cjm_transcription_qt.cli`** — Console-script driver for the Qt shell: the SAME argument surface,
- **`cjm_transcription_qt.panes`** — Pure row/label builders for the Qt shell — the paint logic, Qt-free.

## API

### `cjm_transcription_qt.app`

- `TranscriptionWindow` _class_ — Run-setup window; exit with `plan` set = the CLI hands off headless.

### `cjm_transcription_qt.capability_session`

- `CapabilitySession` _class_ — The loop-thread seat for one comparison stack.

### `cjm_transcription_qt.cli`

- `main` _function_ — Resolve the shared setup surface, run the Qt setup window, hand off.

### `cjm_transcription_qt.panes`

- `candidate_rows` _function_ — Manifest-derived (capability, MODEL) space: group-header rows interleave
- `compare_header` _function_ — Source name + segment position + the preprocessing A/B state.
- `compare_rows` _function_ — One row per candidate: L/A marks, char count, CR-7 profile numbers.
- `config_header` _function_
- `config_rows` _function_ — One row per config field: modified star, title, current value.
- `cwd_label` _function_ — The header line above the listing (HTML: bold path + bookmark star).
- `drill_header` _function_ — Run id + transcribers + the collection convergence audit (d544e250):
- `drill_source_rows` _function_ — One row per source of a drilled run, chain + diarization outcome
- `entry_rows` _function_ — One row per browser entry: pick state, dir slash, bookmark star, and the
- `run_rows` _function_ — Past runs newest-first: id, timestamp, source count, transcribers.
- `segment_text` _function_ — A drilled segment as PLAIN text: header line, then one block per
- `selection_html` _function_ — The Selected block + Collection line (ae3464fc) as one HTML fragment.

## Dependencies

**Depends on:** `PySide6`, `cjm-substrate`, `cjm-substrate-qt-kit`, `cjm-substrate-tui-kit`, `cjm-transcription-core`
