This repository has been archived on 2026-07-08. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
reuse-surface/workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md
tegwick 660e2acfb8
Some checks failed
ci / validate-registry (push) Has been cancelled
REUSE-WP-0015: State Hub workstream and task IDs from sync
2026-06-16 02:19:29 +02:00

235 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: REUSE-WP-0015
type: workplan
title: "Federation polish and planning analytics"
domain: helix_forge
repo: reuse-surface
status: ready
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: todo
priority: high
state_hub_task_id: "7024ca46-cabd-44a8-8baf-cbc83d99c1fe"
```
Close gap priority **25**. Bring all roster rows to `publish_check: pass`.
**Blocked slugs (13):** `activity-core`, `hub-core`, `ihp-railiance-probe`,
`inter-hub`, `net-kingdom`, `railiance-apps`, `railiance-cluster`,
`railiance-enablement`, `railiance-infra`, `railiance-platform`,
`tegwick-control`, `whynot-control`, `whynot-design`
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
**Special:** `hub-core` — create `coulomb/hub-core` on Gitea first (push-to-create
disabled).
**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: todo
priority: high
state_hub_task_id: "a354ef8f-fdbb-4929-8278-8ecf4ca79553"
```
Close gap priority **26**. Remove duplicate capability rows from reuse-surface
where owner repo index is canonical and fetchable.
**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: todo
priority: medium
state_hub_task_id: "e135ea2e-a68f-4f72-947c-abe08a3aedef"
```
Close gap priority **27**. 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: todo
priority: high
state_hub_task_id: "aa26429d-6d42-4d84-9235-96feb61303f2"
```
Verify federation health after T01 and T02.
```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: todo
priority: low
state_hub_task_id: "88f50eb3-9fba-413f-89aa-7b159f136520"
```
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: todo
priority: low
state_hub_task_id: "fd25e504-21b7-4e9f-841c-cfa20318be33"
```
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
- [ ] Roster `publish_fail: 0` (all 60 repos fetchable)
- [ ] `federation compose` — 0 duplicate-ID warnings
- [ ] `federation compose` — 0 remote fetch warnings for enabled sources
- [ ] reuse-surface index retains only meta-registry entries (+ any agreed stubs)
- [ ] Planning gap report or standardization tracker shipped (T03)
- [ ] `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` |