cc-transcript 12.1.0__tar.gz → 12.1.1__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-12.1.0 → cc_transcript-12.1.1}/PKG-INFO +1 -1
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/facts.py +1 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/judge/similar.py +3 -1
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/__init__.py +2 -1
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/store.py +4 -2
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/tools.py +2 -2
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/pyproject.toml +1 -1
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/Cargo.lock +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/Cargo.toml +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/LICENSE +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/README.md +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/__init__.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/__main__.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/_parser_rs.pyi +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/activity.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/activity_probe.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/backend.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/builders.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/cli.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/command.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/context.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/corrections.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/corrections_cli.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/cost.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/decisions.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/discovery.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/disktruth.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/evidence.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/extract/__init__.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/extract/correct.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/filterspec.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/ids.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/judge/__init__.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/judge/llm.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/judge/verdicts.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/ledger.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/candidates.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/confidence.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/engine.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/filterspec.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/formats.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/sampling.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/signals.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/sourcekind.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/mining/spec.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/models.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/notifications.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/parser.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/py.typed +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/query.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/render.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/rust.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/__init__.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/buckets.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/data/afinn-en-165.tsv +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/data/domain_overrides.tsv +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/engine.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/lexicon.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/scorespec.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/store.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/cc_transcript/watch.py +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/Cargo.toml +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/build.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/data/command_prefix_pins.tsv +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/rustfmt.toml +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/activity.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/command.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/event.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/filter.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/generated/command.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/generated/mining.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/generated/mod.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/generated/protocol.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/generated/unicode.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/lexicon.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/lib.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/mining.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/model.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/parse.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/protocol.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/python.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/score.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/types.rs +0 -0
- {cc_transcript-12.1.0 → cc_transcript-12.1.1}/rust/src/value.rs +0 -0
|
@@ -95,6 +95,7 @@ def fact_of(use: ToolUse, session_id: SessionId, path: Path, prefixes: tuple[str
|
|
|
95
95
|
call = use.call
|
|
96
96
|
server, tool, access = mcp_split(call.name)
|
|
97
97
|
denied, user_said = denial_fields(use.result)
|
|
98
|
+
assert use.ref.tool_use_id is not None, "ToolUse refs always carry the tool-use id"
|
|
98
99
|
return ToolFact(
|
|
99
100
|
ts=use.ts,
|
|
100
101
|
session_id=session_id,
|
|
@@ -188,7 +188,9 @@ async def embed_evidence(store: FileStateStore, *, dedup_key: DedupKey, canonica
|
|
|
188
188
|
await prepare_connection(store)
|
|
189
189
|
async with store.lock:
|
|
190
190
|
cursor = await store.conn.execute("SELECT text FROM feedback_events WHERE dedup_key = ?", (dedup_key,))
|
|
191
|
-
|
|
191
|
+
row = await cursor.fetchone()
|
|
192
|
+
assert row is not None, "verdict dedup keys always resolve to a stored feedback event"
|
|
193
|
+
text = row["text"]
|
|
192
194
|
embedder = await anyio.to_thread.run_sync(default_embedder)
|
|
193
195
|
vector = await anyio.to_thread.run_sync(embedder, f"{text}\n{summary}")
|
|
194
196
|
return Evidence(serialize_vector(vector), text, canonical_key)
|
|
@@ -11,7 +11,8 @@ disqualification rules, their review formats), capture each candidate's durable
|
|
|
11
11
|
:class:`~cc_transcript.context.ContextWindow` via
|
|
12
12
|
:func:`~cc_transcript.context.capture_window`, and persist them through
|
|
13
13
|
:class:`FeedbackStore`. LLM verdict passes over the stored corpus live in
|
|
14
|
-
:mod:`cc_transcript.judge
|
|
14
|
+
:mod:`cc_transcript.judge`; deterministic "did not steer here" negatives come
|
|
15
|
+
from :func:`sample_windows`.
|
|
15
16
|
|
|
16
17
|
The :class:`MiningSpec` is the mining analogue of :class:`~cc_transcript.FilterSpec`
|
|
17
18
|
and :class:`~cc_transcript.sentiment.ScoreSpec`: a frozen-dataclass tree with a JSON
|
|
@@ -150,9 +150,11 @@ class FeedbackStore:
|
|
|
150
150
|
by_source_cur = await conn.execute(
|
|
151
151
|
"SELECT source_kind, COUNT(*) AS n FROM feedback_events GROUP BY source_kind ORDER BY source_kind"
|
|
152
152
|
)
|
|
153
|
+
total_row, files_row = await total_cur.fetchone(), await files_cur.fetchone()
|
|
154
|
+
assert total_row is not None and files_row is not None, "COUNT(*) always returns one row"
|
|
153
155
|
return Stats(
|
|
154
|
-
total=
|
|
155
|
-
files=
|
|
156
|
+
total=total_row["n"],
|
|
157
|
+
files=files_row["n"],
|
|
156
158
|
by_source={row["source_kind"]: row["n"] async for row in by_source_cur},
|
|
157
159
|
)
|
|
158
160
|
|
|
@@ -90,7 +90,7 @@ class EditSpan:
|
|
|
90
90
|
def from_raw(cls, span: object) -> Self:
|
|
91
91
|
match span:
|
|
92
92
|
case {"old_string": str() as old, "new_string": str() as new}:
|
|
93
|
-
return cls(old, new, span.get("replace_all", False))
|
|
93
|
+
return cls(old, new, bool(span.get("replace_all", False)))
|
|
94
94
|
case _:
|
|
95
95
|
raise TypeError(f"edit span missing or malformed: {span!r}")
|
|
96
96
|
|
|
@@ -408,7 +408,7 @@ ToolCall = (
|
|
|
408
408
|
| OtherCall
|
|
409
409
|
)
|
|
410
410
|
|
|
411
|
-
TOOL_TYPES: dict[str, type[
|
|
411
|
+
TOOL_TYPES: dict[str, type[ToolCall]] = {
|
|
412
412
|
"Bash": BashCall,
|
|
413
413
|
"Edit": EditCall,
|
|
414
414
|
"MultiEdit": MultiEditCall,
|
|
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-12.1.0 → cc_transcript-12.1.1}/cc_transcript/sentiment/data/domain_overrides.tsv
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
|