cc-transcript 14.36.0__tar.gz → 14.37.0__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.
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/PKG-INFO +2 -2
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/extract/correct.py +61 -16
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/pyproject.toml +2 -2
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/Cargo.lock +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/Cargo.toml +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/LICENSE +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/README.md +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/__init__.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/__init__.pyi +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/_native.pyi +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/activity.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/activity_probe.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/builders.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/codex.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/command.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/context.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/corrections.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/cost.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/decision_store.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/decisions.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/discovery.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/disktruth.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/evidence.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/extract/__init__.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/facts.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/filterspec.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/heartbeats.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/ids.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/judge/__init__.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/judge/llm.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/judge/similar.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/judge/verdicts.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/ledger.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/literals.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/__init__.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/candidates.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/confidence.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/engine.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/formats.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/sampling.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/signals.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/sourcekind.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/spec.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/mining/store.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/models.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/nlp.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/notifications.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/parser.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/py.typed +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/query.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/render.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/__init__.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/buckets.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/data/afinn-en-165.tsv +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/data/domain_overrides.tsv +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/data/en-ewt.udpipe +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/engine.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/lexicon.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/scorespec.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/config.schema.json +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/context.schema.json +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/request.schema.json +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/response.schema.json +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/tool_registry.schema.json +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshots.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/synthetic.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/tools.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/watch.py +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/Cargo.toml +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/blame.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/corpus.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/corrections.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/digest.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/facts.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/grep.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/list.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/mod.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/scratchpad.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/show.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/slice.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/stats.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/commands/watch.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/lib.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/main.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/output.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/target.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/cli/src/timearg.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/Cargo.toml +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/benches/parse.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/benches/render.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/benches/toolcall.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/activity.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/actor.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/blame.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/buckets.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/discovery.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/lower.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/mod.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/parse.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/probe.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/protocol.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/codex/types.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/command.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/context.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/corrections.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/cost.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/discovery.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/facts.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/feedback.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/filter.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/gateway.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/ids.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/judge.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/lib.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/command.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/corrections.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/feedback.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/mining.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/mod.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/protocol.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/notifications.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/parse.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/protocol.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/pystr.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/query.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/render.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/rng.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_checkpoint.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_grep.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_grep_stream.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_grep_stream_tests.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_index.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_projection.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_regressions.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_stream.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/schema.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_activity.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_codec.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_codex_append.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_labels.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_ledger.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_ledger_tests.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_memory.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_owned.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_prepared.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_prepared_disk.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_prepared_service.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_projection.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_regressions.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_root_warm.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_text.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/sqlite.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/toolcall.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/types.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/value.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/watch.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/tests/sonic_arena_model.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/tests/std_allocation_model.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/Cargo.toml +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/build.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/data/command_prefix_pins.tsv +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/actor_bridge.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/bin/stub_gen.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/codex.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/command.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/context.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/corrections.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/discovery.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/feedback.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/judge.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/lexicon.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/lib.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/mining.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/nlp.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/python.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/render.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/score.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/snapshot_decode.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/snapshots.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/sqlite.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/toolcall.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/attachment.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/blocks.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/command.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/convert.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/dunder.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/events.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/meta.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/mod.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/print.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/store.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/system.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/toolcall.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/toolresult.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/views/transcript.rs +0 -0
- {cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/py/src/watch.rs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cc-transcript
|
|
3
|
-
Version: 14.
|
|
3
|
+
Version: 14.37.0
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -18,7 +18,7 @@ Requires-Dist: ruff>=0.8 ; extra == 'dev'
|
|
|
18
18
|
Requires-Dist: sqlite-vec>=0.1.9 ; extra == 'judge'
|
|
19
19
|
Requires-Dist: model2vec>=0.8.2 ; extra == 'judge'
|
|
20
20
|
Requires-Dist: numpy>=1.26 ; extra == 'judge'
|
|
21
|
-
Requires-Dist: spawnllm>=0.
|
|
21
|
+
Requires-Dist: spawnllm>=0.17.1,<0.18 ; extra == 'llm'
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Provides-Extra: judge
|
|
24
24
|
Provides-Extra: llm
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
:func:`extract_correction` harvests the candidate incorrect edits around a
|
|
4
4
|
feedback anchor (deterministically, via :mod:`cc_transcript.evidence`), then picks
|
|
5
5
|
the single edit the feedback faults and appends that one row to the shared
|
|
6
|
-
ledger. The pick is
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
tool call, never
|
|
6
|
+
ledger. The pick is a Jev label decision by default; when Jev errors or refuses
|
|
7
|
+
it falls back to an LLM call — lifted from cc-steer's enrich prompt — and to the
|
|
8
|
+
best-overlap candidate when no LLM backend is ready either (:func:`usable_backend`
|
|
9
|
+
returns None). The pick keys to the candidate's index, so the row carries the
|
|
10
|
+
real cross-language ``incorrect_digest`` from the harvested tool call, never
|
|
11
|
+
reconstructed content.
|
|
11
12
|
|
|
12
13
|
Behind the ``[llm]`` extra: this module imports pydantic at definition time and
|
|
13
14
|
``spawnllm`` lazily, so only LLM-capable consumers import it. A hook that merely
|
|
@@ -29,7 +30,7 @@ if TYPE_CHECKING:
|
|
|
29
30
|
from collections.abc import Sequence
|
|
30
31
|
from pathlib import Path
|
|
31
32
|
|
|
32
|
-
from spawnllm import LlmBackend, TModel
|
|
33
|
+
from spawnllm import Label, LlmBackend, TModel
|
|
33
34
|
|
|
34
35
|
from cc_transcript.activity import SessionActivity
|
|
35
36
|
from cc_transcript.corrections import Correction, CorrectionLog
|
|
@@ -38,6 +39,13 @@ if TYPE_CHECKING:
|
|
|
38
39
|
from cc_transcript.tools import Hunk
|
|
39
40
|
|
|
40
41
|
HUNK_BUDGET = Budget(tool_chars=600)
|
|
42
|
+
NO_CANDIDATE = "none"
|
|
43
|
+
|
|
44
|
+
PICK_QUESTION = """\
|
|
45
|
+
Which single candidate edit does the developer FEEDBACK fault? The candidates are edits an AI coding \
|
|
46
|
+
assistant made shortly before the feedback, newest first, each with the correction that later overwrote \
|
|
47
|
+
it when one was found; the correction ranked most likely by content overlap is tagged [likely fix]. \
|
|
48
|
+
Answer none when the feedback faults the approach, a command, or work outside these edits."""
|
|
41
49
|
|
|
42
50
|
PICK_PROMPT = """\
|
|
43
51
|
You are grounding one piece of developer FEEDBACK on an AI coding assistant's work
|
|
@@ -107,17 +115,37 @@ def candidate_block(index: int, pair: CandidatePair, *, anchor_turn: int, likely
|
|
|
107
115
|
)
|
|
108
116
|
|
|
109
117
|
|
|
110
|
-
def
|
|
118
|
+
def candidate_blocks(pairs: Sequence[CandidatePair], *, anchor_turn: int) -> str:
|
|
111
119
|
likely = likely_fix(pairs)
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
return "\n\n".join(
|
|
121
|
+
candidate_block(index, pair, anchor_turn=anchor_turn, likely=pair is likely)
|
|
122
|
+
for index, pair in enumerate(pairs, 1)
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def build_pick_prompt(feedback: str, pairs: Sequence[CandidatePair], *, anchor_turn: int) -> str:
|
|
127
|
+
return PICK_PROMPT.format(candidates=candidate_blocks(pairs, anchor_turn=anchor_turn), feedback=feedback)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def pick_label(pairs: Sequence[CandidatePair]) -> Label:
|
|
131
|
+
from spawnllm import Label
|
|
132
|
+
|
|
133
|
+
return Label(
|
|
134
|
+
PICK_QUESTION,
|
|
135
|
+
{
|
|
136
|
+
NO_CANDIDATE: "The feedback is not about any of these edits",
|
|
137
|
+
**{
|
|
138
|
+
str(index): f"candidate {index}: {pair.incorrect.file_path} ({pair.incorrect.tool})"
|
|
139
|
+
for index, pair in enumerate(pairs, 1)
|
|
140
|
+
},
|
|
141
|
+
},
|
|
118
142
|
)
|
|
119
143
|
|
|
120
144
|
|
|
145
|
+
def pair_for(choice: str, pairs: Sequence[CandidatePair]) -> CandidatePair | None:
|
|
146
|
+
return None if choice == NO_CANDIDATE else pairs[int(choice) - 1]
|
|
147
|
+
|
|
148
|
+
|
|
121
149
|
def usable_backend() -> LlmBackend | None:
|
|
122
150
|
"""The first ready spawnllm backend for the ``review`` specialty, or None when none is ready.
|
|
123
151
|
|
|
@@ -132,11 +160,27 @@ def usable_backend() -> LlmBackend | None:
|
|
|
132
160
|
return None
|
|
133
161
|
|
|
134
162
|
|
|
163
|
+
async def jev_choice(pairs: Sequence[CandidatePair], *, feedback: str, anchor_turn: int) -> str | None:
|
|
164
|
+
from spawnllm import DecideError, DecideKeyMissing, LabelAnswer, decide
|
|
165
|
+
|
|
166
|
+
try:
|
|
167
|
+
decision = await decide(
|
|
168
|
+
{"candidate_edits": candidate_blocks(pairs, anchor_turn=anchor_turn), "feedback": feedback},
|
|
169
|
+
{"pick": pick_label(pairs)},
|
|
170
|
+
)
|
|
171
|
+
except (DecideError, DecideKeyMissing, TimeoutError):
|
|
172
|
+
return None
|
|
173
|
+
answer = decision.answers["pick"]
|
|
174
|
+
return answer.choice if isinstance(answer, LabelAnswer) else None
|
|
175
|
+
|
|
176
|
+
|
|
135
177
|
async def choose_pair(
|
|
136
178
|
pairs: Sequence[CandidatePair], *, feedback: str, anchor_turn: int, tier: TModel, backend: LlmBackend | None
|
|
137
179
|
) -> CandidatePair | None:
|
|
138
180
|
from spawnllm import extract
|
|
139
181
|
|
|
182
|
+
if (choice := await jev_choice(pairs, feedback=feedback, anchor_turn=anchor_turn)) is not None:
|
|
183
|
+
return pair_for(choice, pairs)
|
|
140
184
|
if backend is None:
|
|
141
185
|
return max(pairs, key=lambda pair: pair.overlap)
|
|
142
186
|
pick = await extract(
|
|
@@ -158,9 +202,10 @@ async def extract_correction(
|
|
|
158
202
|
) -> Correction | None:
|
|
159
203
|
"""Harvests around ``anchor`` and appends the one correction ``feedback`` faults.
|
|
160
204
|
|
|
161
|
-
The faulted candidate is
|
|
162
|
-
|
|
163
|
-
|
|
205
|
+
The faulted candidate is Jev's pick; when Jev errors or refuses, it is the
|
|
206
|
+
LLM's pick when ``backend`` is given, else the best-overlap candidate.
|
|
207
|
+
Idempotent per anchor: a no-op when this anchor already has a row, so
|
|
208
|
+
re-runs and overlapping producers never duplicate.
|
|
164
209
|
Returns the appended correction, or None when nothing is harvested or picked.
|
|
165
210
|
"""
|
|
166
211
|
if await log.for_anchor(anchor.session_id, anchor.event_uuid):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "cc-transcript"
|
|
3
|
-
version = "14.
|
|
3
|
+
version = "14.37.0" # informational — releases stamp the version from the git tag
|
|
4
4
|
description = "Grep every Claude Code session you've ever run."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "PolyForm-Noncommercial-1.0.0"
|
|
@@ -41,7 +41,7 @@ dev = [
|
|
|
41
41
|
"ty>=0.0.44",
|
|
42
42
|
"ruff>=0.8",
|
|
43
43
|
]
|
|
44
|
-
llm = ["spawnllm>=0.
|
|
44
|
+
llm = ["spawnllm>=0.17.1,<0.18"]
|
|
45
45
|
judge = [
|
|
46
46
|
"sqlite-vec>=0.1.9",
|
|
47
47
|
"model2vec>=0.8.2",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/data/afinn-en-165.tsv
RENAMED
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/sentiment/data/domain_overrides.tsv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/config.schema.json
RENAMED
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/context.schema.json
RENAMED
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/request.schema.json
RENAMED
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/cc_transcript/snapshot_schema/response.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/literals/corrections.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/scan_grep_stream_tests.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_codex_append.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_ledger_tests.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_prepared_disk.rs
RENAMED
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_prepared_service.rs
RENAMED
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/src/snapshot_regressions.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cc_transcript-14.36.0 → cc_transcript-14.37.0}/rust/crates/core/tests/std_allocation_model.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|