Repository navigation
#138 PR 2/2: the content.capture consumer, off by default - #158
Merged
Merged
Conversation
…ng helpers shared with fetch Co-authored-by: Shelley <shelley@exe.dev>
…ture alone, one pacer for fetch and capture; scratch-only seed_capture Co-authored-by: Shelley <shelley@exe.dev> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ell through the handler to capture_stored Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…h stream across AGENTS, STREAMS, COMMANDS, ENVIRONMENT, ARCHITECTURE; runbook phase B AGENTS.md pays for its lines with duplicate pointers (5991 -> 5989 tokens). COMMANDS.md tightens its DLQ history and loops the per-stream rcli lines. CI's import smoke names the capture types. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…first response is bounded too Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…full page is as wide as its overflow Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…history prose tightened, the journal-line note moved to the runbook Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… on one pacer go out an interval apart; the total wait stays under the park bound Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rest of a navigation's net::ERR either retries or reaches the delivery ceiling Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a long screenshot; say so Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e contract's size reads width × height; the design names the real setting Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, as a 429 does Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e pacer serves two concurrent loops Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s certificate and version/cipher failures under handler_error, as the code does Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…overs, rather than "the publishers" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… slept past (fails on the pre-CR-14 pace) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, so a leak into the default fails it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he runbook, as an unstartable one does Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…h the consumer's two end-to-end ones Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…laim lands a second into boot Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Open
15 of 19 tasks
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.
Closes #138. PR 2 of 2: the
content.captureconsumer, on PR 1's runtime (#157). Off by default (REPLICATOR_CAPTURE_ENABLED); merge after runbook phase A is deployed and read back.CAPTURE_SPEC(groupreplicator.capture, dedupe segmentcapture),capture.py(validate → pace → render → store →capture_stored) andcapture_reporter.py, both facts oncontent.artifacts. Nocontent.blobsfact, no change fingerprint.0, never$; one test launch; a browser that can't start degrades capture alone (worker ready:capture: unavailable, a CRITICAL naming the runbook).HostPacerfor fetch and capture, lifted intomain.run;pacere-reads after each wait, so two loops on one host go out an interval apart (CR 14).REPLICATOR_CAPTURE_MAX_WAIT_SECONDS(3 × wait + 30 ≤ REPLICATOR_MAX_FETCH_SECONDS, CR 5),…_MEMORY_MAX_BYTES,…_CGROUP,REPLICATOR_PLAYWRIGHT_BROWSERS_PATH.docs/contracts/content-capture-issuer-contract.md, the normativereasonregistry (invalid_request_options,wait_timeout(terminal),destination_refused,not_fetchable,http_status,too_large, plus the loop's two). The charter moves archival capture out of future;capture_reporter.pyjoinsDOMAIN_ECHO_MODULES.scripts/seed_capture.py(scratch only); the loop against a scratch broker; the real shell through the handler tocapture_stored.Its final tree is the one reviewed (CR 1–36 on #138) and tested: full suite 1671 passed,
-m browser23/23, scratch-broker integration 15/15.Post-merge host steps: runbook phase B (deploy still off → the operator writes the flag →
worker readyreadscapture: enabled→ broker#116'sacladminread-back → archiver#380 may issue).🤖 Generated with Claude Code