- SCOPE.md rewritten with repo-specific boundaries and current state - INTENT.md: consumer contract and capability id - AGENTS.md: developer workflow (test/run/validate) - registry/: capability.infotech.provenance-fetch (D2/A2/C1/R1) - workplans: WP-0001 finished, WP-0002 proposed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 153021@bnt-lap001 Assistant-Session: 46917be4-6400-4106-b8b7-61953a0caf24
1.2 KiB
1.2 KiB
INTENT
web-fetcher exists to give research repositories a shared, trustworthy way
to pull data from the web and from public APIs.
Core commitments
- Provenance first. No value without source, URL, retrieval time and payload hash.
- Never invent. Missing data is an explicit
not_found, never a guess. Language models are not a data source here. - Reusable adapters. Statistics APIs, CSV/JSON endpoints and spreadsheets behind one small interface. New sources are added as adapters with offline fixture tests.
- Replayable. An optional content-addressed cache reproduces a run from the exact bytes it used.
- Minimal footprint. Standard library only, so it runs inside executors (for example rein-aharness on railiance01) without dependency management.
Contract. Consumers depend on the Observation fields and the spec
format documented in README.md; adapters may be added freely, but changing
those fields is a breaking change. Discoverable through reuse-surface as
capability.infotech.provenance-fetch.
Out of scope: crawling, scraping behind logins, LLM-based extraction, scheduling (activity-core owns when), and execution orchestration (rein-aharness owns how it runs).