cjm-transcript-correction-core 0.0.6__tar.gz → 0.0.30__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.
- {cjm_transcript_correction_core-0.0.6/cjm_transcript_correction_core.egg-info → cjm_transcript_correction_core-0.0.30}/PKG-INFO +105 -5
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/README.md +100 -3
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/__init__.py +1 -0
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/cleanread.py +220 -0
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/cli.py +3293 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/graph.py +403 -40
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/journal.py +4 -2
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/models.py +84 -3
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/pipeline.py +10 -6
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/respine_transfer.py +243 -0
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/signals.py +684 -0
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/spans.py +868 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/spine.py +166 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/state.py +6 -2
- cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core/strata.py +1076 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30/cjm_transcript_correction_core.egg-info}/PKG-INFO +105 -5
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core.egg-info/SOURCES.txt +10 -1
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core.egg-info/entry_points.txt +3 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core.egg-info/requires.txt +5 -1
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/pyproject.toml +7 -1
- cjm_transcript_correction_core-0.0.30/tests/test_cleanread.py +134 -0
- cjm_transcript_correction_core-0.0.30/tests/test_cli.py +249 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_gestures.py +50 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_graph.py +153 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_journal.py +34 -1
- cjm_transcript_correction_core-0.0.30/tests/test_respine_transfer.py +175 -0
- cjm_transcript_correction_core-0.0.30/tests/test_signals.py +190 -0
- cjm_transcript_correction_core-0.0.30/tests/test_spans.py +408 -0
- cjm_transcript_correction_core-0.0.30/tests/test_speaker_picker.py +106 -0
- cjm_transcript_correction_core-0.0.30/tests/test_strata.py +587 -0
- cjm_transcript_correction_core-0.0.6/cjm_transcript_correction_core/__init__.py +0 -1
- cjm_transcript_correction_core-0.0.6/cjm_transcript_correction_core/cli.py +0 -1581
- cjm_transcript_correction_core-0.0.6/cjm_transcript_correction_core/signals.py +0 -341
- cjm_transcript_correction_core-0.0.6/tests/test_cli.py +0 -132
- cjm_transcript_correction_core-0.0.6/tests/test_signals.py +0 -90
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/LICENSE +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/MANIFEST.in +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core/launch.py +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core.egg-info/dependency_links.txt +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/cjm_transcript_correction_core.egg-info/top_level.txt +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/setup.cfg +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_bench.py +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_models.py +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_pipeline.py +0 -0
- {cjm_transcript_correction_core-0.0.6 → cjm_transcript_correction_core-0.0.30}/tests/test_state.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cjm-transcript-correction-core
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.30
|
|
4
4
|
Summary: A frontend-agnostic core for the transcript correction workflow — the first downstream graph-extension core; composes the graph-storage capability worker into a headless pipeline that applies unified, non-destructive corrections (text, punctuation, segmentation) as a supersede-able overlay on a committed decomposition spine, recomputes the review worklist from deterministic signals, and exposes 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
|
|
@@ -14,8 +14,11 @@ Requires-Dist: cjm_substrate>=0.0.61
|
|
|
14
14
|
Requires-Dist: cjm_context_graph_primitives>=0.0.15
|
|
15
15
|
Requires-Dist: cjm-capability-primitives>=0.0.12
|
|
16
16
|
Requires-Dist: cjm-context-graph-layer>=0.0.11
|
|
17
|
-
Requires-Dist: cjm-transcript-graph-schema>=0.0.
|
|
17
|
+
Requires-Dist: cjm-transcript-graph-schema>=0.0.11
|
|
18
18
|
Requires-Dist: numpy
|
|
19
|
+
Provides-Extra: test
|
|
20
|
+
Requires-Dist: soundfile; extra == "test"
|
|
21
|
+
Requires-Dist: pytest; extra == "test"
|
|
19
22
|
Dynamic: license-file
|
|
20
23
|
|
|
21
24
|
# cjm-transcript-correction-core
|
|
@@ -26,36 +29,65 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
26
29
|
|
|
27
30
|
## Modules
|
|
28
31
|
|
|
29
|
-
- **`cjm_transcript_correction_core`**
|
|
32
|
+
- **`cjm_transcript_correction_core.__init__`**
|
|
33
|
+
- **`cjm_transcript_correction_core.cleanread`** — The clean read — L1 of the reading ladder (design 6752db0a; the subtraction
|
|
30
34
|
- **`cjm_transcript_correction_core.cli`** — The CLI driver — the correction core's first (and currently only) frontend. run <decomp-manifest> corrects the committed spine in the decomp graph DB, pointing the graph worker at that shared DB via load-time config, with optional session resume/reopen; review runs the interactive text-correction loop (the cross-transcriber diff is intra-graph since stage 5).
|
|
31
35
|
- **`cjm_transcript_correction_core.graph`** — The correction overlay's graph I/O: targeted (scale-shaped) reads of a committed spine via the graph-storage query action, construction of Correction / CorrectionSession nodes + CORRECTS / SUPERSEDES / DERIVED_FROM / REVIEWED edges, the in-core effective-spine projection (layer-0 + applied corrections), and commit through the job queue. Hand-rolled (revolution-1) = direct CR-18 spec material; append-only on layer-0 (never update/delete a Segment).
|
|
32
36
|
- **`cjm_transcript_correction_core.journal`** — Live append-through for the correction verbs — the workflow journal's domain half.
|
|
33
37
|
- **`cjm_transcript_correction_core.launch`** — The shared launch surface every correction shell drives through: the
|
|
34
38
|
- **`cjm_transcript_correction_core.models`** — Overlay data shapes for the transcript-correction workflow: the Correction / CorrectionSession graph nodes + their relation registry, the read view of a committed spine segment, the worklist item, run configuration, and the correction run manifest (proto-bundle that chains decomp -> correction).
|
|
35
39
|
- **`cjm_transcript_correction_core.pipeline`** — The headless correction workflow: load a decomp run manifest, resolve the shared graph DB, start/resume/reopen a CorrectionSession, recompute the worklist from deterministic signals + persisted review state, run the D14 empty-segment prune (first operation), and record a chainable correction run manifest — with a cheapest-form HITL approval seam.
|
|
40
|
+
- **`cjm_transcript_correction_core.respine_transfer`** — The chunk-scoped transfer a chunk respine calls (work item 7a5e9c84; ruling 0b4d5cfa (5),
|
|
36
41
|
- **`cjm_transcript_correction_core.signals`** — Pure deterministic Tier-1 signal functions (no capability calls): empty-segment detection, bidirectional boundary punctuation/capitalization heuristics, forced-alignment coverage flags, positional cross-transcriber diff, phonetic + edit-distance variant clustering, and the event-proposal overlay (leg 4: the finetuned detector's spans anchored onto the spine). The worklist is recomputed from these each session; revolution-1 builds ZERO new capabilities.
|
|
42
|
+
- **`cjm_transcript_correction_core.spans`** — Spans — the overlay-proposal lane's domain half (design bbf8bafd, extending the
|
|
37
43
|
- **`cjm_transcript_correction_core.spine`**
|
|
38
44
|
- **`cjm_transcript_correction_core.state`** — Sidecar view-state + spine-picker helpers — the correction TUI's pure
|
|
45
|
+
- **`cjm_transcript_correction_core.strata`** — Strata — the filtering lane's domain half (DECs 304fd984 + 9d4c0a38; work items
|
|
39
46
|
|
|
40
47
|
## API
|
|
41
48
|
|
|
49
|
+
### `cjm_transcript_correction_core.cleanread`
|
|
50
|
+
|
|
51
|
+
- `clean_read` _function_ — L1 — the clean read (pure). Kept lines in spine order; each carries its
|
|
52
|
+
- `clean_read_pack_read` _function_ — The `read` record an L1 pack carries: the layer, the marker, the
|
|
53
|
+
- `clean_read_segments` _function_ — Project the clean read back onto SpineSegments (clean text, same
|
|
54
|
+
- `clean_read_summary` _function_
|
|
55
|
+
- `repeat_survivor` _function_ — Locate the last repeating unit of a word-repeat span (pure): the
|
|
56
|
+
- `subtract_spans` _function_ — Cut the ranges out of the text, leaving `marker` at each seam (pure).
|
|
57
|
+
|
|
42
58
|
### `cjm_transcript_correction_core.cli`
|
|
43
59
|
|
|
60
|
+
- `attention_command` _function_ — Execute `attention`: the walk-lane ATTENTION TIER (item 3758f6cb, ruling f400d2c3)
|
|
44
61
|
- `bench_command` _function_ — Execute the `bench` subcommand: the reserved-tail verdict join.
|
|
45
62
|
- `build_parser` _function_ — Build the CLI parser (subcommands: run, review).
|
|
63
|
+
- `commit_wordless_transfer` _function_ — COMMIT a planned transfer — the engine's second half. One
|
|
46
64
|
- `export_command` _function_ — Execute `export-wordless-propset`: write one spine's effective wordless
|
|
47
65
|
- `extract_command` _function_ — Execute the `extract` subcommand: fold the gated overlay into a manifested dataset.
|
|
66
|
+
- `filter_confirm_command` _function_ — Execute `filter-confirm`: the HEADLESS HITL worklist (bc8dbbdd pass-1
|
|
67
|
+
- `filter_ingest_command` _function_ — Execute `filter-ingest`: validate proposer rows against their pack and
|
|
68
|
+
- `filter_merge_command` _function_ — Execute `filter-merge`: fold several proposal sets over one spine into
|
|
69
|
+
- `filter_pack_command` _function_ — Execute `filter-pack`: write one spine window's effective text-bearing
|
|
48
70
|
- `gate_command` _function_ — Execute the `gate` subcommand: show or assert per-spine extraction gates.
|
|
49
71
|
- `load_capabilities` _function_ — Discover manifests + load each capability, passing per-capability config (CR-2 caller-wins).
|
|
50
72
|
- `main` _function_ — CLI entry point (console script: `cjm-transcript-correction-core`).
|
|
51
73
|
- `overlay_event_rows` _function_ — Overlay span records -> dataset event rows for ONE spine (pure).
|
|
74
|
+
- `plan_transfer_rows` _function_ — Place wordless donors on the destination (pure) — the event half of
|
|
75
|
+
- `plan_wordless_export` _function_ — PLAN an export (reads only) — the `export-wordless-propset` engine's
|
|
76
|
+
- `plan_wordless_transfer` _function_ — PLAN a wordless transfer (reads only) — the `transfer-wordless`
|
|
77
|
+
- `resolve_source_node` _function_ — Resolve the --source selector the respine verbs share: exactly ONE
|
|
52
78
|
- `review_command` _function_ — Execute the `review` subcommand: interactive text corrections over the flagged worklist.
|
|
53
79
|
- `run_command` _function_ — Execute the `run` subcommand: correct a decomp manifest's committed spine.
|
|
54
80
|
- `run_extract` _function_ — The extract fold on an ALREADY-OPEN graph seat (flywheel build leg 2,
|
|
55
81
|
- `scan_command` _function_ — Execute `scan-mishomed`: flag authoritative FA words stranded outside
|
|
82
|
+
- `span_confirm_command` _function_ — Execute `span-confirm`: the HEADLESS HITL worklist over one span
|
|
83
|
+
- `span_ingest_command` _function_ — Execute `span-ingest`: resolve a proposer's quoted-word rows against
|
|
84
|
+
- `span_lexicon_command` _function_ — Execute `span-lexicon`: the pattern tier (design bbf8bafd (g)) — bare
|
|
85
|
+
- `span_merge_command` _function_ — Execute `span-merge`: fold several span sets over one spine into ONE
|
|
86
|
+
- `span_pack_command` _function_ — Execute `span-pack`: the filter pack's lines as a SPEECH-OVERLAY pack
|
|
56
87
|
- `stats_command` _function_ — Execute the `stats` subcommand: flywheel accounting over the shared graph.
|
|
57
|
-
- `transfer_command` _function_ — Execute `transfer-wordless`: replay wordless event inserts
|
|
88
|
+
- `transfer_command` _function_ — Execute `transfer-wordless`: replay wordless event inserts (and speaker-
|
|
58
89
|
- `wordless_donors` _function_ — The EFFECTIVE wordless layer of a spine: labeled, effectively wordless
|
|
90
|
+
- `write_wordless_propset` _function_ — WRITE a planned export as a proposal set — the engine's write half.
|
|
59
91
|
|
|
60
92
|
### `cjm_transcript_correction_core.graph`
|
|
61
93
|
|
|
@@ -63,6 +95,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
63
95
|
- `active_speaker_assignments` _function_ — Project the ACTIVE speaker assignment per segment (latest-wins).
|
|
64
96
|
- `active_speech_overlays` _function_ — The surviving speech-overlay corrections (supersession applied; pure).
|
|
65
97
|
- `aggregate_session_purposes` _function_ — Fold sessions into a per-source purpose mix (pure; d915d545 picker rung).
|
|
98
|
+
- `annotate_retired` _function_ — Mark spine rows with their retirement state (pure).
|
|
66
99
|
- `apply_chunk_inserts` _function_ — Synthesize inserted chunks into the effective spine (DEC 3d3fa2a8).
|
|
67
100
|
- `apply_time_nudges` _function_ — Apply timing corrections onto segment times (latest-wins per edge).
|
|
68
101
|
- `bench_event_proposals` _function_ — The reserved-tail bench join (leg 4, DECs 8e05b87b + 8cf12c22) — pure.
|
|
@@ -77,6 +110,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
77
110
|
- `build_reject_review` _function_ — Build a review Correction that REJECTS a prior correction (reject-as-supersede).
|
|
78
111
|
- `build_speaker_assign_correction` _function_ — Build a speaker Correction — the assignment op envelope (DEC d6df3a8e).
|
|
79
112
|
- `build_speech_overlay_correction` _function_ — Build a NON-MUTATING speech-overlay Correction (check fc42614d, DEC 4e05a066).
|
|
113
|
+
- `build_stratum_correction` _function_ — Build a NON-MUTATING stratum Correction (DECs 304fd984 + 9d4c0a38: the
|
|
80
114
|
- `build_text_correction` _function_ — Build a text_content Correction + its CORRECTS (+ optional SUPERSEDES) edges.
|
|
81
115
|
- `build_time_nudge_correction` _function_ — Build a timing Correction that nudges segment boundary TIMES (node + CORRECTS edges).
|
|
82
116
|
- `commit_boundary_shift_correction` _function_ — Commit a boundary-shift correction (node + CORRECTS x2 [+ SUPERSEDES]) + REVIEWED markers on both segments.
|
|
@@ -93,11 +127,15 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
93
127
|
- `commit_speaker_entity` _function_ — Mint a source-spanning Entity into the shared registry (DEC 4ec6a49c).
|
|
94
128
|
- `commit_speech_overlay_correction` _function_ — Commit a speech overlay (node + CORRECTS [+ SUPERSEDES]).
|
|
95
129
|
- `commit_speech_overlay_removal` _function_ — Remove a speech overlay WITHOUT a replacement (reject-as-supersede).
|
|
130
|
+
- `commit_stratum_correction` _function_ — Commit a stratum (node + CORRECTS per covered segment [+ SUPERSEDES]).
|
|
131
|
+
- `commit_stratum_retraction` _function_ — Retract a live stratum WITHOUT replacing it (reject-as-supersede, the
|
|
96
132
|
- `commit_text_correction` _function_ — Commit a text_content correction (node + CORRECTS [+ SUPERSEDES]) + a REVIEWED marker.
|
|
97
133
|
- `commit_time_nudge_correction` _function_ — Commit a time-nudge correction (node + CORRECTS per touched segment).
|
|
98
134
|
- `correction_stats` _function_ — Fold one Source's ACTIVE overlay into flywheel-accounting counts (pure).
|
|
99
135
|
- `corrections_to_edits` _function_ — Map this core's Correction payloads onto the layer's spine-edit vocabulary.
|
|
100
136
|
- `count_source_segments` _function_ — Count a Source's segments server-side under its chosen rendition + skeleton (typed count mode).
|
|
137
|
+
- `default_spine` _function_ — Which spine opens by default (pure; ruling a7617bd4 rule (c)): preference is a
|
|
138
|
+
- `discharge_mark` _function_ — Discharge an open mark BY THE CORRECTION THAT ADDRESSED IT — the closure
|
|
101
139
|
- `extract_spine_dataset` _function_ — Fold ONE spine's overlay into its v1 insert-span dataset slice (pure).
|
|
102
140
|
- `fa_words_for_transcript` _function_ — One transcript's FA words in source coordinates (the scan-mishomed join,
|
|
103
141
|
- `find_active_text_correction` _function_ — Single-segment convenience over the batch read (cross-session; latest wins).
|
|
@@ -130,6 +168,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
130
168
|
- `set_session_status` _function_ — Update a session's status + updated_at.
|
|
131
169
|
- `skeleton_hash_for` _function_ — Resolve a skeleton selector to the chosen spine's HASH (pure) — the gate's
|
|
132
170
|
- `source_audio_segment_ids` _function_ — The Source's coarse spine (one small typed read; ordered by index).
|
|
171
|
+
- `speaker_assignment_sources` _function_ — Where each speaker Entity has been assigned — the picker's COLLECTION
|
|
133
172
|
- `speech_overlay_spans` _function_ — Fold the ACTIVE speech overlays into extraction-facing span records (pure).
|
|
134
173
|
- `spine_where_for` _function_ — Resolve a skeleton selector against the observed spine set (pure).
|
|
135
174
|
- `start_session` _function_ — Create + commit a new CorrectionSession node.
|
|
@@ -173,8 +212,22 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
173
212
|
- `run_correction` _function_ — Correct every source in a decomp run manifest (prune + worklist surfacing).
|
|
174
213
|
- `run_review` _function_ — Interactive review pass over a decomp manifest's flagged worklist (text corrections).
|
|
175
214
|
|
|
215
|
+
### `cjm_transcript_correction_core.respine_transfer`
|
|
216
|
+
|
|
217
|
+
- `chunk_respine_transfer` _function_ — The registered chunk-scoped transfer (the entry point decomp-core discovers).
|
|
218
|
+
- `group_speaker_rows` _function_ — Fold per-segment rows into turn-shaped commits (pure): contiguous same-entity
|
|
219
|
+
- `live_neighbour` _function_ — The live segment right before the chunk — the flank a donor that starts before
|
|
220
|
+
- `load_segments_by_ids` _function_ — Segments by id — the ONE read that bypasses the live predicate on purpose: the
|
|
221
|
+
- `plan_speaker_carry` _function_ — Which new segment takes which speaker (pure; 4a7ec4f8 (2)/(3)): a segment whose
|
|
222
|
+
- `speaker_spans` _function_ — The per-span speaker map the carry reads (pure).
|
|
223
|
+
|
|
176
224
|
### `cjm_transcript_correction_core.signals`
|
|
177
225
|
|
|
226
|
+
- `attention_boundary_marks` _function_ — The boundary signals of the attention tier (item 3758f6cb signals 1+3 and the folded
|
|
227
|
+
- `attention_divergence_marks` _function_ — The two-transcriber disagreement signal of the attention tier (item 3758f6cb signal
|
|
228
|
+
- `attention_fa_marks` _function_ — The forced-alignment signals of the attention tier (item 3758f6cb signal 1), pure.
|
|
229
|
+
- `attention_marks` _function_ — Compose the attention tier (item 3758f6cb): every enabled signal's mark rows,
|
|
230
|
+
- `attention_speaker_marks` _function_ — The next-speaker-change landmark of the folded item 65791933, pure: `speaker-change`
|
|
178
231
|
- `boundary_punct_caps_flags` _function_ — Bidirectional boundary punctuation/capitalization heuristics (in-segment only).
|
|
179
232
|
- `cluster_variants` _function_ — Cluster word variants by phonetic key + edit distance (fix-one-fix-all).
|
|
180
233
|
- `compute_signal_flags` _function_ — Combine all deterministic Tier-1 signals into per-segment flags.
|
|
@@ -187,14 +240,36 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
187
240
|
- `speaker_turn_proposals` _function_ — Dominant diarization cluster per segment — the assign lane's proposal paint.
|
|
188
241
|
- `variant_divergence` _function_ — Within-segment cross-transcriber divergence (stage 5: intra-graph).
|
|
189
242
|
|
|
243
|
+
### `cjm_transcript_correction_core.spans`
|
|
244
|
+
|
|
245
|
+
- `bench_span_proposals` _function_ — Derive the span verdicts (design bbf8bafd (f), the bench_filter_proposals
|
|
246
|
+
- `build_span_pack` _function_ — Build the span proposer's input: the filter pack's numbered lines with
|
|
247
|
+
- `find_token_span` _function_ — Resolve quoted words to WHOLE word tokens of a line (pure): the quote is
|
|
248
|
+
- `is_span_pack` _function_
|
|
249
|
+
- `lexicon_span_rows` _function_ — The LEXICON TIER (design bbf8bafd (g)): a bare um / uh token is a
|
|
250
|
+
- `load_span_proposal_sets` _function_ — Every SPAN proposal set for a source (and optionally one spine), newest
|
|
251
|
+
- `locate_span_tokens` _function_ — Where a proposal's words sit on the CURRENT line, as a character range
|
|
252
|
+
- `merge_span_proposals` _function_ — Fold several SPAN sets over one spine into one walkable set — the
|
|
253
|
+
- `overlay_label_slate` _function_ — The slate a span pack carries: every label with its gloss and whether a
|
|
254
|
+
- `pending_span_proposals` _function_ — The headless worklist: proposals with NO active overlay carrying their id
|
|
255
|
+
- `render_span_pack` _function_ — Render a span pack as the brief a proposer reads: identity + window, the
|
|
256
|
+
- `render_span_propset_markdown` _function_ — Project a span set for a human: one line per proposal — tier, label,
|
|
257
|
+
- `segment_word_tokens` _function_
|
|
258
|
+
- `snap_span_proposal` _function_ — Resolve a proposal against the CURRENT line at accept (design bbf8bafd
|
|
259
|
+
- `span_proposals_from_rows` _function_ — Resolve validated rows to span proposal-set rows: proposal id, label
|
|
260
|
+
- `validate_span_rows` _function_ — Validate + resolve proposer rows against their span pack — loud on the
|
|
261
|
+
- `write_span_propset` _function_ — Write one SPAN proposal set — the filter set's layout under the span
|
|
262
|
+
|
|
190
263
|
### `cjm_transcript_correction_core.spine`
|
|
191
264
|
|
|
192
265
|
- `ChunkRef` _class_ — Where one Segment's VAD-chunk audio lives: the model-input WAV + the chunk-local span.
|
|
193
266
|
- `SeamRef` _class_ — A source-coordinate audio span across one fine-spine boundary (the g/G
|
|
194
267
|
- `SpineView` _class_ — One Source's effective correction spine, cursor-windowed for the TUI.
|
|
268
|
+
- `layer_speaker_menu` _function_ — Layer the assign-lane digit menu (pure; DEC 774dbe40). Tier 1 = the
|
|
195
269
|
- `list_sources` _function_ — Enumerate the graph's Source nodes (the discovery corpus, 2ce81638).
|
|
196
270
|
- `load_source_slice` _function_ — Decode a source-coordinate slice of the ORIGINAL media to playable samples.
|
|
197
271
|
- `match_sources` _function_ — The --source selector (pure; shared by direct open and the picker's seed).
|
|
272
|
+
- `match_speaker_query` _function_ — Narrow the registry by a typed query (pure; DEC 774dbe40 (4)). Rank 0 =
|
|
198
273
|
- `neighbor_word_bound` _function_ — The adjacent word's FA boundary facing an overlay span (pure).
|
|
199
274
|
- `open_stack` _function_ — Bootstrap the graph capability stack, resolving the db path (2ce81638).
|
|
200
275
|
- `parse_entity_input` _function_ — Parse the new-speaker editor line (pure). A leading `?` marks the entity
|
|
@@ -203,11 +278,13 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
203
278
|
- `plan_chunk_insert` _function_ — Plan a chunk insertion into the seam after the cursor (the i gesture unit; pure).
|
|
204
279
|
- `plan_chunk_split` _function_ — Plan a chunk split at a caret position (the S gesture unit; pure).
|
|
205
280
|
- `plan_gate` _function_ — Plan an extraction-gate assertion (the F gesture unit; pure — DEC 8e05b87b).
|
|
281
|
+
- `plan_split_rows` _function_ — Place speaker-split boundaries on a destination spine (pure) — the
|
|
206
282
|
- `plan_time_nudge` _function_ — Plan a boundary-time nudge (the ,/. and </> gesture unit; pure).
|
|
207
283
|
- `resolve_mark_class_token` _function_ — Resolve a leading digit token to its menu class (the M picker; pure).
|
|
208
284
|
- `segment_word_tokens` _function_ — Tokenize a segment's text into words WITH character offsets (pure).
|
|
209
285
|
- `snap_word_span` _function_ — Derive a word range's TIME span from FA word timestamps (pure; fc42614d).
|
|
210
286
|
- `source_status` _function_ — Correction-status-at-a-glance for one Source (the picker's detail row).
|
|
287
|
+
- `split_donors` _function_ — The SPEAKER-SPLIT layer of a spine (pure) — the DoD rider 54aac7d3 on
|
|
211
288
|
|
|
212
289
|
### `cjm_transcript_correction_core.state`
|
|
213
290
|
|
|
@@ -216,7 +293,30 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
216
293
|
- `selector_for_spine` _function_ — The selector value a picker choice persists (pure): the full skeleton
|
|
217
294
|
- `spine_label` _function_ — One picker row's config summary for a skeleton spine (pure).
|
|
218
295
|
|
|
296
|
+
### `cjm_transcript_correction_core.strata`
|
|
297
|
+
|
|
298
|
+
- `active_strata` _function_ — The live strata: stratum corrections neither superseded (reclassified /
|
|
299
|
+
- `bench_filter_proposals` _function_ — Derive the filtering verdicts (DEC 8e05b87b, the bench_event_proposals
|
|
300
|
+
- `build_filter_pack` _function_ — Build the proposer's input: one source window's text-bearing effective
|
|
301
|
+
- `exclude_strata` _function_ — The per-consumer filtered projection (DEC 9d4c0a38): "filtered" is a
|
|
302
|
+
- `load_filter_proposal_sets` _function_ — Every filtering proposal set for a source (and optionally one spine),
|
|
303
|
+
- `materialized_fix_ids` _function_ — The fidelity-edit apply path's materialization: a proposer row whose
|
|
304
|
+
- `materialized_mark_ids` _function_ — Class-family routing's other half: a proposer's mark-family row (an ASR
|
|
305
|
+
- `merge_filter_proposals` _function_ — Fold several proposal sets over ONE spine into one walkable set (design
|
|
306
|
+
- `new_pack_id` _function_ — Generate a unique, sortable pack id.
|
|
307
|
+
- `pack_digest` _function_ — Digest the READ content (source binding + window + numbered segments) —
|
|
308
|
+
- `pending_filter_proposals` _function_ — The headless worklist: proposals with NO live stratum carrying their id and
|
|
309
|
+
- `plan_pack_windows` _function_ — Cut a spine into `count` windows of near-equal TEXT-segment count at
|
|
310
|
+
- `proposals_from_rows` _function_ — Resolve validated rows to proposal-set rows: proposal id, category, source
|
|
311
|
+
- `render_filter_pack` _function_ — Render a pack as the brief a proposer reads: identity + window, the class
|
|
312
|
+
- `render_filter_propset_markdown` _function_ — Project a proposal set for a HUMAN to check against the source in the
|
|
313
|
+
- `resolve_slate` _function_ — Resolve a NAMED class slate (ruling c5b6cf42) to the two vocabularies a
|
|
314
|
+
- `select_span_segments` _function_ — The span-EDIT gesture's resolver (agreed 2026-09-01 on the ch04 confirm
|
|
315
|
+
- `strata_index` _function_ — Segment-keyed view of the live strata (the consumer query's index).
|
|
316
|
+
- `validate_proposal_rows` _function_ — Validate + normalize proposer rows against their pack — loud on the first
|
|
317
|
+
- `write_filter_propset` _function_ — Write one filtering proposal set: `<out_root>/<set_id>/manifest.json` +
|
|
318
|
+
|
|
219
319
|
## Dependencies
|
|
220
320
|
|
|
221
321
|
**Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`, `numpy`
|
|
222
|
-
**Used by:** `cjm-
|
|
322
|
+
**Used by:** `cjm-context-graph-projection`, `cjm-transcript-correction-qt`, `cjm-transcription-core`, `cjm-workflow-hub-qt`
|
|
@@ -6,36 +6,65 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
6
6
|
|
|
7
7
|
## Modules
|
|
8
8
|
|
|
9
|
-
- **`cjm_transcript_correction_core`**
|
|
9
|
+
- **`cjm_transcript_correction_core.__init__`**
|
|
10
|
+
- **`cjm_transcript_correction_core.cleanread`** — The clean read — L1 of the reading ladder (design 6752db0a; the subtraction
|
|
10
11
|
- **`cjm_transcript_correction_core.cli`** — The CLI driver — the correction core's first (and currently only) frontend. run <decomp-manifest> corrects the committed spine in the decomp graph DB, pointing the graph worker at that shared DB via load-time config, with optional session resume/reopen; review runs the interactive text-correction loop (the cross-transcriber diff is intra-graph since stage 5).
|
|
11
12
|
- **`cjm_transcript_correction_core.graph`** — The correction overlay's graph I/O: targeted (scale-shaped) reads of a committed spine via the graph-storage query action, construction of Correction / CorrectionSession nodes + CORRECTS / SUPERSEDES / DERIVED_FROM / REVIEWED edges, the in-core effective-spine projection (layer-0 + applied corrections), and commit through the job queue. Hand-rolled (revolution-1) = direct CR-18 spec material; append-only on layer-0 (never update/delete a Segment).
|
|
12
13
|
- **`cjm_transcript_correction_core.journal`** — Live append-through for the correction verbs — the workflow journal's domain half.
|
|
13
14
|
- **`cjm_transcript_correction_core.launch`** — The shared launch surface every correction shell drives through: the
|
|
14
15
|
- **`cjm_transcript_correction_core.models`** — Overlay data shapes for the transcript-correction workflow: the Correction / CorrectionSession graph nodes + their relation registry, the read view of a committed spine segment, the worklist item, run configuration, and the correction run manifest (proto-bundle that chains decomp -> correction).
|
|
15
16
|
- **`cjm_transcript_correction_core.pipeline`** — The headless correction workflow: load a decomp run manifest, resolve the shared graph DB, start/resume/reopen a CorrectionSession, recompute the worklist from deterministic signals + persisted review state, run the D14 empty-segment prune (first operation), and record a chainable correction run manifest — with a cheapest-form HITL approval seam.
|
|
17
|
+
- **`cjm_transcript_correction_core.respine_transfer`** — The chunk-scoped transfer a chunk respine calls (work item 7a5e9c84; ruling 0b4d5cfa (5),
|
|
16
18
|
- **`cjm_transcript_correction_core.signals`** — Pure deterministic Tier-1 signal functions (no capability calls): empty-segment detection, bidirectional boundary punctuation/capitalization heuristics, forced-alignment coverage flags, positional cross-transcriber diff, phonetic + edit-distance variant clustering, and the event-proposal overlay (leg 4: the finetuned detector's spans anchored onto the spine). The worklist is recomputed from these each session; revolution-1 builds ZERO new capabilities.
|
|
19
|
+
- **`cjm_transcript_correction_core.spans`** — Spans — the overlay-proposal lane's domain half (design bbf8bafd, extending the
|
|
17
20
|
- **`cjm_transcript_correction_core.spine`**
|
|
18
21
|
- **`cjm_transcript_correction_core.state`** — Sidecar view-state + spine-picker helpers — the correction TUI's pure
|
|
22
|
+
- **`cjm_transcript_correction_core.strata`** — Strata — the filtering lane's domain half (DECs 304fd984 + 9d4c0a38; work items
|
|
19
23
|
|
|
20
24
|
## API
|
|
21
25
|
|
|
26
|
+
### `cjm_transcript_correction_core.cleanread`
|
|
27
|
+
|
|
28
|
+
- `clean_read` _function_ — L1 — the clean read (pure). Kept lines in spine order; each carries its
|
|
29
|
+
- `clean_read_pack_read` _function_ — The `read` record an L1 pack carries: the layer, the marker, the
|
|
30
|
+
- `clean_read_segments` _function_ — Project the clean read back onto SpineSegments (clean text, same
|
|
31
|
+
- `clean_read_summary` _function_
|
|
32
|
+
- `repeat_survivor` _function_ — Locate the last repeating unit of a word-repeat span (pure): the
|
|
33
|
+
- `subtract_spans` _function_ — Cut the ranges out of the text, leaving `marker` at each seam (pure).
|
|
34
|
+
|
|
22
35
|
### `cjm_transcript_correction_core.cli`
|
|
23
36
|
|
|
37
|
+
- `attention_command` _function_ — Execute `attention`: the walk-lane ATTENTION TIER (item 3758f6cb, ruling f400d2c3)
|
|
24
38
|
- `bench_command` _function_ — Execute the `bench` subcommand: the reserved-tail verdict join.
|
|
25
39
|
- `build_parser` _function_ — Build the CLI parser (subcommands: run, review).
|
|
40
|
+
- `commit_wordless_transfer` _function_ — COMMIT a planned transfer — the engine's second half. One
|
|
26
41
|
- `export_command` _function_ — Execute `export-wordless-propset`: write one spine's effective wordless
|
|
27
42
|
- `extract_command` _function_ — Execute the `extract` subcommand: fold the gated overlay into a manifested dataset.
|
|
43
|
+
- `filter_confirm_command` _function_ — Execute `filter-confirm`: the HEADLESS HITL worklist (bc8dbbdd pass-1
|
|
44
|
+
- `filter_ingest_command` _function_ — Execute `filter-ingest`: validate proposer rows against their pack and
|
|
45
|
+
- `filter_merge_command` _function_ — Execute `filter-merge`: fold several proposal sets over one spine into
|
|
46
|
+
- `filter_pack_command` _function_ — Execute `filter-pack`: write one spine window's effective text-bearing
|
|
28
47
|
- `gate_command` _function_ — Execute the `gate` subcommand: show or assert per-spine extraction gates.
|
|
29
48
|
- `load_capabilities` _function_ — Discover manifests + load each capability, passing per-capability config (CR-2 caller-wins).
|
|
30
49
|
- `main` _function_ — CLI entry point (console script: `cjm-transcript-correction-core`).
|
|
31
50
|
- `overlay_event_rows` _function_ — Overlay span records -> dataset event rows for ONE spine (pure).
|
|
51
|
+
- `plan_transfer_rows` _function_ — Place wordless donors on the destination (pure) — the event half of
|
|
52
|
+
- `plan_wordless_export` _function_ — PLAN an export (reads only) — the `export-wordless-propset` engine's
|
|
53
|
+
- `plan_wordless_transfer` _function_ — PLAN a wordless transfer (reads only) — the `transfer-wordless`
|
|
54
|
+
- `resolve_source_node` _function_ — Resolve the --source selector the respine verbs share: exactly ONE
|
|
32
55
|
- `review_command` _function_ — Execute the `review` subcommand: interactive text corrections over the flagged worklist.
|
|
33
56
|
- `run_command` _function_ — Execute the `run` subcommand: correct a decomp manifest's committed spine.
|
|
34
57
|
- `run_extract` _function_ — The extract fold on an ALREADY-OPEN graph seat (flywheel build leg 2,
|
|
35
58
|
- `scan_command` _function_ — Execute `scan-mishomed`: flag authoritative FA words stranded outside
|
|
59
|
+
- `span_confirm_command` _function_ — Execute `span-confirm`: the HEADLESS HITL worklist over one span
|
|
60
|
+
- `span_ingest_command` _function_ — Execute `span-ingest`: resolve a proposer's quoted-word rows against
|
|
61
|
+
- `span_lexicon_command` _function_ — Execute `span-lexicon`: the pattern tier (design bbf8bafd (g)) — bare
|
|
62
|
+
- `span_merge_command` _function_ — Execute `span-merge`: fold several span sets over one spine into ONE
|
|
63
|
+
- `span_pack_command` _function_ — Execute `span-pack`: the filter pack's lines as a SPEECH-OVERLAY pack
|
|
36
64
|
- `stats_command` _function_ — Execute the `stats` subcommand: flywheel accounting over the shared graph.
|
|
37
|
-
- `transfer_command` _function_ — Execute `transfer-wordless`: replay wordless event inserts
|
|
65
|
+
- `transfer_command` _function_ — Execute `transfer-wordless`: replay wordless event inserts (and speaker-
|
|
38
66
|
- `wordless_donors` _function_ — The EFFECTIVE wordless layer of a spine: labeled, effectively wordless
|
|
67
|
+
- `write_wordless_propset` _function_ — WRITE a planned export as a proposal set — the engine's write half.
|
|
39
68
|
|
|
40
69
|
### `cjm_transcript_correction_core.graph`
|
|
41
70
|
|
|
@@ -43,6 +72,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
43
72
|
- `active_speaker_assignments` _function_ — Project the ACTIVE speaker assignment per segment (latest-wins).
|
|
44
73
|
- `active_speech_overlays` _function_ — The surviving speech-overlay corrections (supersession applied; pure).
|
|
45
74
|
- `aggregate_session_purposes` _function_ — Fold sessions into a per-source purpose mix (pure; d915d545 picker rung).
|
|
75
|
+
- `annotate_retired` _function_ — Mark spine rows with their retirement state (pure).
|
|
46
76
|
- `apply_chunk_inserts` _function_ — Synthesize inserted chunks into the effective spine (DEC 3d3fa2a8).
|
|
47
77
|
- `apply_time_nudges` _function_ — Apply timing corrections onto segment times (latest-wins per edge).
|
|
48
78
|
- `bench_event_proposals` _function_ — The reserved-tail bench join (leg 4, DECs 8e05b87b + 8cf12c22) — pure.
|
|
@@ -57,6 +87,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
57
87
|
- `build_reject_review` _function_ — Build a review Correction that REJECTS a prior correction (reject-as-supersede).
|
|
58
88
|
- `build_speaker_assign_correction` _function_ — Build a speaker Correction — the assignment op envelope (DEC d6df3a8e).
|
|
59
89
|
- `build_speech_overlay_correction` _function_ — Build a NON-MUTATING speech-overlay Correction (check fc42614d, DEC 4e05a066).
|
|
90
|
+
- `build_stratum_correction` _function_ — Build a NON-MUTATING stratum Correction (DECs 304fd984 + 9d4c0a38: the
|
|
60
91
|
- `build_text_correction` _function_ — Build a text_content Correction + its CORRECTS (+ optional SUPERSEDES) edges.
|
|
61
92
|
- `build_time_nudge_correction` _function_ — Build a timing Correction that nudges segment boundary TIMES (node + CORRECTS edges).
|
|
62
93
|
- `commit_boundary_shift_correction` _function_ — Commit a boundary-shift correction (node + CORRECTS x2 [+ SUPERSEDES]) + REVIEWED markers on both segments.
|
|
@@ -73,11 +104,15 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
73
104
|
- `commit_speaker_entity` _function_ — Mint a source-spanning Entity into the shared registry (DEC 4ec6a49c).
|
|
74
105
|
- `commit_speech_overlay_correction` _function_ — Commit a speech overlay (node + CORRECTS [+ SUPERSEDES]).
|
|
75
106
|
- `commit_speech_overlay_removal` _function_ — Remove a speech overlay WITHOUT a replacement (reject-as-supersede).
|
|
107
|
+
- `commit_stratum_correction` _function_ — Commit a stratum (node + CORRECTS per covered segment [+ SUPERSEDES]).
|
|
108
|
+
- `commit_stratum_retraction` _function_ — Retract a live stratum WITHOUT replacing it (reject-as-supersede, the
|
|
76
109
|
- `commit_text_correction` _function_ — Commit a text_content correction (node + CORRECTS [+ SUPERSEDES]) + a REVIEWED marker.
|
|
77
110
|
- `commit_time_nudge_correction` _function_ — Commit a time-nudge correction (node + CORRECTS per touched segment).
|
|
78
111
|
- `correction_stats` _function_ — Fold one Source's ACTIVE overlay into flywheel-accounting counts (pure).
|
|
79
112
|
- `corrections_to_edits` _function_ — Map this core's Correction payloads onto the layer's spine-edit vocabulary.
|
|
80
113
|
- `count_source_segments` _function_ — Count a Source's segments server-side under its chosen rendition + skeleton (typed count mode).
|
|
114
|
+
- `default_spine` _function_ — Which spine opens by default (pure; ruling a7617bd4 rule (c)): preference is a
|
|
115
|
+
- `discharge_mark` _function_ — Discharge an open mark BY THE CORRECTION THAT ADDRESSED IT — the closure
|
|
81
116
|
- `extract_spine_dataset` _function_ — Fold ONE spine's overlay into its v1 insert-span dataset slice (pure).
|
|
82
117
|
- `fa_words_for_transcript` _function_ — One transcript's FA words in source coordinates (the scan-mishomed join,
|
|
83
118
|
- `find_active_text_correction` _function_ — Single-segment convenience over the batch read (cross-session; latest wins).
|
|
@@ -110,6 +145,7 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
110
145
|
- `set_session_status` _function_ — Update a session's status + updated_at.
|
|
111
146
|
- `skeleton_hash_for` _function_ — Resolve a skeleton selector to the chosen spine's HASH (pure) — the gate's
|
|
112
147
|
- `source_audio_segment_ids` _function_ — The Source's coarse spine (one small typed read; ordered by index).
|
|
148
|
+
- `speaker_assignment_sources` _function_ — Where each speaker Entity has been assigned — the picker's COLLECTION
|
|
113
149
|
- `speech_overlay_spans` _function_ — Fold the ACTIVE speech overlays into extraction-facing span records (pure).
|
|
114
150
|
- `spine_where_for` _function_ — Resolve a skeleton selector against the observed spine set (pure).
|
|
115
151
|
- `start_session` _function_ — Create + commit a new CorrectionSession node.
|
|
@@ -153,8 +189,22 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
153
189
|
- `run_correction` _function_ — Correct every source in a decomp run manifest (prune + worklist surfacing).
|
|
154
190
|
- `run_review` _function_ — Interactive review pass over a decomp manifest's flagged worklist (text corrections).
|
|
155
191
|
|
|
192
|
+
### `cjm_transcript_correction_core.respine_transfer`
|
|
193
|
+
|
|
194
|
+
- `chunk_respine_transfer` _function_ — The registered chunk-scoped transfer (the entry point decomp-core discovers).
|
|
195
|
+
- `group_speaker_rows` _function_ — Fold per-segment rows into turn-shaped commits (pure): contiguous same-entity
|
|
196
|
+
- `live_neighbour` _function_ — The live segment right before the chunk — the flank a donor that starts before
|
|
197
|
+
- `load_segments_by_ids` _function_ — Segments by id — the ONE read that bypasses the live predicate on purpose: the
|
|
198
|
+
- `plan_speaker_carry` _function_ — Which new segment takes which speaker (pure; 4a7ec4f8 (2)/(3)): a segment whose
|
|
199
|
+
- `speaker_spans` _function_ — The per-span speaker map the carry reads (pure).
|
|
200
|
+
|
|
156
201
|
### `cjm_transcript_correction_core.signals`
|
|
157
202
|
|
|
203
|
+
- `attention_boundary_marks` _function_ — The boundary signals of the attention tier (item 3758f6cb signals 1+3 and the folded
|
|
204
|
+
- `attention_divergence_marks` _function_ — The two-transcriber disagreement signal of the attention tier (item 3758f6cb signal
|
|
205
|
+
- `attention_fa_marks` _function_ — The forced-alignment signals of the attention tier (item 3758f6cb signal 1), pure.
|
|
206
|
+
- `attention_marks` _function_ — Compose the attention tier (item 3758f6cb): every enabled signal's mark rows,
|
|
207
|
+
- `attention_speaker_marks` _function_ — The next-speaker-change landmark of the folded item 65791933, pure: `speaker-change`
|
|
158
208
|
- `boundary_punct_caps_flags` _function_ — Bidirectional boundary punctuation/capitalization heuristics (in-segment only).
|
|
159
209
|
- `cluster_variants` _function_ — Cluster word variants by phonetic key + edit distance (fix-one-fix-all).
|
|
160
210
|
- `compute_signal_flags` _function_ — Combine all deterministic Tier-1 signals into per-segment flags.
|
|
@@ -167,14 +217,36 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
167
217
|
- `speaker_turn_proposals` _function_ — Dominant diarization cluster per segment — the assign lane's proposal paint.
|
|
168
218
|
- `variant_divergence` _function_ — Within-segment cross-transcriber divergence (stage 5: intra-graph).
|
|
169
219
|
|
|
220
|
+
### `cjm_transcript_correction_core.spans`
|
|
221
|
+
|
|
222
|
+
- `bench_span_proposals` _function_ — Derive the span verdicts (design bbf8bafd (f), the bench_filter_proposals
|
|
223
|
+
- `build_span_pack` _function_ — Build the span proposer's input: the filter pack's numbered lines with
|
|
224
|
+
- `find_token_span` _function_ — Resolve quoted words to WHOLE word tokens of a line (pure): the quote is
|
|
225
|
+
- `is_span_pack` _function_
|
|
226
|
+
- `lexicon_span_rows` _function_ — The LEXICON TIER (design bbf8bafd (g)): a bare um / uh token is a
|
|
227
|
+
- `load_span_proposal_sets` _function_ — Every SPAN proposal set for a source (and optionally one spine), newest
|
|
228
|
+
- `locate_span_tokens` _function_ — Where a proposal's words sit on the CURRENT line, as a character range
|
|
229
|
+
- `merge_span_proposals` _function_ — Fold several SPAN sets over one spine into one walkable set — the
|
|
230
|
+
- `overlay_label_slate` _function_ — The slate a span pack carries: every label with its gloss and whether a
|
|
231
|
+
- `pending_span_proposals` _function_ — The headless worklist: proposals with NO active overlay carrying their id
|
|
232
|
+
- `render_span_pack` _function_ — Render a span pack as the brief a proposer reads: identity + window, the
|
|
233
|
+
- `render_span_propset_markdown` _function_ — Project a span set for a human: one line per proposal — tier, label,
|
|
234
|
+
- `segment_word_tokens` _function_
|
|
235
|
+
- `snap_span_proposal` _function_ — Resolve a proposal against the CURRENT line at accept (design bbf8bafd
|
|
236
|
+
- `span_proposals_from_rows` _function_ — Resolve validated rows to span proposal-set rows: proposal id, label
|
|
237
|
+
- `validate_span_rows` _function_ — Validate + resolve proposer rows against their span pack — loud on the
|
|
238
|
+
- `write_span_propset` _function_ — Write one SPAN proposal set — the filter set's layout under the span
|
|
239
|
+
|
|
170
240
|
### `cjm_transcript_correction_core.spine`
|
|
171
241
|
|
|
172
242
|
- `ChunkRef` _class_ — Where one Segment's VAD-chunk audio lives: the model-input WAV + the chunk-local span.
|
|
173
243
|
- `SeamRef` _class_ — A source-coordinate audio span across one fine-spine boundary (the g/G
|
|
174
244
|
- `SpineView` _class_ — One Source's effective correction spine, cursor-windowed for the TUI.
|
|
245
|
+
- `layer_speaker_menu` _function_ — Layer the assign-lane digit menu (pure; DEC 774dbe40). Tier 1 = the
|
|
175
246
|
- `list_sources` _function_ — Enumerate the graph's Source nodes (the discovery corpus, 2ce81638).
|
|
176
247
|
- `load_source_slice` _function_ — Decode a source-coordinate slice of the ORIGINAL media to playable samples.
|
|
177
248
|
- `match_sources` _function_ — The --source selector (pure; shared by direct open and the picker's seed).
|
|
249
|
+
- `match_speaker_query` _function_ — Narrow the registry by a typed query (pure; DEC 774dbe40 (4)). Rank 0 =
|
|
178
250
|
- `neighbor_word_bound` _function_ — The adjacent word's FA boundary facing an overlay span (pure).
|
|
179
251
|
- `open_stack` _function_ — Bootstrap the graph capability stack, resolving the db path (2ce81638).
|
|
180
252
|
- `parse_entity_input` _function_ — Parse the new-speaker editor line (pure). A leading `?` marks the entity
|
|
@@ -183,11 +255,13 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
183
255
|
- `plan_chunk_insert` _function_ — Plan a chunk insertion into the seam after the cursor (the i gesture unit; pure).
|
|
184
256
|
- `plan_chunk_split` _function_ — Plan a chunk split at a caret position (the S gesture unit; pure).
|
|
185
257
|
- `plan_gate` _function_ — Plan an extraction-gate assertion (the F gesture unit; pure — DEC 8e05b87b).
|
|
258
|
+
- `plan_split_rows` _function_ — Place speaker-split boundaries on a destination spine (pure) — the
|
|
186
259
|
- `plan_time_nudge` _function_ — Plan a boundary-time nudge (the ,/. and </> gesture unit; pure).
|
|
187
260
|
- `resolve_mark_class_token` _function_ — Resolve a leading digit token to its menu class (the M picker; pure).
|
|
188
261
|
- `segment_word_tokens` _function_ — Tokenize a segment's text into words WITH character offsets (pure).
|
|
189
262
|
- `snap_word_span` _function_ — Derive a word range's TIME span from FA word timestamps (pure; fc42614d).
|
|
190
263
|
- `source_status` _function_ — Correction-status-at-a-glance for one Source (the picker's detail row).
|
|
264
|
+
- `split_donors` _function_ — The SPEAKER-SPLIT layer of a spine (pure) — the DoD rider 54aac7d3 on
|
|
191
265
|
|
|
192
266
|
### `cjm_transcript_correction_core.state`
|
|
193
267
|
|
|
@@ -196,7 +270,30 @@ A frontend-agnostic core for the transcript correction workflow — the first do
|
|
|
196
270
|
- `selector_for_spine` _function_ — The selector value a picker choice persists (pure): the full skeleton
|
|
197
271
|
- `spine_label` _function_ — One picker row's config summary for a skeleton spine (pure).
|
|
198
272
|
|
|
273
|
+
### `cjm_transcript_correction_core.strata`
|
|
274
|
+
|
|
275
|
+
- `active_strata` _function_ — The live strata: stratum corrections neither superseded (reclassified /
|
|
276
|
+
- `bench_filter_proposals` _function_ — Derive the filtering verdicts (DEC 8e05b87b, the bench_event_proposals
|
|
277
|
+
- `build_filter_pack` _function_ — Build the proposer's input: one source window's text-bearing effective
|
|
278
|
+
- `exclude_strata` _function_ — The per-consumer filtered projection (DEC 9d4c0a38): "filtered" is a
|
|
279
|
+
- `load_filter_proposal_sets` _function_ — Every filtering proposal set for a source (and optionally one spine),
|
|
280
|
+
- `materialized_fix_ids` _function_ — The fidelity-edit apply path's materialization: a proposer row whose
|
|
281
|
+
- `materialized_mark_ids` _function_ — Class-family routing's other half: a proposer's mark-family row (an ASR
|
|
282
|
+
- `merge_filter_proposals` _function_ — Fold several proposal sets over ONE spine into one walkable set (design
|
|
283
|
+
- `new_pack_id` _function_ — Generate a unique, sortable pack id.
|
|
284
|
+
- `pack_digest` _function_ — Digest the READ content (source binding + window + numbered segments) —
|
|
285
|
+
- `pending_filter_proposals` _function_ — The headless worklist: proposals with NO live stratum carrying their id and
|
|
286
|
+
- `plan_pack_windows` _function_ — Cut a spine into `count` windows of near-equal TEXT-segment count at
|
|
287
|
+
- `proposals_from_rows` _function_ — Resolve validated rows to proposal-set rows: proposal id, category, source
|
|
288
|
+
- `render_filter_pack` _function_ — Render a pack as the brief a proposer reads: identity + window, the class
|
|
289
|
+
- `render_filter_propset_markdown` _function_ — Project a proposal set for a HUMAN to check against the source in the
|
|
290
|
+
- `resolve_slate` _function_ — Resolve a NAMED class slate (ruling c5b6cf42) to the two vocabularies a
|
|
291
|
+
- `select_span_segments` _function_ — The span-EDIT gesture's resolver (agreed 2026-09-01 on the ch04 confirm
|
|
292
|
+
- `strata_index` _function_ — Segment-keyed view of the live strata (the consumer query's index).
|
|
293
|
+
- `validate_proposal_rows` _function_ — Validate + normalize proposer rows against their pack — loud on the first
|
|
294
|
+
- `write_filter_propset` _function_ — Write one filtering proposal set: `<out_root>/<set_id>/manifest.json` +
|
|
295
|
+
|
|
199
296
|
## Dependencies
|
|
200
297
|
|
|
201
298
|
**Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`, `numpy`
|
|
202
|
-
**Used by:** `cjm-
|
|
299
|
+
**Used by:** `cjm-context-graph-projection`, `cjm-transcript-correction-qt`, `cjm-transcription-core`, `cjm-workflow-hub-qt`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.30"
|