cjm-transcript-decomp-core 0.0.1__tar.gz → 0.0.2__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 (24) hide show
  1. {cjm_transcript_decomp_core-0.0.1/cjm_transcript_decomp_core.egg-info → cjm_transcript_decomp_core-0.0.2}/PKG-INFO +4 -46
  2. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/README.md +2 -44
  3. cjm_transcript_decomp_core-0.0.2/cjm_transcript_decomp_core/__init__.py +1 -0
  4. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core/pipeline.py +16 -3
  5. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2/cjm_transcript_decomp_core.egg-info}/PKG-INFO +4 -46
  6. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core.egg-info/requires.txt +1 -1
  7. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/pyproject.toml +1 -1
  8. cjm_transcript_decomp_core-0.0.1/cjm_transcript_decomp_core/__init__.py +0 -1
  9. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/LICENSE +0 -0
  10. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/MANIFEST.in +0 -0
  11. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core/alignment.py +0 -0
  12. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core/cli.py +0 -0
  13. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core/graph.py +0 -0
  14. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core/models.py +0 -0
  15. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core.egg-info/SOURCES.txt +0 -0
  16. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core.egg-info/dependency_links.txt +0 -0
  17. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core.egg-info/entry_points.txt +0 -0
  18. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/cjm_transcript_decomp_core.egg-info/top_level.txt +0 -0
  19. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/setup.cfg +0 -0
  20. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/tests/test_alignment.py +0 -0
  21. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/tests/test_cli.py +0 -0
  22. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/tests/test_graph.py +0 -0
  23. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/tests/test_models.py +0 -0
  24. {cjm_transcript_decomp_core-0.0.1 → cjm_transcript_decomp_core-0.0.2}/tests/test_pipeline.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cjm-transcript-decomp-core
3
- Version: 0.0.1
3
+ Version: 0.0.2
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
@@ -13,7 +13,7 @@ License-File: LICENSE
13
13
  Requires-Dist: cjm_substrate>=0.0.51
14
14
  Requires-Dist: cjm_context_graph_primitives>=0.0.12
15
15
  Requires-Dist: cjm_capability_primitives>=0.0.10
16
- Requires-Dist: cjm-context-graph-layer>=0.0.8
16
+ Requires-Dist: cjm-context-graph-layer>=0.0.10
17
17
  Requires-Dist: cjm-transcript-graph-schema>=0.0.7
18
18
  Dynamic: license-file
19
19
 
@@ -26,15 +26,10 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
26
26
  ## Modules
27
27
 
28
28
  - **`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
- - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend. Ships in-package as the cjm-transcript-decomp-core console script so the driver can never skew from the core. GUI presentation drivers come later and consume the same pipeline module; they never reimplement it (CLI-first / headless-core principle).
29
+ - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend.
30
30
  - **`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.
31
31
  - **`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
32
  - **`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.
33
- - **`tests.test_alignment`** — Tests for cjm_transcript_decomp_core.alignment — pure forced-alignment logic.
34
- - **`tests.test_graph`** — Tests for cjm_transcript_decomp_core.graph — fine-spine extension payload.
35
- - **`tests.test_models`** — Tests for cjm_transcript_decomp_core.models — decomposition data shapes.
36
- - **`tests_manual.measure_cold_fanout_overlap_e2e`** — Cold-run M×(VAD ∥ T×FA) fan-out overlap measurement (stage-5 closeout;
37
- - **`tests_manual.validate_stage7_volume_journal_e2e`** — Stage-7 stress part 6 — volume regression on the REAL corpus.
38
33
 
39
34
  ## API
40
35
 
@@ -83,43 +78,6 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
83
78
  - `submit_and_wait` _function_ — Submit one capability job, wait for it, and return its result (raise on failure).
84
79
  - `vad_chunks_from_result` _function_ — Normalize a typed VAD result into segment-local VAD chunks.
85
80
 
86
- ### `tests.test_alignment`
87
-
88
- - `test_assign_words_to_chunks_by_timestamp` _function_
89
- - `test_build_segments_per_chunk` _function_
90
- - `test_empty_chunk_yields_empty_segment_warning` _function_
91
- - `test_map_fa_words_to_text_spans` _function_
92
-
93
- ### `tests.test_graph`
94
-
95
- - `test_edge_topology_spans_coarse_boundary` _function_
96
- - `test_extension_payload_deterministic_ids` _function_
97
- - `test_preprocessed_manifest_distinct_renditions_same_boundaries` _function_
98
- - `test_provenance_refs_and_text_from` _function_
99
- - `test_resolve_root_ids_recomputation` _function_
100
-
101
- ### `tests.test_models`
102
-
103
- - `test_faword_from_wire_tolerates_extra_keys` _function_
104
- - `test_manifest_save_round_trip` _function_
105
- - `test_manifest_shape_and_run_id` _function_
106
- - `test_stage5_segment_shape` _function_
107
- - `test_vad_chunk_duration` _function_
108
-
109
- ### `tests_manual.measure_cold_fanout_overlap_e2e`
110
-
111
- - `lane_intervals` _function_ — (start, end) UTC intervals for completed jobs of one instance.
112
- - `main` _function_
113
- - `merge` _function_ — Merge overlapping intervals so a side can't double-count itself.
114
- - `overlap_seconds` _function_ — Total seconds where any interval of A overlaps any interval of B.
115
- - `self_overlap_max` _function_ — Max simultaneously in-flight jobs within one lane + seconds at depth >= 2.
116
-
117
- ### `tests_manual.validate_stage7_volume_journal_e2e`
118
-
119
- - `checkpoint_copy` _function_ — Checkpoint-then-copy (the stage-3 G3 backup discipline — never copy
120
- - `journal_rows` _function_
121
- - `main` _function_
122
-
123
81
  ## Dependencies
124
82
 
125
- **Depends on:** `cjm-substrate`
83
+ **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`
@@ -7,15 +7,10 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
7
7
  ## Modules
8
8
 
9
9
  - **`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
- - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend. Ships in-package as the cjm-transcript-decomp-core console script so the driver can never skew from the core. GUI presentation drivers come later and consume the same pipeline module; they never reimplement it (CLI-first / headless-core principle).
10
+ - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend.
11
11
  - **`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.
12
12
  - **`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
13
  - **`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.
14
- - **`tests.test_alignment`** — Tests for cjm_transcript_decomp_core.alignment — pure forced-alignment logic.
15
- - **`tests.test_graph`** — Tests for cjm_transcript_decomp_core.graph — fine-spine extension payload.
16
- - **`tests.test_models`** — Tests for cjm_transcript_decomp_core.models — decomposition data shapes.
17
- - **`tests_manual.measure_cold_fanout_overlap_e2e`** — Cold-run M×(VAD ∥ T×FA) fan-out overlap measurement (stage-5 closeout;
18
- - **`tests_manual.validate_stage7_volume_journal_e2e`** — Stage-7 stress part 6 — volume regression on the REAL corpus.
19
14
 
20
15
  ## API
21
16
 
@@ -64,43 +59,6 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
64
59
  - `submit_and_wait` _function_ — Submit one capability job, wait for it, and return its result (raise on failure).
65
60
  - `vad_chunks_from_result` _function_ — Normalize a typed VAD result into segment-local VAD chunks.
66
61
 
67
- ### `tests.test_alignment`
68
-
69
- - `test_assign_words_to_chunks_by_timestamp` _function_
70
- - `test_build_segments_per_chunk` _function_
71
- - `test_empty_chunk_yields_empty_segment_warning` _function_
72
- - `test_map_fa_words_to_text_spans` _function_
73
-
74
- ### `tests.test_graph`
75
-
76
- - `test_edge_topology_spans_coarse_boundary` _function_
77
- - `test_extension_payload_deterministic_ids` _function_
78
- - `test_preprocessed_manifest_distinct_renditions_same_boundaries` _function_
79
- - `test_provenance_refs_and_text_from` _function_
80
- - `test_resolve_root_ids_recomputation` _function_
81
-
82
- ### `tests.test_models`
83
-
84
- - `test_faword_from_wire_tolerates_extra_keys` _function_
85
- - `test_manifest_save_round_trip` _function_
86
- - `test_manifest_shape_and_run_id` _function_
87
- - `test_stage5_segment_shape` _function_
88
- - `test_vad_chunk_duration` _function_
89
-
90
- ### `tests_manual.measure_cold_fanout_overlap_e2e`
91
-
92
- - `lane_intervals` _function_ — (start, end) UTC intervals for completed jobs of one instance.
93
- - `main` _function_
94
- - `merge` _function_ — Merge overlapping intervals so a side can't double-count itself.
95
- - `overlap_seconds` _function_ — Total seconds where any interval of A overlaps any interval of B.
96
- - `self_overlap_max` _function_ — Max simultaneously in-flight jobs within one lane + seconds at depth >= 2.
97
-
98
- ### `tests_manual.validate_stage7_volume_journal_e2e`
99
-
100
- - `checkpoint_copy` _function_ — Checkpoint-then-copy (the stage-3 G3 backup discipline — never copy
101
- - `journal_rows` _function_
102
- - `main` _function_
103
-
104
62
  ## Dependencies
105
63
 
106
- **Depends on:** `cjm-substrate`
64
+ **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`
@@ -0,0 +1 @@
1
+ __version__ = "0.0.2"
@@ -10,7 +10,8 @@ from typing import Any, Dict, List, Optional, Tuple
10
10
  from cjm_capability_primitives.forced_alignment import ForcedAlignResult
11
11
  from cjm_capability_primitives.vad import VADResult
12
12
  from cjm_context_graph_layer.declare import Derivation, derivation_to_graph
13
- from cjm_context_graph_layer.ops import extend_graph, graph_task
13
+ from cjm_context_graph_layer.journal import journal_extend, sidecar_journal_path
14
+ from cjm_context_graph_layer.ops import graph_task
14
15
  from cjm_substrate.core.empirical_store import compute_config_hash
15
16
  from cjm_substrate.core.journal_store import JournalEvent, SubstrateEventType
16
17
  from cjm_substrate.core.manager import CapabilityManager
@@ -380,6 +381,10 @@ async def run_decomp(
380
381
  capabilities=collect_capability_info(manager, [cfg.vad_capability, cfg.fa_capability, cfg.graph_capability]),
381
382
  )
382
383
  vad_config_hash = str((manifest.capabilities.get(cfg.vad_capability) or {}).get("config_hash") or "")
384
+ # Pipeline writes append through to the graph db's SIDECAR journal (DEC ccbab9f5 /
385
+ # finding 4219da27): unjournaled ingestion would erode db-rebuildability.
386
+ graph_db_path = (manifest.capabilities.get(cfg.graph_capability) or {}).get("db_path")
387
+ graph_journal_path = sidecar_journal_path(str(graph_db_path)) if graph_db_path else None
383
388
 
384
389
  sources = src.get("sources", []) or []
385
390
  status = "completed"
@@ -419,7 +424,12 @@ async def run_decomp(
419
424
  status = "aborted"
420
425
  break
421
426
 
422
- res = await extend_graph(queue, cfg.graph_capability, nodes, edges)
427
+ res = await journal_extend(queue, cfg.graph_capability, nodes, edges,
428
+ journal_path=graph_journal_path, verb="spine-extension",
429
+ actor="pipeline:cjm-transcript-decomp-core", run=run_id,
430
+ args={"source_id": ids["source"],
431
+ "segments": len(ids["segments"]),
432
+ "text_from": text_from})
423
433
  logger.info(f"[src {i}] extension: +{res.nodes_added} node(s) "
424
434
  f"({res.nodes_verified} verified present), +{res.edges_added} edge(s) "
425
435
  f"({res.edges_existing} existing)")
@@ -431,7 +441,10 @@ async def run_decomp(
431
441
  "text_from": text_from},
432
442
  )
433
443
  dn, de = derivation_to_graph(d)
434
- await extend_graph(queue, cfg.graph_capability, [dn], de)
444
+ await journal_extend(queue, cfg.graph_capability, [dn], de,
445
+ journal_path=graph_journal_path, verb="derivation",
446
+ actor="pipeline:cjm-transcript-decomp-core", run=run_id,
447
+ args={"method": "alignment-fold/v1"})
435
448
 
436
449
  # Fine spine hangs under the run's renditions — verify scopes there.
437
450
  vr = await verify_source(queue, cfg.graph_capability, ids["source"], ids["renditions"])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cjm-transcript-decomp-core
3
- Version: 0.0.1
3
+ Version: 0.0.2
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
@@ -13,7 +13,7 @@ License-File: LICENSE
13
13
  Requires-Dist: cjm_substrate>=0.0.51
14
14
  Requires-Dist: cjm_context_graph_primitives>=0.0.12
15
15
  Requires-Dist: cjm_capability_primitives>=0.0.10
16
- Requires-Dist: cjm-context-graph-layer>=0.0.8
16
+ Requires-Dist: cjm-context-graph-layer>=0.0.10
17
17
  Requires-Dist: cjm-transcript-graph-schema>=0.0.7
18
18
  Dynamic: license-file
19
19
 
@@ -26,15 +26,10 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
26
26
  ## Modules
27
27
 
28
28
  - **`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
- - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend. Ships in-package as the cjm-transcript-decomp-core console script so the driver can never skew from the core. GUI presentation drivers come later and consume the same pipeline module; they never reimplement it (CLI-first / headless-core principle).
29
+ - **`cjm_transcript_decomp_core.cli`** — The CLI driver — the decomposition core's first (and currently only) frontend.
30
30
  - **`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.
31
31
  - **`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
32
  - **`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.
33
- - **`tests.test_alignment`** — Tests for cjm_transcript_decomp_core.alignment — pure forced-alignment logic.
34
- - **`tests.test_graph`** — Tests for cjm_transcript_decomp_core.graph — fine-spine extension payload.
35
- - **`tests.test_models`** — Tests for cjm_transcript_decomp_core.models — decomposition data shapes.
36
- - **`tests_manual.measure_cold_fanout_overlap_e2e`** — Cold-run M×(VAD ∥ T×FA) fan-out overlap measurement (stage-5 closeout;
37
- - **`tests_manual.validate_stage7_volume_journal_e2e`** — Stage-7 stress part 6 — volume regression on the REAL corpus.
38
33
 
39
34
  ## API
40
35
 
@@ -83,43 +78,6 @@ A frontend-agnostic core for the transcript decomposition workflow — composes
83
78
  - `submit_and_wait` _function_ — Submit one capability job, wait for it, and return its result (raise on failure).
84
79
  - `vad_chunks_from_result` _function_ — Normalize a typed VAD result into segment-local VAD chunks.
85
80
 
86
- ### `tests.test_alignment`
87
-
88
- - `test_assign_words_to_chunks_by_timestamp` _function_
89
- - `test_build_segments_per_chunk` _function_
90
- - `test_empty_chunk_yields_empty_segment_warning` _function_
91
- - `test_map_fa_words_to_text_spans` _function_
92
-
93
- ### `tests.test_graph`
94
-
95
- - `test_edge_topology_spans_coarse_boundary` _function_
96
- - `test_extension_payload_deterministic_ids` _function_
97
- - `test_preprocessed_manifest_distinct_renditions_same_boundaries` _function_
98
- - `test_provenance_refs_and_text_from` _function_
99
- - `test_resolve_root_ids_recomputation` _function_
100
-
101
- ### `tests.test_models`
102
-
103
- - `test_faword_from_wire_tolerates_extra_keys` _function_
104
- - `test_manifest_save_round_trip` _function_
105
- - `test_manifest_shape_and_run_id` _function_
106
- - `test_stage5_segment_shape` _function_
107
- - `test_vad_chunk_duration` _function_
108
-
109
- ### `tests_manual.measure_cold_fanout_overlap_e2e`
110
-
111
- - `lane_intervals` _function_ — (start, end) UTC intervals for completed jobs of one instance.
112
- - `main` _function_
113
- - `merge` _function_ — Merge overlapping intervals so a side can't double-count itself.
114
- - `overlap_seconds` _function_ — Total seconds where any interval of A overlaps any interval of B.
115
- - `self_overlap_max` _function_ — Max simultaneously in-flight jobs within one lane + seconds at depth >= 2.
116
-
117
- ### `tests_manual.validate_stage7_volume_journal_e2e`
118
-
119
- - `checkpoint_copy` _function_ — Checkpoint-then-copy (the stage-3 G3 backup discipline — never copy
120
- - `journal_rows` _function_
121
- - `main` _function_
122
-
123
81
  ## Dependencies
124
82
 
125
- **Depends on:** `cjm-substrate`
83
+ **Depends on:** `cjm-capability-primitives`, `cjm-context-graph-layer`, `cjm-context-graph-primitives`, `cjm-substrate`, `cjm-transcript-graph-schema`
@@ -1,5 +1,5 @@
1
1
  cjm_substrate>=0.0.51
2
2
  cjm_context_graph_primitives>=0.0.12
3
3
  cjm_capability_primitives>=0.0.10
4
- cjm-context-graph-layer>=0.0.8
4
+ cjm-context-graph-layer>=0.0.10
5
5
  cjm-transcript-graph-schema>=0.0.7
@@ -14,7 +14,7 @@ classifiers = [
14
14
  "Programming Language :: Python :: 3",
15
15
  "Programming Language :: Python :: 3 :: Only",
16
16
  ]
17
- dependencies = ['cjm_substrate>=0.0.51', 'cjm_context_graph_primitives>=0.0.12', 'cjm_capability_primitives>=0.0.10', 'cjm-context-graph-layer>=0.0.8', 'cjm-transcript-graph-schema>=0.0.7']
17
+ dependencies = ['cjm_substrate>=0.0.51', 'cjm_context_graph_primitives>=0.0.12', 'cjm_capability_primitives>=0.0.10', 'cjm-context-graph-layer>=0.0.10', 'cjm-transcript-graph-schema>=0.0.7']
18
18
 
19
19
  [project.urls]
20
20
  Repository = "https://github.com/cj-mills/cjm-transcript-decomp-core"
@@ -1 +0,0 @@
1
- __version__ = "0.0.1"