Commit graph

29 commits

Author SHA1 Message Date
d1de320743 Close REUSE-WP-0020: evidence-binder live, 64 capabilities federated
All checks were successful
ci / validate-registry (push) Successful in 1m6s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
evidence-binder published their repaired index at e462775 and correctly held
the re-enable request until it was visible on Forgejo. Pre-checked this time
before touching production: backing entries return 200, and a local compose of
all 61 sources gave 64 capabilities with zero warnings and no duplicate IDs.

Public endpoint now serves 61 sources / 64 capabilities, with both
capability.evidence.binding and capability.evidence.rect-registry at
D3 / A2 / C3 / R3.

Open T09 for the gap this exposed: enabling a source does not invalidate the
composed index. The endpoint kept serving a stale compose, reporting
stale: false throughout, until POST /v1/federated/compose was called by hand.
A repo can be correctly registered and silently invisible.

SCOPE.md: refresh the federated counts, record the deployed image, and correct
the multi-domain claim — member rows have begun carrying their own domain
(evidence-binder publishes domain: infotech) even though the manifest is still
composed under helix_forge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 10:46:59 +02:00
823ce9e120 Add standard SCOPE.md sections and capability blocks (REUSE-WP-0020-T07)
Clears the hub scope check's C5b/C5c warnings: Relevant When, Not Relevant
When, How It Fits, Terminology, Related / Overlapping, and Provided
Capabilities were all missing, along with any fenced capability block.

The Terminology section calls out something this workplan ran into for real:
the fenced `capability` blocks in SCOPE.md (type/title/description/keywords)
look like index rows in registry/indexes/capabilities.yaml but are a different
shape and are not validated. evidence-binder copied the SCOPE block shape into
its index, which is why it had no `id` and broke federation composition.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 03:21:45 +02:00
f9d957a221 REUSE-WP-0019-T06: hub freshness monitoring, docs, close workplan
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
ci / validate-registry (push) Has been cancelled
Build and Publish Container Image / build-and-push (push) Successful in 1m4s
reuse_surface/stats.py: _hub_summary() now reports composed_at, stale,
age_days, freshness_threshold_days (REUSE_SURFACE_FRESHNESS_DAYS env,
default 7), and a computed stale_warning. New hub_client.hub_federated()
backs it. format_stats_markdown surfaces a STALE marker when triggered.

.forgejo/workflows/ci.yml: new informational (non-failing) hub freshness
check against the live production hub on every push -- prints a
:⚠️: annotation when stale, never fails the build.

docs/RegistryFederation.md: new section tying together the webhook (T02),
scheduled fallback (T03), and freshness visibility (T06) into one
explanation. docs/deploy/reuse-kubernetes.md: updated for the T03 Forgejo
migration and the now-automated image.yaml build; image promotion
checklist updated for the known /health ingress bug (verify via
/v1/repos or /v1/federated instead).

14 new pytest cases, 173 total pass. Live-verified against production:
reuse-surface stats correctly showed composed_at/age_days for the real
federated index. Separately discovered and confirmed (via a live signed
webhook test) that reuse-surface-env moving to ExternalSecret/OpenBao
custody (railiance-apps commit 706f6c7, found while updating these docs)
did not break the T02/T03 webhook -- the synced value still matches what
the hub actually uses.

REUSE-WP-0019 is now fully complete (T01-T06). SCOPE.md and
docs/IntentScopeGapAnalysis.md updated to reflect closure.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 00:09:58 +02:00
bca7165e02 REUSE-WP-0019-T05: reuse telemetry aggregation into R-axis evidence
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
ci / validate-registry (push) Has been cancelled
Build and Publish Container Image / build-and-push (push) Successful in 1m23s
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>
2026-07-07 22:47:51 +02:00
d181043717 REUSE-WP-0019-T04: reuse telemetry store and recording
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 10s
ci / validate-registry (push) Has been cancelled
Build and Publish Container Image / build-and-push (push) Successful in 1m16s
Implements the hub side of the shared reuse-event schema (already drafted
in WP-0018-T01, schemas/reuse-event.schema.json): a SQLite reuse_events
table, POST /v1/reuse-events (token-auth), GET /v1/reuse-events?capability_id=
(read-only).

reuse_surface/plan_check.py: refactored record_outcome around a new
shared post_or_fallback_reuse_event() helper -- tries the hub first, falls
back to the local JSONL only on failure/unreachability, never both. New
record_manual_reuse_event() backs a new CLI command, reuse-surface
record-reuse, for retroactive facts recorded outside plan-check.

Privacy/scope (repo slugs and capability ids only, no code, no secrets) is
enforced structurally via the schema's additionalProperties: false, not
just by convention.

21 new pytest cases, 145 total pass. Live-verified against a real running
hub instance: POST/GET /v1/reuse-events directly, record-reuse and
plan-check --record-outcome both posting successfully to the hub, and --
after actually killing the hub process -- confirmed the fallback path
writes correctly to the local JSONL instead of erroring.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 22:32:19 +02:00
09d5b0f131 REUSE-WP-0019-T03: add Forgejo Actions workflows (part 2 of prior commit)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
ci / validate-registry (push) Successful in 2m13s
Build and Publish Container Image / build-and-push (push) Successful in 2m13s
The .forgejo/workflows/ files and doc updates described in 4862ed6 didn't
actually get staged there (git add silently skipped them after an earlier
pathspec miss on the already-deleted .gitea file) -- committing them now.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 21:25:01 +02:00
a5e9a4a242 Finish REUSE-WP-0017: T05 approved, T07 closeout complete.
Mark coverage campaign finished with 62/62 roster coverage and 61
production federated capabilities; update SCOPE.md current state and
add completion milestone history.
2026-07-07 16:37:53 +02:00
e72966a658 REUSE-WP-0018 T01/T02/T04/T06: plan-check deterministic matching + State Hub bridge
T01: specs/PlanCheck.md design doc, plan-check-result.schema.json and
reuse-event.schema.json (the latter shared with WP-0019's reuse telemetry).

T02: reuse_surface/plan_check.py + 'reuse-surface plan-check' CLI command.
Deterministic token-Jaccard matching against registry/indexes/federated.yaml
(reuses overlaps.py's TOKEN_RE rather than a second scoring method), with
reuse/extend/new verdicts, markdown and --format json output, staleness
warning, and --record-outcome JSONL telemetry.

T04: reuse_surface/statehub_bridge.py bridges plan-check 'new' verdicts to
State Hub capability requests (--file-request) and surfaces open requests
with no matching capability (report gaps --check-capability-requests, opt-in
to stay offline-safe). Verified against the live local State Hub API;
status field (not catalog_entry_id presence) is the correct open/closed
signal, and the list endpoint needs a longer timeout than the health check
(~7s observed with 5 rows).

T06: docs (tools/README.md, RegistryFederation.md, SCOPE.md,
IntentScopeGapAnalysis.md priority 29) and an informational CI smoke step.

T03 (LLM rerank) not started -- llm-connect isn't running on this
workstation. T05 (ecosystem rollout) remains blocked: WP-0017 has drafted
entries for all 61 repos but they're still local-only pending its own T05
push/publish pass, so the federated index isn't yet worth rolling out
plan-check as ecosystem convention.

16 new tests, all mocked -- no network calls in the default test run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 00:57:18 +02:00
b24ec507aa WP-0016 finished: interactive registry maintain with llm-connect automation
Closes the registry maintenance loop from inside each domain repo:
interactive prompting for judgment calls, full automation for safe and
high-confidence changes, both backed by the llm-connect HTTP bridge.

- New modules: maintain.py, maintain_llm.py, patches.py, interactive.py
- Schema: schemas/registry-patch.schema.json
- CLI: reuse-surface maintain; establish --scaffold --hook
- Sibling templates: Makefile fragment, pre-commit hook
- Deterministic signal collectors extended; validate cwd auto-detect
- Docs, gap priority 28, SCOPE update
- Tests: test_maintain.py, test_interactive.py (59 pytest total)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 04:00:39 +02:00
2b222d0bc8 WP-0015 finished: coulomb org transfer completes 60/60 publish
After Gitea UI transfer of tegwick/whynot repos to coulomb, align
workstation remotes and federation sources to coulomb/<slug>. Roster
sweep 60/60 pass; compose has 0 fetch warnings. Mark workplan finished.
2026-06-16 21:07:05 +02:00
29c77ff1f7 WP-0015: complete compose acceptance after Gitea visibility fix
Refresh federated index (20 capabilities, 0 duplicate warnings). Update
workplan, SCOPE, gap analysis, and tests for 59/60 publish pass. Mark
T04/T06 done; T01 remains on tegwick-control repo creation.

Note: production hub whynot URLs still need REUSE_SURFACE_TOKEN update.
2026-06-16 12:35:49 +02:00
14979f0602 WP-0015 follow-up: hub-core publish pass, refresh docs
Re-run federation sweep — hub-core now passes Gitea raw URL probe (12/60
blockers remain). Update workplan progress, SCOPE.md, IntentScopeGapAnalysis,
and operator checklist to reflect T02/T03 closure and current compose stats
(20 capabilities, 0 duplicate warnings).
2026-06-16 03:46:01 +02:00
81c55e598f REUSE-WP-0015: dedup owner entries, add report gaps (T02/T03/T05)
Remove 17 owner-migrated capabilities from reuse-surface index (keep
activity-core stub). Add report gaps CLI, roster stats + gaps CI steps.
T01 remains operator-blocked on Gitea publish.
2026-06-16 02:22:17 +02:00
41f7a2b53a Add post-WP-0014 assessment and REUSE-WP-0015 workplan
Persist intent-scope snapshot (priorities 25–27). Workplan covers Gitea
publish remediation, owner dedup, planning analytics, and compose acceptance.
2026-06-16 02:18:51 +02:00
834abb80f7 docs: refresh SCOPE and INTENT↔SCOPE gap analysis post WP-0014
SCOPE.md reflects 60-repo rollout, federation compose metrics, and open
publish/dedup blockers. IntentScopeGapAnalysis maps INTENT success criteria
to delivery and proposes priorities 25–27.
2026-06-16 02:17:07 +02:00
70a5003f6e Implement REUSE-WP-0013 registry establish, update, and stats
Add stats, establish (scaffold, publish-check, discover), and update CLI
commands with optional llm-connect bridge, validate --root for sibling repos,
pytest coverage, and documentation for sibling registry onboarding.
2026-06-16 01:21:01 +02:00
270065ff58 Implement REUSE-WP-0012 federation scale and intent alignment
Add hub sync and report cohorts CLI commands with pytest coverage, document
sibling index publish contract and hub hardening path, align INTENT layout,
raise external evidence on three registry entries, and close gap priorities
19-23 (priority 18 deferred on sibling index blocks).
2026-06-16 00:42:50 +02:00
3cbf2109d3 Add post-WP-0011 assessment history and REUSE-WP-0012 workplan
Archive INTENT↔SCOPE assessment in history/ and map gap priorities
18–23 to follow-up tasks for federation scale and intent alignment.
2026-06-16 00:33:36 +02:00
5fcca42879 Refresh SCOPE and INTENT gap analysis after WP-0011
SCOPE reflects 20 capabilities, production hub (A4), and current limits.
Gap analysis closes historical MVP gaps and proposes priorities 18–23.
Self-assessed product vector: D5 / A4 / C4 / R3.
2026-06-16 00:30:53 +02:00
b8434aafdf Close REUSE-WP-0011 follow-ups: archive, docs, A4 promotion
- Archive workplan to workplans/archived/260615-REUSE-WP-0011-*.md
- Document browser landing page routing in FederationHubAPI and deploy docs
- Promote capability.registry.register to A4 (hosted hub API evidence)
- Update SCOPE finished workplan list
2026-06-15 16:25:38 +02:00
0181e253a9 Finish REUSE-WP-0011: document hub workflow and close workplan
Hub deployed at reuse.coulomb.social (image cb7a6e4). Dogfood registration
verified; update RegistryFederation, SCOPE, and gap analysis.
2026-06-15 10:15:36 +02:00
e8797b2e91 Complete WP-0010: HTTP remote federation with cache
Extend federation manifest schema for url sources with auth and TTL metadata.
Fetch remote capability indexes over HTTP(S), cache under
registry/federation/cache/, and fall back to stale cache on fetch failure.
Add --refresh flag, seven federation tests, and updated federation docs.
2026-06-15 02:28:44 +02:00
e766f38e6f Complete WP-0006 through WP-0009: registry expansion, catalog, graph, tests
Register six new capabilities (12 total), add searchable catalog UI and graph
explorer, introduce pytest suite with CI fail-on-warnings, and close gap
analysis priorities 13 and 16. WP-0010 remains backlog for network federation.
2026-06-15 02:24:20 +02:00
40ab8dded0 Complete REUSE-WP-0005: registry federation and relation graphs
Add federation manifest and schema, federation compose and graph CLI commands,
relation cycle/reference checks, federated index and Mermaid graph artifacts,
RegistryFederation guide, and CI validation updates.
2026-06-15 01:43:02 +02:00
c366fc4a4e Complete REUSE-WP-0004: CI, overlap detection, and catalog generation
Add Gitea CI workflow for registry validation, reuse-surface overlaps and
catalog commands, generated catalog artifacts, and documentation updates
closing gap analysis priorities 9-11.
2026-06-15 01:20:31 +02:00
0dbef6d1a3 Complete REUSE-WP-0003: registry CLI, docs alignment, and coverage
Align INTENT.md with delivered layout, add CapabilityRegistryConcept guide,
extend schema with promotion_history, ship reuse-surface validate/query/export
CLI, register three more helix_forge capabilities, and refresh SCOPE and gap
analysis to reflect A3 tooling and D5/A3/C4/R2 self-assessment.
2026-06-15 01:12:09 +02:00
80bccc4bbb Add intent-scope gap analysis and REUSE-WP-0003 workplan
Document gaps between INTENT.md and SCOPE.md, refresh SCOPE with current
MVP capabilities, and seed the follow-up workplan for documentation
alignment, registry CLI tooling, and coverage growth.
2026-06-15 01:09:53 +02:00
a28a79956b Bootstrap and first implementation 2026-06-15 01:04:30 +02:00
84924f8160 Seeded intent and maturity model 2026-06-15 00:04:09 +02:00