Skip to main content

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.

Project description

cjm-transcript-decomp-core

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.

Modules

  • 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).
  • cjm_transcript_decomp_core.cli — The CLI driver — the decomposition core's first (and currently only) frontend.
  • 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.
  • 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).
  • 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.

API

cjm_transcript_decomp_core.alignment

  • assign_words_to_chunks function — Assign each FA word to a VAD chunk by timestamp overlap.
  • build_segments_from_alignment function — Build a TextSegment per VAD chunk by grouping words by chunk assignment.
  • map_fa_words_to_text function — Map forced-alignment words back to character spans in the original text.
  • tier1_alignment_checks function — Tier-1 deterministic pre-filters for the alignment-review seam (no AI).

cjm_transcript_decomp_core.cli

  • build_parser function — Build the CLI parser (subcommands: run).
  • load_capabilities function — Discover manifests + load each requested capability (default instance).
  • main function — CLI entry point (console script: cjm-transcript-decomp-core).
  • run_command function — Execute the run subcommand: extend a transcription-emitted root with the fine spine.

cjm_transcript_decomp_core.graph

  • SourceVerification class — Skeptical-lens verification of one Source's fine-spine extension under a
  • build_extension_payload function — Build the fine-spine EXTENSION payload (pure; no capability calls).
  • resolve_root_ids function — Recompute the transcription-emitted root node ids from manifest data.
  • verify_source function — Verify a Source's committed extension via server-side AGGREGATES (D13/D19).

cjm_transcript_decomp_core.models

  • DecompConfig class — Configuration for one transcript-decomposition run.
  • DecompManifest class — Durable record of one decomposition run (proto-bundle; see CR-20).
  • DecompSegment class — One fine spine segment (stage 5: shared audio-side skeleton + per-transcriber variants).
  • DecompSourceRecord class — Record of one Source whose fine spine this run committed (stage 5:
  • FAWord class — One word-level forced-alignment result (segment-local times).
  • SegmentVariant class — One transcriber's text + char range for one fine segment (stage 5).
  • TextSegment class — A text segment produced by alignment, before graph commit.
  • VADChunk class — A voice-activity time range within one pipeline segment (segment-local).
  • new_run_id function — Generate a unique, sortable decomposition run id.

cjm_transcript_decomp_core.pipeline

  • build_alignment_composition function — Build the whole-source M×(VAD ∥ T×FA) composition (D8 fan-in, stage-5 variants).
  • collect_capability_info function — Record capability identity + data-DB pointers for the run manifest (provenance).
  • confirm_seam function — HITL approval seam in its cheapest viable form (log + optional CLI prompt).
  • decompose_source function — Decompose one source into aligned fine segments with per-transcriber variants.
  • fa_words_from_result function — Normalize a typed forced-alignment result into FA words (pure; stage 3).
  • load_source_manifest function — Load + lightly validate a transcription-core run manifest.
  • run_decomp function — Extend every source in a transcription run manifest with its fine spine.
  • submit_and_wait function — Submit one capability job, wait for it, and return its result (raise on failure).
  • vad_chunks_from_result function — Normalize a typed VAD result into segment-local VAD chunks.

Dependencies

Depends on: cjm-capability-primitives, cjm-context-graph-layer, cjm-context-graph-primitives, cjm-substrate, cjm-transcript-graph-schema

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cjm_transcript_decomp_core-0.0.2.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cjm_transcript_decomp_core-0.0.2-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file cjm_transcript_decomp_core-0.0.2.tar.gz.

File metadata

File hashes

Hashes for cjm_transcript_decomp_core-0.0.2.tar.gz
Algorithm Hash digest
SHA256 894fd78eb87820b0bcbab7ffc38f1ae7947a11543e9ef508b89595402308e107
MD5 a1f09515daa6f292323ab843d465c4e0
BLAKE2b-256 d8af72284881fdba96f5b22d02e8203809d5425fd728e87a361e6fe958563ff4

See more details on using hashes here.

File details

Details for the file cjm_transcript_decomp_core-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cjm_transcript_decomp_core-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e70e6e37bbf45e5b3bc0f1524d71b7be98b29a36cd40c1d5d4ecd1375bf1f5c5
MD5 278d313991effecb1e876d26d3629c2d
BLAKE2b-256 3f99adceab35ee2ff1b4ca4f8c69105184344d4cab2f3e7dd5a796e11c347cae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page