generated from coulomb/repo-seed
Some checks failed
ci / validate-registry (push) Has been cancelled
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.
272 lines
9.4 KiB
Markdown
272 lines
9.4 KiB
Markdown
---
|
||
id: REUSE-WP-0015
|
||
type: workplan
|
||
title: "Federation polish and planning analytics"
|
||
domain: helix_forge
|
||
repo: reuse-surface
|
||
status: active
|
||
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 **25–27**. 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 / C5–C6 / 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: progress
|
||
priority: high
|
||
state_hub_task_id: "7024ca46-cabd-44a8-8baf-cbc83d99c1fe"
|
||
needs_human: true
|
||
intervention_note: "tegwick-control — no HTTP-visible Gitea repo; operator must create coulomb/tegwick-control (59/60 pass)"
|
||
```
|
||
|
||
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.
|
||
|
||
**Blocked slug (1):** `tegwick-control` — SSH remote `tegwick/tegwick-control`
|
||
exists but no HTTP-visible repo; `coulomb/tegwick-control` not created
|
||
(push-to-create disabled).
|
||
|
||
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 5–6 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 25–27; propose new
|
||
priorities if hub automation or R4 telemetry remain
|
||
- Add `history/` snapshot if vector or success-criteria score changes materially
|
||
|
||
---
|
||
|
||
## Acceptance
|
||
|
||
- [ ] Roster `publish_fail: 0` (59/60 — `tegwick-control` remains)
|
||
- [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 (pending tegwick)
|
||
|
||
## 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 | T04 closed — compose healthy (20 caps, 0 dup, 12 fetch warns = required:false exceptions). T01 remains the sole operator gate (12 Gitea 404); T06 final pass blocked on T01 | |