captain-hook: ♻️ Bound and warm prepared transcript evidence - #195
Merged
Merged
Conversation
yasyf
force-pushed
the
perf/prepared-graph-evidence
branch
3 times, most recently
from
September 26, 2026 05:46
0b6de8a to
dd1811f
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
yasyf
force-pushed
the
perf/prepared-graph-evidence
branch
4 times, most recently
from
September 26, 2026 06:28
5b53b06 to
643db30
Compare
Context: Deep hook conditions traverse and reread large registered transcript sets. Summary: Use an event-owned prepared graph, cumulative foreground budgets, and paced root and registry warming. Motivation: Keep terminal hooks responsive without losing independent transcript evidence. Details: Pin cc-transcript v14.28.3, route warming and cleanup through bounded admission, add operator prewarming, refresh fresh-release wheel smoke metadata, document the release, and generate protocol schemas.
yasyf
force-pushed
the
perf/prepared-graph-evidence
branch
from
September 26, 2026 06:34
643db30 to
e3a3b43
Compare
yasyf
marked this pull request as ready for review
September 26, 2026 06:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
A long-running Claude session has 929 registered Codex transcripts totaling about 865 million bytes. Deep Stop conditions previously sent attachment lists on repeated queries, then reread and lowered the same source material. A cold hook could wait until Claude’s 30-second timeout or fail schema validation above 256 attachments.
Summary
Prepare one event-owned graph handle and answer deep predicates from native, revision-keyed facts. Root acquisition, classifier preparation, and graph queries share a 750 ms foreground deadline and a 1,048,576-byte read cap; incomplete evidence fails open without a traceback. Cleanup of cursors, graphs, and leases runs after the hook reply. One persistent-worker queue coalesces root and registered-source warming, runs 8,388,608-byte native steps with pacing after physical reads, and gives warming separate host and owner admission from foreground hooks.
capt-hook transcripts warm --session <id> --root <project>prewarms and verifies both root and registered-source cache hits.Motivation
The graph handle removes path-bearing deep queries from the Python API. Native preparation and append-aware cached facts prevent repeated whole-file reads. The foreground bound preserves terminal responsiveness while a single paced warmer progresses through large roots and registries without recreating storage saturation.
Details
Generated protocol schemas match cc-transcript v14.28.3 at its published tag, and the lockfile pins its verified PyPI wheel hashes. Tests cover cold root and 923-source fail-open, deferred cleanup, foreground latency during warming, mixed Codex append cycles, cache reuse under the same authority, restricted-authority isolation, queue saturation, per-source progress, worker admission, and operator output. The operator reports
classifier_unavailablefor caller-defined Python classifiers, whose callback cannot be reconstructed in a parentless native warmer; the affected redhorse owner has nohooks/conf.pyand uses built-in classification.