diff --git a/SCOPE.md b/SCOPE.md index d224bfd..f182857 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -121,8 +121,8 @@ See `tools/README.md` for command reference. graph, pytest, informational `report cohorts`. - **Relation graph:** `docs/graph/capability-graph.mmd`, `docs/graph/index.html`. - **Searchable catalog:** `docs/catalog/search.html`. -- **Workplans:** REUSE-WP-0001 through REUSE-WP-0014 finished; archived under - `workplans/archived/`. +- **Workplans:** REUSE-WP-0001 through REUSE-WP-0014 finished (archived); + **REUSE-WP-0015** ready (federation polish, dedup, planning analytics). - **Assessment history:** `history/` — intent/scope assessments, rollout milestone, dedup plan, per-repo follow-up. - **Self-assessed vector:** `D5 / A4 / C5 / R3` (see `docs/IntentScopeGapAnalysis.md`). diff --git a/docs/IntentScopeGapAnalysis.md b/docs/IntentScopeGapAnalysis.md index 0c71dd9..c4e6c9d 100644 --- a/docs/IntentScopeGapAnalysis.md +++ b/docs/IntentScopeGapAnalysis.md @@ -194,13 +194,16 @@ See §4 and archived workplans `workplans/archived/`. ### Proposed next (priorities 25–27) -| Priority | Gap | Suggested outcome | Owner | +| Priority | Gap | Suggested outcome | Status | |---|---|---|---| -| 25 | Gitea publish visibility (13 repos) | Raw URL HTTP 200 for all roster rows | Operator / Gitea | -| 26 | Federated ID deduplication | Per-owner removal from reuse-surface index | reuse-surface + owners | -| 27 | Planning analytics + standardization | Gap reports or standardization tracker workplan | Future WP | +| 25 | Gitea publish visibility (13 repos) | Raw URL HTTP 200 for all roster rows | **REUSE-WP-0015-T01** | +| 26 | Federated ID deduplication | Per-owner removal from reuse-surface index | **REUSE-WP-0015-T02** | +| 27 | Planning analytics + standardization | Gap report or standardization tracker | **REUSE-WP-0015-T03** | -**Follow-up docs (no workplan ID):** +**Workplan:** `workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md` +**Assessment:** `history/2026-06-16-intent-scope-assessment.md` + +**Follow-up docs:** - `history/2026-06-16-wp0014-remaining-work-by-repo.md` - `history/2026-06-16-federation-deduplication-plan.md` @@ -226,4 +229,5 @@ See §4 and archived workplans `workplans/archived/`. | 2026-06-16 | WP-0012 closed priorities 19–23 | | 2026-06-17 | WP-0013 closed priority 24 | | 2026-06-16 | WP-0014 closed priority 18; 60 workstation repos | -| 2026-06-16 | **SCOPE refresh + full INTENT success-criteria mapping**; priorities 25–27 proposed | \ No newline at end of file +| 2026-06-16 | **SCOPE refresh + full INTENT success-criteria mapping**; priorities 25–27 proposed | +| 2026-06-16 | Assessment persisted; **REUSE-WP-0015** created for priorities 25–27 | \ No newline at end of file diff --git a/history/2026-06-16-intent-scope-assessment.md b/history/2026-06-16-intent-scope-assessment.md new file mode 100644 index 0000000..3804a7a --- /dev/null +++ b/history/2026-06-16-intent-scope-assessment.md @@ -0,0 +1,115 @@ +# INTENT ↔ SCOPE State Assessment — reuse-surface + +**Date:** 2026-06-16 +**Author:** codex +**Trigger:** Post–REUSE-WP-0014 review; `SCOPE.md` and +`docs/IntentScopeGapAnalysis.md` refreshed (commit `834abb8`). +**Follow-up workplan:** `workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md` + +--- + +## 1. Executive summary + +`reuse-surface` has completed REUSE-WP-0001 through **REUSE-WP-0014**. The +registry product delivers **20 helix_forge entries** in reuse-surface, **A3+ CLI +tooling**, a **production federation hub at A4** (`https://reuse.coulomb.social`) +with **60 repo registrations**, federation compose (**37** federated capability +rows), workstation registry rollout (**60/60** local repos established), and +pytest + CI gates. + +INTENT and SCOPE are **aligned on the core model** (registry-first, four maturity +dimensions, human/agent consumers). Remaining work shifts from “establish +registries everywhere” to **fetchable federation**, **index deduplication**, +**planning analytics**, and **operational polish**. + +**Self-assessed product vector:** `D5 / A4 / C5 / R3` + +--- + +## 2. Delivery snapshot + +| Area | State (2026-06-16) | +|---|---| +| Capability entries (reuse-surface) | 20 in `registry/capabilities/` | +| Workstation roster | 60 repos; `registry/federation/local-repo-roster.yaml` | +| Established / hub registered | 60 / 60 | +| Publish pass (Gitea raw 200) | 47 / 60 | +| Federation sources | 60 URL sources in `sources.yaml` (hub sync) | +| Federated compose | 37 capabilities; 16 duplicate-ID warnings; 13 fetch warnings | +| Hub | `reuse.coulomb.social`; 60 registrations | +| CLI | validate, query, export, overlaps, catalog, federation, graph, hub, establish, update, stats, report | +| Tests | pytest (registry, federation, hub, hub_sync, stats, reports) | +| Workplans | WP-0001 … WP-0014 finished; WP-0014 archived | + +--- + +## 3. INTENT alignment + +### Aligned + +- Registry-first boundary +- Four maturity dimensions; internal vs external evidence +- Human and agent consumption surfaces +- Technical foundation at MVP+ (CLI A3, hub A4, container A5 artifact) +- Workstation-wide registry bootstrap (establish tooling + roster) + +### Partial + +| INTENT expectation | Gap | +|---|---| +| Cross-repo reuse at network scale | 13 indexes not HTTP-fetchable; 16 duplicate IDs | +| Eight success criteria fully met | Analytics, D7 pipeline, standardization partial | +| Consumer reliability evidence | Catalog mostly R0–R2; no formal telemetry | +| Generalized primitives (D7) | helix_forge only; no org-wide D7 view | + +--- + +## 4. Success criteria scorecard + +| Criterion | Verdict | +|---|---| +| Find reusable capabilities before rebuilding | **Yes** (13 sources not fetchable) | +| Compare maturity consistently | **Yes** | +| Distinguish conceptual readiness from delivery | **Yes** | +| Distinguish internal vs external evidence | **Yes** | +| Plan prototype/MVP/enhancement/platform work | **Partial** | +| Identify gaps, duplicates, overlaps, standardization | **Partial** | +| Track progress to generalized capabilities (D7) | **Partial** | +| Make reuse normal in architecture work | **Partial** | + +**Score:** 4 yes, 4 partial. + +--- + +## 5. Open gaps → workplan mapping + +| Priority | Gap | Workplan task | +|---|---|---| +| 25 | Gitea publish visibility (13 repos) | REUSE-WP-0015-T01 | +| 26 | Federated ID deduplication | REUSE-WP-0015-T02 | +| 27 | Planning analytics / standardization | REUSE-WP-0015-T03 | +| — | Federation compose clean acceptance | REUSE-WP-0015-T04 | +| — | Roster observability in CI (informational) | REUSE-WP-0015-T05 | +| — | Living docs refresh on completion | REUSE-WP-0015-T06 | + +--- + +## 6. Proposed vector after WP-0015 + +| Dimension | Current | Target | Rationale | +|---|---|---|---| +| Discovery | D5 | D5 | Unchanged | +| Availability | A4 | A4 | Unchanged | +| Completeness | C5 | C5–C6 | Fetchable federation + deduped namespace | +| Reliability | R3 | R3–R4 | CI roster gate; hub hardening deferred | + +--- + +## 7. References + +- `SCOPE.md` +- `docs/IntentScopeGapAnalysis.md` +- `history/2026-06-16-local-repo-registry-rollout-complete.md` +- `history/2026-06-16-wp0014-remaining-work-by-repo.md` +- `history/2026-06-16-federation-deduplication-plan.md` +- `registry/federation/local-repo-roster.yaml` \ No newline at end of file diff --git a/history/README.md b/history/README.md index 683f27b..5e32747 100644 --- a/history/README.md +++ b/history/README.md @@ -9,6 +9,7 @@ in `INTENT.md`; living delta tracking in `docs/IntentScopeGapAnalysis.md`. | 2026-06-15 | [2026-06-15-intent-scope-assessment.md](2026-06-15-intent-scope-assessment.md) | Post-WP-0011 INTENT↔SCOPE assessment; priorities 18–23 | | 2026-06-16 | [2026-06-16-hub-registration-blocks.md](2026-06-16-hub-registration-blocks.md) | Sibling hub registration blocks; raw URL probe evidence | | 2026-06-17 | [2026-06-17-sibling-registry-established.md](2026-06-17-sibling-registry-established.md) | establish --scaffold + hub registration for four siblings | +| 2026-06-16 | [2026-06-16-intent-scope-assessment.md](2026-06-16-intent-scope-assessment.md) | Post–WP-0014 INTENT↔SCOPE snapshot; priorities 25–27 | | 2026-06-16 | [2026-06-16-local-repo-registry-rollout-complete.md](2026-06-16-local-repo-registry-rollout-complete.md) | REUSE-WP-0014 rollout complete (60/60 established) | | 2026-06-16 | [2026-06-16-wp0014-remaining-work-by-repo.md](2026-06-16-wp0014-remaining-work-by-repo.md) | Per-repo follow-up after WP-0014 archive | | 2026-06-16 | [2026-06-16-federation-deduplication-plan.md](2026-06-16-federation-deduplication-plan.md) | Owner-migration duplicate-ID removal plan | diff --git a/workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md b/workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md new file mode 100644 index 0000000..1382bea --- /dev/null +++ b/workplans/REUSE-WP-0015-federation-polish-and-planning-analytics.md @@ -0,0 +1,228 @@ +--- +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" +--- + +# 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: todo +priority: high +``` + +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 ` +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 +``` + +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 +``` + +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 5–6 have a documented CLI or report +artifact beyond overlaps/cohorts. + +## Federation Compose Acceptance Gate + +```task +id: REUSE-WP-0015-T04 +status: todo +priority: high +``` + +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 +``` + +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 +``` + +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` (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` | \ No newline at end of file