Sync production hub and archive REUSE-WP-0015
Some checks failed
ci / validate-registry (push) Has been cancelled

Confirm whynot/tegwick hub URLs on coulomb paths, hub sync --merge,
and State Hub consistency fix. Archive finished workplan.
This commit is contained in:
2026-06-16 21:38:43 +02:00
parent 75454ccd7f
commit c0d38049b9

View File

@@ -0,0 +1,271 @@
---
id: REUSE-WP-0015
type: workplan
title: "Federation polish and planning analytics"
domain: helix_forge
repo: reuse-surface
status: finished
owner: codex
topic_slug: helix-forge
created: "2026-06-16"
updated: "2026-06-16"
state_hub_workstream_id: "a67689ce-4634-4e88-a66f-e357520e1c4a"
---
# Federation polish and planning analytics
Follow-up to `history/2026-06-16-intent-scope-assessment.md` and
`docs/IntentScopeGapAnalysis.md` priorities **2527**. REUSE-WP-0014 established
registry scaffolds in **60** workstation repos and hub registrations; this
workplan closes the remaining INTENT↔SCOPE gaps: **fetchable federation**,
**duplicate-ID cleanup**, **planning analytics**, and **compose acceptance**.
**Baseline vector:** `D5 / A4 / C5 / R3`
**Target vector:** `D5 / A4 / C5C6 / R3` (completeness rises when federation
fetch and namespace are clean; reliability unchanged until telemetry program)
## Assessment reference
| Priority | Gap | Task |
|---|---|---|
| 25 | Gitea publish visibility (13 repos) | T01 |
| 26 | Federated ID deduplication | T02 |
| 27 | Planning analytics / standardization | T03 |
| — | Federation compose acceptance | T04 |
| — | Roster CI observability | T05 |
| — | SCOPE + gap analysis refresh | T06 |
**Roster:** `registry/federation/local-repo-roster.yaml`
**Per-repo operator guide:** `history/2026-06-16-wp0014-remaining-work-by-repo.md`
**Dedup plan:** `history/2026-06-16-federation-deduplication-plan.md`
## Suggested execution order
```text
T01 (Gitea publish — operator; unblocks fetch)
→ T02 (dedup reuse-surface index — per owner)
→ T04 (compose acceptance — verify 0 warnings)
→ T03 (planning analytics — can start design in parallel with T02)
→ T05 (CI roster stats — after T01/T04 metrics stable)
→ T06 (docs refresh)
```
## Dependencies
| Dependency | Owner | Notes |
|---|---|---|
| Gitea repo visibility | Operator | 13 slugs; `hub-core` needs repo creation |
| Owner agreement | Domain repos | Dedup removes reuse-surface canonical copies |
| Production hub | Railiance01 | `https://reuse.coulomb.social` |
---
## Remediate Gitea Publish Blockers
```task
id: REUSE-WP-0015-T01
status: done
priority: high
state_hub_task_id: "7024ca46-cabd-44a8-8baf-cbc83d99c1fe"
```
Close gap priority **25**.
**2026-06-16:** Sweep re-run — all 13 still HTTP 404. No agent-side remediation
possible without Gitea operator action. Bring all roster rows to `publish_check: pass`.
**2026-06-16 (follow-up):** `hub-core` resolved — Gitea repo created, push OK,
`publish_check: pass`. **12** slugs remain HTTP 404.
**2026-06-16 (visibility fix):** Gitea repos made public — **11** former blockers
now `publish_check: pass`. `whynot-control` / `whynot-design` use `whynot/` org
paths in `sources.yaml`. **59/60** pass; **1** remains.
**Done 2026-06-16 (org transfer):** Operator transferred `tegwick-control`,
`whynot-control`, and `whynot-design` to `coulomb/` via Gitea UI. Roster
**60/60** `publish_check: pass`; workstation remotes and `sources.yaml` aligned
to `coulomb/<slug>`.
Per slug:
1. Ensure Gitea repo exists and `main` has `registry/indexes/capabilities.yaml`
2. Enable anonymous raw URL access (or document `auth_env` in `sources.yaml`)
3. `reuse-surface establish --publish-check --raw-url <url>`
4. Update `local-repo-roster.yaml` (`publish_check`, `publish_note`)
5. Re-run roster sweep: all `publish_fail` → 0
**Resolved:** `hub-core``coulomb/hub-core` created on Gitea; roster
`publish_check: pass` (2026-06-16 follow-up).
**Done when:** `reuse-surface stats --roster ... --federation-ready` shows
`all_publish_pass: true`.
## Deduplicate Owner-Migrated Index Rows
```task
id: REUSE-WP-0015-T02
status: done
priority: high
state_hub_task_id: "a354ef8f-fdbb-4929-8278-8ecf4ca79553"
```
Close gap priority **26**.
**Done 2026-06-16:** Removed 17 owner-migrated rows + markdown from reuse-surface
index (kept `activity-core` stub until T01). Local index **3** entries. Compose
duplicate warnings clear after Gitea index push (`--refresh`). Remove duplicate capability rows from reuse-surface
where owner repo index is canonical and fetchable.
**Done 2026-06-16 (visibility fix):** Removed `activity-core` stub after owner
index fetchable; local index **2** entries (meta-registry only).
**Owner batches** (separate commits per owner — see dedup plan):
| Owner | IDs to remove from reuse-surface |
|---|---|
| `audit-core` | `capability.audit.event-retain` |
| `flex-auth` | `capability.authorization.policy-evaluate` |
| `feature-control` | evaluate, rollout, visibility |
| `identity-canon` | subject-resolution, vocabulary-canonicalize |
| `state-hub` | progress-log, workstream-coordinate |
| `shard-wiki` | 8× `capability.wiki.*` |
| `activity-core` | `capability.activity.event-coordinate` (after T01) |
After each batch:
```bash
reuse-surface validate --relations
reuse-surface federation compose
reuse-surface graph --check
```
**Keep in reuse-surface:** `capability.registry.register`, `capability.registry.validate`.
**Done when:** `federation compose` reports **0** duplicate-ID warnings.
## Planning Gap Report And Standardization Tracker
```task
id: REUSE-WP-0015-T03
status: done
priority: medium
state_hub_task_id: "e135ea2e-a68f-4f72-947c-abe08a3aedef"
```
Close gap priority **27**.
**Done 2026-06-16:** `reuse-surface report gaps` — roster publish blockers,
empty scaffolds, seed-ready repos, local owner stubs. Standardization tracker
deferred (overlaps + compose warnings sufficient for now). Extend planning support beyond `report cohorts`.
Deliver one or both (minimum: **gap report**):
| Deliverable | Description |
|---|---|
| **Gap report** | `reuse-surface report gaps` — federated IDs vs empty owner scaffolds; repos with `capability_count: 0` and suggested next entries from roster |
| **Standardization tracker** | Markdown or YAML artifact listing overlap clusters from `overlaps` + compose duplicate history |
Update `tools/README.md` and `SCOPE.md` when shipped.
**Done when:** INTENT success criteria row 56 have a documented CLI or report
artifact beyond overlaps/cohorts.
## Federation Compose Acceptance Gate
```task
id: REUSE-WP-0015-T04
status: done
priority: high
state_hub_task_id: "aa26429d-6d42-4d84-9235-96feb61303f2"
```
Verify federation health after T01 and T02.
**Done 2026-06-16 (visibility fix):** `federation compose --refresh`**20**
federated capabilities, **0** duplicate-ID warnings, **1** remote-fetch warning
(`tegwick-control`, `required: false`). Acceptance met for enabled sources.
```bash
reuse-surface hub sync --merge
reuse-surface federation compose
```
**Acceptance:**
- 0 remote index unavailable warnings (or documented `required: false` exceptions)
- 0 duplicate-ID warnings
- `registry/indexes/federated.yaml` committed when compose output changes
- Record final capability count and source counts in workplan progress log
Optional: add `--fail-on-warnings` to compose for CI (separate commit if scope
grows).
## Roster Federation Stats In CI
```task
id: REUSE-WP-0015-T05
status: done
priority: low
state_hub_task_id: "88f50eb3-9fba-413f-89aa-7b159f136520"
```
**Done 2026-06-16:** CI informational steps for `stats --roster --federation-ready`
and `report gaps` in `.gitea/workflows/ci.yml`.
Informational CI step (non-blocking until T01 complete):
```bash
reuse-surface stats --roster registry/federation/local-repo-roster.yaml \
--federation-ready --format json
```
Emit summary to CI log; fail or warn when `publish_fail > 0` once T01 is marked
done (operator choice documented in workplan).
## Refresh SCOPE And Gap Analysis
```task
id: REUSE-WP-0015-T06
status: done
priority: low
state_hub_task_id: "fd25e504-21b7-4e9f-841c-cfa20318be33"
```
**2026-06-16 (visibility fix):** `SCOPE.md` and `docs/IntentScopeGapAnalysis.md`
updated for 59/60 publish pass, dedup complete, compose acceptance. Final T06
note when `tegwick-control` resolves.
On workplan completion:
- Update `SCOPE.md` §What Is Not Possible Yet and §Current State
- Update `docs/IntentScopeGapAnalysis.md` — close priorities 2527; propose new
priorities if hub automation or R4 telemetry remain
- Add `history/` snapshot if vector or success-criteria score changes materially
---
## Acceptance
- [x] Roster `publish_fail: 0` (60/60)
- [x] `federation compose` — 0 duplicate-ID warnings
- [x] `federation compose` — 0 remote fetch warnings for `required: true` sources
- [x] reuse-surface index retains only meta-registry entries
- [x] Planning gap report or standardization tracker shipped (T03)
- [x] `SCOPE.md` and `IntentScopeGapAnalysis.md` reflect closed gaps
## Out of scope
- Multi-domain federation (non`helix_forge`)
- Hub Postgres / multi-replica implementation (documented only)
- Automatic hub polling/webhooks (future workplan)
- Mandatory `establish --discover` for empty scaffolds
## Progress log
| Date | Event |
|---|---|
| 2026-06-16 | WP-0015 created from `history/2026-06-16-intent-scope-assessment.md` |
| 2026-06-16 | T02 dedup (3 local entries); T03 report gaps; T05 CI; T01 operator-blocked |
| 2026-06-16 | Follow-up: hub-core publish pass (12 blockers); T06 partial doc refresh |
| 2026-06-16 | Visibility fix: 59/60 publish pass; whynot org URLs; activity-core dedup; T04 done |
| 2026-06-16 | Org transfer to coulomb: 60/60 publish pass; compose 20 caps / 0 dup / 0 fetch warnings; T01+T06 closed; WP-0015 finished |