cjm-transcript-decomp-core 0.0.5__tar.gz → 0.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. {cjm_transcript_decomp_core-0.0.5/cjm_transcript_decomp_core.egg-info → cjm_transcript_decomp_core-0.0.9}/PKG-INFO +60 -5
  2. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/README.md +57 -3
  3. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/__init__.py +1 -0
  4. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/alignment.py +442 -0
  5. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core/cli.py +37 -0
  6. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/discovery.py +55 -0
  7. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/launch.py +297 -0
  8. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core/models.py +17 -1
  9. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core/pipeline.py +226 -19
  10. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/runs.py +390 -0
  11. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/segments.py +452 -0
  12. cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core/state.py +35 -0
  13. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9/cjm_transcript_decomp_core.egg-info}/PKG-INFO +60 -5
  14. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core.egg-info/SOURCES.txt +8 -1
  15. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core.egg-info/requires.txt +2 -1
  16. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/pyproject.toml +1 -1
  17. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/tests/test_alignment.py +111 -0
  18. cjm_transcript_decomp_core-0.0.9/tests/test_batch_logic.py +426 -0
  19. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/tests/test_models.py +11 -1
  20. cjm_transcript_decomp_core-0.0.9/tests/test_pipeline.py +247 -0
  21. cjm_transcript_decomp_core-0.0.9/tests/test_segment_logic.py +152 -0
  22. cjm_transcript_decomp_core-0.0.5/cjm_transcript_decomp_core/__init__.py +0 -1
  23. cjm_transcript_decomp_core-0.0.5/cjm_transcript_decomp_core/alignment.py +0 -257
  24. cjm_transcript_decomp_core-0.0.5/tests/test_pipeline.py +0 -117
  25. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/LICENSE +0 -0
  26. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/MANIFEST.in +0 -0
  27. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core/graph.py +0 -0
  28. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core.egg-info/dependency_links.txt +0 -0
  29. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core.egg-info/entry_points.txt +0 -0
  30. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/cjm_transcript_decomp_core.egg-info/top_level.txt +0 -0
  31. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/setup.cfg +0 -0
  32. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/tests/test_cli.py +0 -0
  33. {cjm_transcript_decomp_core-0.0.5 → cjm_transcript_decomp_core-0.0.9}/tests/test_graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cjm-transcript-decomp-core
3
- Version: 0.0.5
3
+ Version: 0.0.9
4
4
  Summary: A frontend-agnostic core for the transcript decomposition workflow — composes isolated capability workers (forced alignment, VAD, graph storage) into a headless pipeline that decomposes transcription run manifests into a VAD-aligned context-graph spine with traceable provenance, and a CLI as its first driver.
5
5
  Author-email: "Christian J. Mills" <9126128+cj-mills@users.noreply.github.com>
6
6
  License: Apache-2.0
@@ -10,7 +10,8 @@ Classifier: Programming Language :: Python :: 3 :: Only
10
10
  Requires-Python: >=3.12
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: cjm_substrate>=0.0.57
13
+ Requires-Dist: cjm_substrate>=0.0.63
14
+ Requires-Dist: pyyaml
14
15
  Requires-Dist: cjm_context_graph_primitives>=0.0.15
15
16
  Requires-Dist: cjm_capability_primitives>=0.0.11
16
17
  Requires-Dist: cjm-context-graph-layer>=0.0.11
@@ -25,11 +26,17 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
25
26
 
26
27
  ## Modules
27
28
 
29
+ - **`cjm_transcript_decomp_core`**
28
30
  - **`cjm_transcript_decomp_core.alignment`** — Pure forced-alignment logic (no capability calls): map FA words back to character spans in the original text, assign words to VAD chunks by timestamp, and build one text segment per VAD chunk. Extracted from the page-centric ForcedAlignmentService (Tier-1 logic).
29
31
  - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend.
32
+ - **`cjm_transcript_decomp_core.discovery`** — Capability-role discovery by manifest surface match — the journaling-by-
30
33
  - **`cjm_transcript_decomp_core.graph`** — Graph-spine EXTENSION + skeptical-lens verification (stage 5, CR-18 revolution 2). Decomp no longer creates a Document: it RECOMPUTES the transcription-emitted root's deterministic node ids from the consumed manifest (no search), verifies the root exists, and attaches the fine Segment spine under the existing AudioSegment nodes — PART_OF to the owning rendition, STARTS_WITH per rendition (the coarse-seam jump anchor), source-wide NEXT. Each Segment carries the audio TimeSlice ref plus per-transcriber CharSlice refs into the Transcript nodes (the D4/P10 framing, finally expressible). Commit goes through the layer's idempotent extend_graph.
34
+ - **`cjm_transcript_decomp_core.launch`** — The shared launch surface every decomp shell drives through: the argument
31
35
  - **`cjm_transcript_decomp_core.models`** — Lean data shapes for the transcript-decomposition pipeline: in-core mirrors of the forced-alignment / VAD / text DTOs (no FastHTML deps), run configuration, the committed graph-segment carrier, and the decomposition run manifest (proto-bundle).
32
36
  - **`cjm_transcript_decomp_core.pipeline`** — The headless decomposition pipeline (stage 5: decomp is an EXTENDER). Load a transcription run manifest, verify the transcription-emitted graph root exists (the graph begins at transcription), then per source per pipeline-segment run VAD + per-transcriber forced alignment, build one aligned segment per VAD chunk with per-transcriber text variants, and attach the fine spine under the existing AudioSegment nodes via the layer's idempotent extend_graph — with HITL approval seams between alignment, commit, and the next source.
37
+ - **`cjm_transcript_decomp_core.runs`** — Run-manifest indexes for the decomp-batch TUI (work item 0ff6bf0f): the
38
+ - **`cjm_transcript_decomp_core.segments`** — Fine-segment inspection for the decomp TUI (work item 166dd2b8, half a):
39
+ - **`cjm_transcript_decomp_core.state`** — Sidecar TUI state: last-used batch settings persisted across sessions (the
33
40
 
34
41
  ## API
35
42
 
@@ -37,7 +44,9 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
37
44
 
38
45
  - `assign_words_to_chunks` _function_ — Assign each FA word to a VAD chunk by timestamp overlap.
39
46
  - `build_segments_from_alignment` _function_ — Build a TextSegment per VAD chunk by grouping words by chunk assignment.
47
+ - `carve_chunks_at_event_spans` _function_ — The event-carve stage (EVENT_SPLIT_POLICY, respine trial DEC 6cc10fb7):
40
48
  - `map_fa_words_to_text` _function_ — Map forced-alignment words back to character spans in the original text.
49
+ - `rescue_gap_words` _function_ — The word-rescue stage (WORD_RESCUE_POLICY, 96edc646 verdict bc7ece7b):
41
50
  - `sentence_end_word_indices` _function_ — Map capability-delivered sentence boundaries onto FA words (B.5: the
42
51
  - `split_chunks_at_sentence_gaps` _function_ — The sentence-split stage (SENTENCE_SPLIT_POLICY, DEC f1024568): refine the
43
52
  - `tier1_alignment_checks` _function_ — Tier-1 deterministic pre-filters for the alignment-review seam (no AI).
@@ -49,6 +58,11 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
49
58
  - `main` _function_ — CLI entry point (console script: `cjm-transcript-decomp-core`).
50
59
  - `run_command` _function_ — Execute the `run` subcommand: extend transcription-run manifest(s) with the fine spine.
51
60
 
61
+ ### `cjm_transcript_decomp_core.discovery`
62
+
63
+ - `discover_capability` _function_ — Pick a DEFAULT capability for a role by surface match.
64
+ - `manifests_with_method` _function_ — Enumerate installed capabilities whose structural surface lists `method`.
65
+
52
66
  ### `cjm_transcript_decomp_core.graph`
53
67
 
54
68
  - `SourceVerification` _class_ — Skeptical-lens verification of one Source's fine-spine extension under a
@@ -56,6 +70,15 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
56
70
  - `resolve_root_ids` _function_ — Recompute the transcription-emitted root node ids from manifest data.
57
71
  - `verify_source` _function_ — Verify a Source's committed extension via server-side AGGREGATES (D13/D19).
58
72
 
73
+ ### `cjm_transcript_decomp_core.launch`
74
+
75
+ - `batch_argv` _function_ — Render one hand-off group as headless decomp-core argv.
76
+ - `build_parser` _function_ — The TUI driver's argument surface (batch-setup options + core passthrough).
77
+ - `event_split_batch_error` _function_ — One propset carves ONE source: the core applies --event-propset to every
78
+ - `hand_off` _function_ — The shared driver tail: persist the confirmed choices, adopt the in-app
79
+ - `resolve_settings` _function_ — Resolve the batch-setup settings every shell shares (flags > persisted
80
+ - `resolve_split_flags` _function_ — Resolve the post-parse split-flag contract (pure; main() calls it
81
+
59
82
  ### `cjm_transcript_decomp_core.models`
60
83
 
61
84
  - `DecompConfig` _class_ — Configuration for one transcript-decomposition run.
@@ -72,18 +95,50 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
72
95
 
73
96
  - `build_alignment_composition` _function_ — Build the whole-source M×(VAD ∥ T×FA ∥ SEG) composition (D8 fan-in, stage-5 variants).
74
97
  - `collect_capability_info` _function_ — Record capability identity + data-DB pointers for the run manifest (provenance).
75
- - `compute_skeleton_hash` _function_ — Skeleton identity, pure (DEC f1024568 + 9241564f).
98
+ - `compute_skeleton_hash` _function_ — Skeleton identity, pure (DEC f1024568 + 9241564f + 6cc10fb7).
76
99
  - `confirm_seam` _function_ — HITL approval seam in its cheapest viable form (log + optional CLI prompt).
77
100
  - `decomp_replay_handlers` _function_ — The decomp core's replay vocabulary (DEC 426658f1, replay stays DOMAIN-OWNED).
78
101
  - `decompose_source` _function_ — Decompose one source into aligned fine segments with per-transcriber variants.
102
+ - `event_spans_from_propset` _function_ — Load a proposal set BY POINTER and select its carve spans (respine trial
79
103
  - `fa_words_from_result` _function_ — Normalize a typed forced-alignment result into FA words (pure; stage 3).
80
104
  - `load_source_manifest` _function_ — Load + lightly validate a transcription-core run manifest.
105
+ - `resolve_event_propsets` _function_ — Join each proposal set to ITS source by the set manifest's own source
81
106
  - `run_decomp` _function_ — Extend every source in a transcription run manifest with its fine spine.
82
107
  - `sentence_spans_from_result` _function_ — Normalize a typed sentence-segmentation result into char-span tuples (pure; B.5).
83
108
  - `submit_and_wait` _function_ — Submit one capability job, wait for it, and return its result (raise on failure).
84
109
  - `vad_chunks_from_result` _function_ — Normalize a typed VAD result into segment-local VAD chunks.
85
110
 
111
+ ### `cjm_transcript_decomp_core.runs`
112
+
113
+ - `DecompIndex` _class_ — Decomp-core run manifests read back: coverage chips for the batch stage
114
+ - `PropsetIndex` _class_ — Proposal-set manifests under the workspace proposals/ dir — the model's
115
+ - `SourceRunIndex` _class_ — Transcription-core run manifests — the decomp workflow's SOURCES — plus
116
+ - `TrainingRunIndex` _class_ — Training-run manifests under the workspace training-runs/ dir — the
117
+ - `group_batches` _function_ — Fold an ordered batch selection into headless hand-off groups.
118
+
119
+ ### `cjm_transcript_decomp_core.segments`
120
+
121
+ - `SegmentStack` _class_ — One lazily-opened READ-ONLY graph seat, keyed by db path.
122
+ - `aseg_index_for` _function_ — Which coarse AudioSegment a source-coordinate time falls in (pure;
123
+ - `build_display` _function_ — Interleave gap markers into the paintable entry list (pure).
124
+ - `capability_config_schema` _function_ — A capability's config_schema off its installed manifest (json read, pure).
125
+ - `find_gaps` _function_ — Uncovered timestamp spans between committed segments (pure).
126
+ - `fmt_ts` _function_ — Source-coordinate timestamp for listing rows (pure).
127
+ - `locate_span` _function_ — Resolve a source-coordinate span onto its owning coarse WAV (pure).
128
+ - `ordered_rows` _function_ — Re-impose the manifest's spine order on fetched rows (pure).
129
+ - `predicted_rows` _function_ — Synthesize segment-shaped rows for a probe's predicted skeleton (pure).
130
+ - `probe_compare` _function_ — Compare a VAD probe against the committed skeleton (pure).
131
+ - `realign_rows` _function_ — Re-run the decomp pipeline's own text fold over a PROBE skeleton (pure).
132
+ - `split_predicted` _function_ — Run the decomp pipeline's own SENTENCE-SPLIT stage over a probe skeleton
133
+ - `vad_summary` _function_ — The decomp run's recorded VAD config, one status line (pure).
134
+
135
+ ### `cjm_transcript_decomp_core.state`
136
+
137
+ - `load_state` _function_ — Read this project's persisted TUI state.
138
+ - `save_state` _function_ — Merge updates into the persisted state and write it back (best-effort:
139
+ - `state_path` _function_ — Where this project's TUI state lives.
140
+
86
141
  ## Dependencies
87
142
 
88
- **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`
89
- **Used by:** `cjm-transcript-decomp-tui`
143
+ **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`, `pyyaml`
144
+ **Used by:** `cjm-transcript-decomp-qt`, `cjm-transcript-decomp-tui`
@@ -6,11 +6,17 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
6
6
 
7
7
  ## Modules
8
8
 
9
+ - **`cjm_transcript_decomp_core`**
9
10
  - **`cjm_transcript_decomp_core.alignment`** — Pure forced-alignment logic (no capability calls): map FA words back to character spans in the original text, assign words to VAD chunks by timestamp, and build one text segment per VAD chunk. Extracted from the page-centric ForcedAlignmentService (Tier-1 logic).
10
11
  - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend.
12
+ - **`cjm_transcript_decomp_core.discovery`** — Capability-role discovery by manifest surface match — the journaling-by-
11
13
  - **`cjm_transcript_decomp_core.graph`** — Graph-spine EXTENSION + skeptical-lens verification (stage 5, CR-18 revolution 2). Decomp no longer creates a Document: it RECOMPUTES the transcription-emitted root's deterministic node ids from the consumed manifest (no search), verifies the root exists, and attaches the fine Segment spine under the existing AudioSegment nodes — PART_OF to the owning rendition, STARTS_WITH per rendition (the coarse-seam jump anchor), source-wide NEXT. Each Segment carries the audio TimeSlice ref plus per-transcriber CharSlice refs into the Transcript nodes (the D4/P10 framing, finally expressible). Commit goes through the layer's idempotent extend_graph.
14
+ - **`cjm_transcript_decomp_core.launch`** — The shared launch surface every decomp shell drives through: the argument
12
15
  - **`cjm_transcript_decomp_core.models`** — Lean data shapes for the transcript-decomposition pipeline: in-core mirrors of the forced-alignment / VAD / text DTOs (no FastHTML deps), run configuration, the committed graph-segment carrier, and the decomposition run manifest (proto-bundle).
13
16
  - **`cjm_transcript_decomp_core.pipeline`** — The headless decomposition pipeline (stage 5: decomp is an EXTENDER). Load a transcription run manifest, verify the transcription-emitted graph root exists (the graph begins at transcription), then per source per pipeline-segment run VAD + per-transcriber forced alignment, build one aligned segment per VAD chunk with per-transcriber text variants, and attach the fine spine under the existing AudioSegment nodes via the layer's idempotent extend_graph — with HITL approval seams between alignment, commit, and the next source.
17
+ - **`cjm_transcript_decomp_core.runs`** — Run-manifest indexes for the decomp-batch TUI (work item 0ff6bf0f): the
18
+ - **`cjm_transcript_decomp_core.segments`** — Fine-segment inspection for the decomp TUI (work item 166dd2b8, half a):
19
+ - **`cjm_transcript_decomp_core.state`** — Sidecar TUI state: last-used batch settings persisted across sessions (the
14
20
 
15
21
  ## API
16
22
 
@@ -18,7 +24,9 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
18
24
 
19
25
  - `assign_words_to_chunks` _function_ — Assign each FA word to a VAD chunk by timestamp overlap.
20
26
  - `build_segments_from_alignment` _function_ — Build a TextSegment per VAD chunk by grouping words by chunk assignment.
27
+ - `carve_chunks_at_event_spans` _function_ — The event-carve stage (EVENT_SPLIT_POLICY, respine trial DEC 6cc10fb7):
21
28
  - `map_fa_words_to_text` _function_ — Map forced-alignment words back to character spans in the original text.
29
+ - `rescue_gap_words` _function_ — The word-rescue stage (WORD_RESCUE_POLICY, 96edc646 verdict bc7ece7b):
22
30
  - `sentence_end_word_indices` _function_ — Map capability-delivered sentence boundaries onto FA words (B.5: the
23
31
  - `split_chunks_at_sentence_gaps` _function_ — The sentence-split stage (SENTENCE_SPLIT_POLICY, DEC f1024568): refine the
24
32
  - `tier1_alignment_checks` _function_ — Tier-1 deterministic pre-filters for the alignment-review seam (no AI).
@@ -30,6 +38,11 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
30
38
  - `main` _function_ — CLI entry point (console script: `cjm-transcript-decomp-core`).
31
39
  - `run_command` _function_ — Execute the `run` subcommand: extend transcription-run manifest(s) with the fine spine.
32
40
 
41
+ ### `cjm_transcript_decomp_core.discovery`
42
+
43
+ - `discover_capability` _function_ — Pick a DEFAULT capability for a role by surface match.
44
+ - `manifests_with_method` _function_ — Enumerate installed capabilities whose structural surface lists `method`.
45
+
33
46
  ### `cjm_transcript_decomp_core.graph`
34
47
 
35
48
  - `SourceVerification` _class_ — Skeptical-lens verification of one Source's fine-spine extension under a
@@ -37,6 +50,15 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
37
50
  - `resolve_root_ids` _function_ — Recompute the transcription-emitted root node ids from manifest data.
38
51
  - `verify_source` _function_ — Verify a Source's committed extension via server-side AGGREGATES (D13/D19).
39
52
 
53
+ ### `cjm_transcript_decomp_core.launch`
54
+
55
+ - `batch_argv` _function_ — Render one hand-off group as headless decomp-core argv.
56
+ - `build_parser` _function_ — The TUI driver's argument surface (batch-setup options + core passthrough).
57
+ - `event_split_batch_error` _function_ — One propset carves ONE source: the core applies --event-propset to every
58
+ - `hand_off` _function_ — The shared driver tail: persist the confirmed choices, adopt the in-app
59
+ - `resolve_settings` _function_ — Resolve the batch-setup settings every shell shares (flags > persisted
60
+ - `resolve_split_flags` _function_ — Resolve the post-parse split-flag contract (pure; main() calls it
61
+
40
62
  ### `cjm_transcript_decomp_core.models`
41
63
 
42
64
  - `DecompConfig` _class_ — Configuration for one transcript-decomposition run.
@@ -53,18 +75,50 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
53
75
 
54
76
  - `build_alignment_composition` _function_ — Build the whole-source M×(VAD ∥ T×FA ∥ SEG) composition (D8 fan-in, stage-5 variants).
55
77
  - `collect_capability_info` _function_ — Record capability identity + data-DB pointers for the run manifest (provenance).
56
- - `compute_skeleton_hash` _function_ — Skeleton identity, pure (DEC f1024568 + 9241564f).
78
+ - `compute_skeleton_hash` _function_ — Skeleton identity, pure (DEC f1024568 + 9241564f + 6cc10fb7).
57
79
  - `confirm_seam` _function_ — HITL approval seam in its cheapest viable form (log + optional CLI prompt).
58
80
  - `decomp_replay_handlers` _function_ — The decomp core's replay vocabulary (DEC 426658f1, replay stays DOMAIN-OWNED).
59
81
  - `decompose_source` _function_ — Decompose one source into aligned fine segments with per-transcriber variants.
82
+ - `event_spans_from_propset` _function_ — Load a proposal set BY POINTER and select its carve spans (respine trial
60
83
  - `fa_words_from_result` _function_ — Normalize a typed forced-alignment result into FA words (pure; stage 3).
61
84
  - `load_source_manifest` _function_ — Load + lightly validate a transcription-core run manifest.
85
+ - `resolve_event_propsets` _function_ — Join each proposal set to ITS source by the set manifest's own source
62
86
  - `run_decomp` _function_ — Extend every source in a transcription run manifest with its fine spine.
63
87
  - `sentence_spans_from_result` _function_ — Normalize a typed sentence-segmentation result into char-span tuples (pure; B.5).
64
88
  - `submit_and_wait` _function_ — Submit one capability job, wait for it, and return its result (raise on failure).
65
89
  - `vad_chunks_from_result` _function_ — Normalize a typed VAD result into segment-local VAD chunks.
66
90
 
91
+ ### `cjm_transcript_decomp_core.runs`
92
+
93
+ - `DecompIndex` _class_ — Decomp-core run manifests read back: coverage chips for the batch stage
94
+ - `PropsetIndex` _class_ — Proposal-set manifests under the workspace proposals/ dir — the model's
95
+ - `SourceRunIndex` _class_ — Transcription-core run manifests — the decomp workflow's SOURCES — plus
96
+ - `TrainingRunIndex` _class_ — Training-run manifests under the workspace training-runs/ dir — the
97
+ - `group_batches` _function_ — Fold an ordered batch selection into headless hand-off groups.
98
+
99
+ ### `cjm_transcript_decomp_core.segments`
100
+
101
+ - `SegmentStack` _class_ — One lazily-opened READ-ONLY graph seat, keyed by db path.
102
+ - `aseg_index_for` _function_ — Which coarse AudioSegment a source-coordinate time falls in (pure;
103
+ - `build_display` _function_ — Interleave gap markers into the paintable entry list (pure).
104
+ - `capability_config_schema` _function_ — A capability's config_schema off its installed manifest (json read, pure).
105
+ - `find_gaps` _function_ — Uncovered timestamp spans between committed segments (pure).
106
+ - `fmt_ts` _function_ — Source-coordinate timestamp for listing rows (pure).
107
+ - `locate_span` _function_ — Resolve a source-coordinate span onto its owning coarse WAV (pure).
108
+ - `ordered_rows` _function_ — Re-impose the manifest's spine order on fetched rows (pure).
109
+ - `predicted_rows` _function_ — Synthesize segment-shaped rows for a probe's predicted skeleton (pure).
110
+ - `probe_compare` _function_ — Compare a VAD probe against the committed skeleton (pure).
111
+ - `realign_rows` _function_ — Re-run the decomp pipeline's own text fold over a PROBE skeleton (pure).
112
+ - `split_predicted` _function_ — Run the decomp pipeline's own SENTENCE-SPLIT stage over a probe skeleton
113
+ - `vad_summary` _function_ — The decomp run's recorded VAD config, one status line (pure).
114
+
115
+ ### `cjm_transcript_decomp_core.state`
116
+
117
+ - `load_state` _function_ — Read this project's persisted TUI state.
118
+ - `save_state` _function_ — Merge updates into the persisted state and write it back (best-effort:
119
+ - `state_path` _function_ — Where this project's TUI state lives.
120
+
67
121
  ## Dependencies
68
122
 
69
- **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`
70
- **Used by:** `cjm-transcript-decomp-tui`
123
+ **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`, `pyyaml`
124
+ **Used by:** `cjm-transcript-decomp-qt`, `cjm-transcript-decomp-tui`
@@ -0,0 +1 @@
1
+ __version__ = "0.0.9"