The claims name the workloads covered by RELREG-WP-0004. Each pin is a digest the live object already shows.
Assistant: grok
Assistant-Session: 01a16880-25e0-7031-b553-a1e0321ff397
capability.infotech.release-coverage is composed from the local checkout
into the federated index.
Assistant: grok
Assistant-Session: 01a15f9f-3d77-7d21-911b-d93c86f9d14f
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 8340@bnt-lap001
Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 605711@bnt-lap001
Assistant-Session: 1f5e2256-181f-49ed-b7b1-a1c34bf37a61
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
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
Residual handoff from FLEX-WP-0020 (flex-auth -> access-engine). Forge ID 42
and the repo UUID are unchanged, and runtime names stay flex-auth per
FLEX-DEC-2026-013, so this is a federation-source-coordinate change only.
Both tasks start in wait: the forge rename has not landed (access-engine
raw index returns 404, flex-auth still resolves), and flipping the URL early
would drop an enabled publish-passing source from the composed index.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 4609@bnt-lap001
Assistant-Session: 085df492-f02a-4fe6-acad-2aa52789fe1b
Repointing the production hub's 50 Gitea-hosted federation sources to Forgejo
ahead of the 2026-08-31 CoulombCore retirement took /v1/federated to HTTP 500.
One member index (evidence-binder) has capability rows with no `id`, and
compose_federated_index dereferenced item["id"] unguarded. Its Gitea copy was a
stale snapshot returning a non-mapping, so those rows had never been parsed.
A single malformed member index must not take down the whole endpoint. Extract
_read_index_entries(): unparseable YAML, a non-mapping body, an empty file, and
a non-list `capabilities` each degrade to a warning and an empty row list, and
rows without an `id` are skipped individually. A failed source stays listed with
count 0 so it remains visible to operators rather than silently disappearing.
Also fix wall-clock rot in tests/test_plan_check.py, which was already failing
at clean HEAD: three tests pinned the compose date to a literal that has now
aged past STALE_DAYS.
Add workplan REUSE-WP-0020 covering the full cutover.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
reuse_surface/forge_host.py: parse/derive/rewrite raw index URLs across
Gitea and Forgejo (handles both the legacy /raw/<branch>/... form and the
canonical /raw/branch/<branch>/... form both forges serve without a 303
redirect). migrate_source_host() verifies the new URL resolves via HTTP
HEAD before writing -- refuses to point a repo at a host it hasn't
actually migrated to.
New CLI: reuse-surface federation migrate-host --repo <slug> --to
<base-url> [--from <check>] [--dry-run] [--no-verify] [--update-hub].
Inventory: cross-referenced sources.yaml against each repo's actual git
origin. 11/61 repos already on Forgejo; found 2 with stale sources.yaml
entries (activity-core, state-hub) despite having migrated. Fixed for
real: local sources.yaml + production hub registration (hub update),
verified against GET /v1/federated post-migration. config-atlas's
WP-0017-T06 303 confirmed NOT a host-transition symptom (already diagnosed
there as something else).
Also fixed two host-agnostic gaps found while inventorying:
registry_update.py and maintain_llm.py only recognized .gitea/workflows/,
missing repos already on .forgejo/workflows/. Fixed a stale copy-paste
example (state-hub's now-wrong old URL) in docs/RegistryFederation.md, and
a pre-existing unrelated port typo (8088 vs the real llm-connect default
8080) in tools/README.md and registry/README.md.
17 new pytest cases (tests/test_forge_host.py), 106 total pass.
Recomposed federated.yaml post-migration: still 61 capabilities.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Migrate eight stale Gitea hub registrations to Forgejo raw URLs,
recompose production and local federated indexes to 61 capabilities,
and add the T05 human-review checkpoint document.
Pull hub-enabled sources via hub sync (inter-hub excluded), mark
core-hub hub_registered, note inter-hub retirement on the roster, and
refresh federated.yaml to 53 capabilities matching production.
core-hub postdates the WP-0017 61-repo roster snapshot (created 2026-06-27)
but is the confirmed Gen-3 successor to the now-retired inter-hub. Added to
local-repo-roster.yaml (established, capability_status: has) and
sources.yaml using its Forgejo raw URL (forgejo.coulomb.social -- core-hub's
origin remote is already forgejo-remote, ahead of the rest of the roster on
the Gitea->Forgejo transition). publish-check passes.
Recomposed federated.yaml --refresh: 25 -> 54 capabilities (picks up both
core-hub and the WP-0017 drafts pushed to sibling repos in prior sessions,
which the cached compose hadn't fetched yet). capability.infotech.core-hub
now resolvable, so inter-hub's relations.related_to pointer to it is a real
federated reference, not just prose.
hub_registered left false for core-hub -- registration requires
REUSE_SURFACE_TOKEN, which I will not fetch from its Kubernetes Secret or
via any routing-mediated bypass myself (both attempts were correctly
blocked this session). Needs Bernd to run the registration directly or
hand me the token.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Resolved via the reuse-surface-hub-write-token routing catalog entry
that appeared in ops-warden (points at a Kubernetes Secret on
Railiance01, not OpenBao). config-atlas is now among the 61 sources at
reuse.coulomb.social/v1/federated. hub_registered corrected to true;
61/61 hub-registered, 61/61 publish pass.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Two conflated issues: (1) the raw-URL 303 redirect is already followed
correctly by establish.py's urllib-based probe -- re-running
publish-check now passes; the stale roster fail was from the 2026-06-16
sweep, not a live issue. (2) config-atlas was never actually registered
with the production hub (absent from the 60 sources at
reuse.coulomb.social/v1/federated despite hub_registered: true in the
roster) -- corrected to false. Local publish pass is now 61/61; hub
registration itself is blocked on REUSE_SURFACE_TOKEN, which has no
routing catalog entry -- needs Bernd to provide or route it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Prepared history/2026-07-06-t04-review-summary.md for the T05 human
review pass: full table of all 48 capability entries and 13 no-capability
markers generated from the actual committed files, plus flagged items
(the-custodian confidentiality scoping, vergabe-teilnahme low D1/C0,
markitect-main superseded framing, Forgejo-relevant tooling found along
the way).
Also fixed two pre-existing roster rows with stale empty
seed_capability_ids despite having real published entries: activity-core
and ops-warden. Not new drafts -- a bookkeeping gap predating this workplan.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
issue-core (migrated existing CAPABILITY-issue-tracking.yaml),
kaizen-agentic, key-cape, kontextual-engine, llm-connect, markitect-filter,
markitect-main (registered as superseded legacy platform), markitect-quarkdown,
markitect-tool, net-kingdom. All validate, no overlap with existing
federated capabilities. Committed locally in each sibling repo; push held
for T05 human review. Coverage 34/61 -> 44/61.
Also fixed a stale empty_scaffold_count >= 40 test threshold -- no longer
meaningful as the coverage campaign shrinks that number by design.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
artifact-store, can-you-assist, citation-engine, citation-evidence,
email-connect, guide-board, hub-core, info-tech-canon, infospace-bench,
inter-hub. Drafted directly (llm-connect not running locally; this
matches the workplan's no-invented-evidence principle better anyway).
All validate, no overlap with existing 24 federated capabilities.
Committed locally in each sibling repo; push held for T05 human review.
Coverage 24/61 -> 34/61. 27 has-capability repos remain for later cohorts.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Roster capability_status now has:11 / none:13 / pending:37. Coverage
24/61. NO_CAPABILITIES.md committed locally in all 13 sibling repos
(push held pending confirmation — touches 13 external default branches).
repo-seed's capability_count was stale (0, should be 1); corrected.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds capability_status: has|none|pending to every roster row (10 has /
51 pending currently), a coverage_ratio headline, and splits the gap
report's empty-scaffold section into unclassified vs explicitly-none.
Adds templates/NO_CAPABILITIES.template.md for the no-capability marker.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add config-atlas as a federation source (capability index) and to the local
repo roster. Document surface.* as a distinct id namespace owned by
config-atlas (typed sibling of capability.*, not federated here) under a new
"Id namespace ownership" section. Raw URL currently 303 (required:false), same
publish block as state-hub/feature-control. Recompose federated.yaml.
Supports config-atlas ATLAS-WP-0002-T05.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
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.
Mark 11 formerly-blocked repos publish pass after Gitea visibility fix.
Point whynot-control/design federation URLs at whynot/ org paths.
Remove activity-core owner stub from reuse-surface index (owner index
now fetchable). tegwick-control remains blocked (no HTTP-visible repo).
Establish railiance-cluster through the-custodian. railiance-fabric got a
capability index alongside its existing registry. Five publish pass; five
Gitea raw 404 (hub registered for T09).
Record bootstrap of state-hub, feature-control, identity-canon, and shard-wiki
registries; hub sync materializes URL sources for all five federated repos.