capt-hook 2.0.0__tar.gz → 3.0.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.
- {capt_hook-2.0.0 → capt_hook-3.0.0}/PKG-INFO +2 -2
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/judge.py +2 -2
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/store.py +3 -4
- {capt_hook-2.0.0 → capt_hook-3.0.0}/pyproject.toml +2 -2
- {capt_hook-2.0.0 → capt_hook-3.0.0}/LICENSE +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/README.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/.claude-plugin/plugin.json +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/__main__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/app.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/classifiers/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/classifiers/conductor.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/classifiers/droid.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/classifiers/native.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/cli.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/command.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/conditions.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/context.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/decisions.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/dispatch.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/events.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/file.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/llm/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/loader.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/log.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/commands.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/lint.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/llm.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/nudge.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/primitives/workflow.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/prompt.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/py.typed +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/cli.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/fix.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/formats.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/pipeline.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/repo.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/scan.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/settings.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/review/sync.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/session.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/settings.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/signals/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/signals/nlp.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/SKILL.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/capt-hook-api.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/pattern-catalog.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/pitfalls.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/testing-hooks.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/bootstrapping-hooks/SKILL.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/scanning-sessions/SKILL.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/scanning-sessions/references/pr-workflow.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/scanning-sessions/references/review-cli.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/translating-styleguides/SKILL.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/translating-styleguides/references/llm-rule-patterns.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/translating-styleguides/references/matcher-reference.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/translating-styleguides/references/tier-rubric.md +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/state.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/style/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/style/matchers.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/style/scope.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/style/types.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/tasks.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/templates/example_hook.py.tmpl +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/testing/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/testing/helpers.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/testing/session_cache.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/testing/types.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/tests/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/tests/helpers.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/types.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/util/__init__.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/util/model_cache.py +0 -0
- {capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: capt-hook
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Declarative hook framework for Claude Code
|
|
5
5
|
Keywords: claude,claude-code,hooks,llm,agents,guardrails,cli
|
|
6
6
|
Author: Yasyf Mohamedali
|
|
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
16
16
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
17
17
|
Classifier: Topic :: Software Development :: Testing
|
|
18
18
|
Classifier: Typing :: Typed
|
|
19
|
-
Requires-Dist: cc-transcript>=
|
|
19
|
+
Requires-Dist: cc-transcript>=3.0,<4
|
|
20
20
|
Requires-Dist: pydantic>=2.0
|
|
21
21
|
Requires-Dist: pydantic-settings>=2.0
|
|
22
22
|
Requires-Dist: tree-sitter>=0.24
|
|
@@ -268,8 +268,8 @@ async def judge_pass(
|
|
|
268
268
|
Incremental and idempotent: each verdict persists as soon as its call
|
|
269
269
|
completes, a failed row stays unjudged and is retried on the next pass, and
|
|
270
270
|
re-running over a fully judged corpus is a no-op. Rows whose heuristic
|
|
271
|
-
:
|
|
272
|
-
|
|
271
|
+
signal confidence sits below :data:`~cc_transcript.mining.NOISE_FLOOR` are
|
|
272
|
+
never sent.
|
|
273
273
|
|
|
274
274
|
Args:
|
|
275
275
|
store: The open review store.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"""The reviewer's SQLite store: feedback events, judge verdicts, and PR candidates.
|
|
2
2
|
|
|
3
3
|
Layers three review tables onto :class:`cc_transcript.mining.FeedbackStore`'s
|
|
4
|
-
event ledger
|
|
5
|
-
documents) and :class:`cc_transcript.judge.VerdictStoreMixin`'s fidelity-aware
|
|
4
|
+
event ledger and :class:`cc_transcript.judge.VerdictStoreMixin`'s fidelity-aware
|
|
6
5
|
verdict table: ``candidates`` (one row per grouped correction or misfire),
|
|
7
6
|
``candidate_observations`` (one row per evidencing feedback event), and ``repos``
|
|
8
7
|
(the per-repo watching flag). Eligibility is judge-aware: only observations whose
|
|
@@ -18,7 +17,7 @@ from enum import StrEnum
|
|
|
18
17
|
from typing import TYPE_CHECKING, Self
|
|
19
18
|
|
|
20
19
|
from cc_transcript.judge.verdicts import VerdictStoreMixin
|
|
21
|
-
from cc_transcript.mining.confidence import
|
|
20
|
+
from cc_transcript.mining.confidence import from_payload
|
|
22
21
|
from cc_transcript.mining.store import FEEDBACK_DDL, FeedbackStore, now
|
|
23
22
|
from cc_transcript.store import FileStateStore
|
|
24
23
|
|
|
@@ -147,7 +146,7 @@ TRANSITIONS: Mapping[CandidateStatus, frozenset[CandidateStatus]] = {
|
|
|
147
146
|
|
|
148
147
|
def signal_confidence(payload_json: object) -> Confidence:
|
|
149
148
|
payload: dict[str, Any] = json.loads(str(payload_json)) if payload_json else {}
|
|
150
|
-
return
|
|
149
|
+
return from_payload(payload["signal"]).confidence
|
|
151
150
|
|
|
152
151
|
|
|
153
152
|
@dataclass(frozen=True, slots=True)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "capt-hook"
|
|
3
|
-
version = "
|
|
3
|
+
version = "3.0.0"
|
|
4
4
|
description = "Declarative hook framework for Claude Code"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "PolyForm-Noncommercial-1.0.0"
|
|
@@ -20,7 +20,7 @@ classifiers = [
|
|
|
20
20
|
]
|
|
21
21
|
requires-python = ">=3.13"
|
|
22
22
|
dependencies = [
|
|
23
|
-
"cc-transcript>=
|
|
23
|
+
"cc-transcript>=3.0,<4",
|
|
24
24
|
"pydantic>=2.0",
|
|
25
25
|
"pydantic-settings>=2.0",
|
|
26
26
|
"tree-sitter>=0.24",
|
|
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
|
{capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/capt-hook-api.md
RENAMED
|
File without changes
|
|
File without changes
|
{capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/pitfalls.md
RENAMED
|
File without changes
|
{capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/authoring-hooks/references/testing-hooks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/scanning-sessions/references/pr-workflow.md
RENAMED
|
File without changes
|
{capt_hook-2.0.0 → capt_hook-3.0.0}/captain_hook/skills/scanning-sessions/references/review-cli.md
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
|