Design: move the collector to Argus (Firecrawl + Claude) - #73
Merged
Conversation
Phase 2: retire collect.yml and run collection on Argus, retrieving through the self-hosted Firecrawl already on the box and using Claude for the relevance judgment that keyword heuristics do badly. Records the two failures it targets (2 of 33 due sources unreached, 97 detections queued for review) and the four constraints that keep model output out of the curated register. Notes the structural decision that is easy to get wrong: the collector needs its own checkout, because committing into the serving checkout would trip the deploy script's fast-forward guard on every run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Design only — no code changes. Phase 2 of the move to Argus, following #72.
Read:
docs/collector-argus.mdShape
Retire
collect.yml. Run collection on Argus, retrieving through the Firecrawl stack already self-hosted on the box and using Claude for the relevance judgment that keyword heuristics do badly.collect.ts, dedup, watch-state,validate:dataand thepolicies.jsonguard all stay, along with their ~3,300 lines of tests.The two failures it targets
Measured, not assumed:
degraded), plus 1 source markedmanualbecause its publisher blocks automation.pending_review.Four constraints on the model
These are the design, not caveats:
data/policies.jsonis never touched. The existing guard stays and becomes the most important check in the pipeline.Structural decision worth reviewing
The collector needs its own checkout. It cannot run in
~/live/policai, becausepolicai-deploy.shrefuses to pull when localHEADis not an ancestor oforigin/main— a collector committing there would trip that guard every run, correctly. So it clones separately and pushes to GitHub; the serving checkout learns about new data by pulling, exactly as it does for a merged PR.Operational notes captured
maindirectly: admin is a bypass actor on the "Protect main" ruleset.Documentation is in scope, not a follow-up
AGENTS.md,README.md,docs/trust-model.md,docs/collector.mdand the methodology page all currently state that analysis is deterministic with no external AI provider. That becomes false. Rewriting them ships with the code — on a site whose purpose is to be trustworthy about Australian AI policy, an inaccurate claim about its own use of AI is the most damaging defect available.🤖 Generated with Claude Code