Finish WEBFETCH-WP-0001: refine SCOPE/INTENT, dev workflow, reuse-surface registry, seed WP-0002

- 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
This commit is contained in:
tegwick 2026-10-19 13:51:40 +02:00
parent 5fd7ec7257
commit 2ea8c1337a
8 changed files with 321 additions and 17 deletions

View file

@ -4,13 +4,13 @@ type: workplan
title: "Bootstrap State Hub integration"
domain: infotech
repo: web-fetcher
status: ready
status: finished
flavor: planning
depends_on: []
owner: codex
topic_slug: stack
created: "2026-10-13"
updated: "2026-10-13"
updated: "2026-10-19"
state_hub_workstream_id: "29736794-d8ef-5d40-bf8c-8282f89e9e9c"
---
@ -22,7 +22,7 @@ Provenance-first, standard-library fetching of data from public APIs and web sou
```task
id: WEBFETCH-WP-0001-T01
status: todo
status: done
priority: high
state_hub_task_id: "3f92d202-2519-52f5-bfd4-1dccf5d2ea7d"
```
@ -34,7 +34,7 @@ Replace generated placeholders with repo-specific facts where needed.
```task
id: WEBFETCH-WP-0001-T02
status: todo
status: done
priority: high
state_hub_task_id: "91ff2856-e756-5716-9837-b7d25e3cad22"
```
@ -47,7 +47,7 @@ changes confidently.
```task
id: WEBFETCH-WP-0001-T03
status: todo
status: done
priority: medium
state_hub_task_id: "6af171f2-f9b4-5530-912a-46dd81da6b2c"
```
@ -59,3 +59,14 @@ checkout:
```bash
statehub fix-consistency
```
## Outcome (2026-10-19)
- T01: `SCOPE.md` rewritten with repo-specific boundaries; `INTENT.md` gained the
consumer contract; `AGENTS.md` and `.custodian-brief.md` reviewed.
- T02: Developer workflow table added to `AGENTS.md` (tests: 8 passing offline).
- T03: Seeded `WEBFETCH-WP-0002` (versioned release and fetch hardening).
- Also: registered `capability.infotech.provenance-fetch` with reuse-surface
(`registry/`) and added web-fetcher to reuse-surface federation sources.
Residuals: carried in `WEBFETCH-WP-0002`.

View file

@ -0,0 +1,68 @@
---
id: WEBFETCH-WP-0002
type: workplan
title: "Versioned release and fetch hardening"
domain: infotech
repo: web-fetcher
status: proposed
flavor: implementation
depends_on: [WEBFETCH-WP-0001]
owner: codex
topic_slug: stack
created: "2026-10-19"
updated: "2026-10-19"
---
# Versioned release and fetch hardening
Move `capability.infotech.provenance-fetch` from A2 (source) to A3 (versioned,
installable release) and close the reliability gaps listed in the capability
record, without adding third-party dependencies.
## Retry and Backoff in fetch_bytes
```task
id: WEBFETCH-WP-0002-T01
status: todo
priority: high
```
Add bounded retry with exponential backoff for transient failures (connection
errors, HTTP 429/5xx), honouring `Retry-After`. Retries must not change
provenance semantics: `retrieved_at` and `payload_sha256` describe the attempt
that succeeded. Offline tests with a fake getter.
## Opt-in Live Smoke Test
```task
id: WEBFETCH-WP-0002-T02
status: todo
priority: medium
```
Add a live smoke test (skipped unless `WEB_FETCHER_LIVE=1`) that runs one spec
per adapter against the real endpoints, to detect upstream shape changes that
fixtures cannot.
## Tagged Release Installable from Forgejo
```task
id: WEBFETCH-WP-0002-T03
status: todo
priority: high
```
Add a CHANGELOG, tag `v0.1.0` (or `v0.2.0` with T01), and document
`pip install git+https://forgejo.coulomb.social/coulomb/web-fetcher@<tag>`.
Point assembly-economics at the tag instead of `WEB_FETCHER_PATH`.
## Update Capability Record
```task
id: WEBFETCH-WP-0002-T04
status: todo
priority: medium
```
Promote availability A2 → A3 with evidence citations and a `promotion_history`
entry; update `SCOPE.md` current state.