REUSE-WP-0019-T05: reuse telemetry aggregation into R-axis evidence
reuse_surface/reports.py: collect_reuse_events() merges the hub's GET /v1/reuse-events (if reachable) with this repo's local JSONL fallback, deduped. collect_reuse_report() aggregates per-capability consumer counts, outcome breakdown, and last-used. collect_reused_by_suggestions() proposes evidence-gated relation_add patches -- only for capabilities this repo owns, only for consumer repos not already listed -- reusing the existing patches.py:apply_patches mechanism (relation_add already isn't in SAFE_DETERMINISTIC_KINDS, so it was already never auto-applied by maintain --auto). New CLI: reuse-surface report reuse [--capability-id] [--format] [--suggest-relations] [--apply]. --apply requires --suggest-relations and is the only thing that writes -- nothing happens automatically from telemetry alone. schemas/capability.schema.yaml: added relations.reused_by as a new repoSlugList type, distinct from the existing capability-id relations, since reused-by targets are consumer repo slugs. specs/CapabilityMaturityStandard.md Sec8.9: what observed-reuse evidence counts toward R2->R3 (single corroborating consumer) vs R3->R4+ (multiple independent consumers) and what it never substitutes for. 19 new pytest cases, 162 total pass. Live-verified with synthetic local events against a real capability entry: --suggest-relations --apply correctly wrote relations.reused_by via the real apply_patches path (reverted after, since it was a smoke test). Deliberately deferred: surfacing consumer counts in the catalog/graph -- graph.py's relation model is capability-to-capability edges, a different namespace than repo-slug reused_by targets; catalog.py doesn't currently parse full front matter per entry. Left for a follow-up. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
e6e275ce79
commit
bca7165e02
8 changed files with 576 additions and 13 deletions
7
SCOPE.md
7
SCOPE.md
|
|
@ -90,6 +90,13 @@ The MVP registry foundation, CLI tooling (REUSE-WP-0003), federation stack
|
|||
`POST /v1/reuse-events` when the hub is reachable, falling back to
|
||||
`registry/telemetry/plan-check-events.jsonl` otherwise (same schema
|
||||
either way); `GET /v1/reuse-events?capability_id=` aggregates them
|
||||
- **Aggregate reuse telemetry into R-axis evidence** (REUSE-WP-0019-T05) —
|
||||
`reuse-surface report reuse` shows per-capability consumer counts,
|
||||
outcomes, and last-used; `--suggest-relations` proposes evidence-gated
|
||||
`relations.reused_by` patches (via the same `apply_patches` mechanism
|
||||
`maintain` uses), applied only with an explicit `--apply` — never
|
||||
automatic. `specs/CapabilityMaturityStandard.md` §8.9 documents what
|
||||
observed-reuse evidence does (and doesn't) count toward R2/R3+
|
||||
|
||||
Registry **tooling** availability is **A4** (CLI plus hosted hub HTTP API).
|
||||
Registry **authoring** remains Markdown-first; consumption combines entries, the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue