spec: promote federation UCs; add SHARD-WP-0002 architecture workplan

Promote UC-26 through UC-33 from federation research into UseCaseCatalog.
Add SHARD-WP-0002 with ten decision topics (remix primitives, equivalent
page identity, history, composition, notification, lifecycle, transclusion,
consensus presets, capability matrix) targeting spec/FederationArchitecture.md.
This commit is contained in:
2026-06-08 14:55:13 +02:00
parent 3160648b61
commit f1384144eb
6 changed files with 446 additions and 34 deletions

View File

@@ -2,7 +2,8 @@
Status: **draft** · Date: 2026-06-08 · Updated: 2026-06-08
Promoted from `research/260608-c2-wiki-origins/` and `research/260608-yawex-prior-art/`.
Promoted from `research/260608-c2-wiki-origins/`,
`research/260608-yawex-prior-art/`, and `research/260608-federation-concepts/`.
See InfoTechPrimers on coulomb.social for use-case catalog conventions.
## Conventions
@@ -11,7 +12,7 @@ Each use case lists:
- **Actor** — who initiates the action
- **Goal** — observable outcome
- **Source** — research lineage (`c2`, `yawex`, `intent`, or combined)
- **Source** — research lineage (`c2`, `yawex`, `federation`, `intent`, or combined)
- **Notes** — shard-wiki-specific constraints or open design points
Priority hints: **MVP** = likely early value; **Later** = important but not first slice.
@@ -88,7 +89,90 @@ shard-wiki delegates authentication, owns authorization
**Goal:** Identify when equivalent pages in different shards have diverged and
reconcile them under explicit policy.
**Source:** intent
**Notes:** Union without erasure — conflicts visible, not hidden.
**Notes:** Union without erasure — conflicts visible, not hidden. Complements
UC-27 (multi-version view) and SHARD-WP-0002 consensus-policy task.
**Priority:** Later
### UC-26 — Fork page from remote shard into writable shard
**Actor:** Author
**Goal:** Copy a page from a remote or read-only shard into a local writable
shard for independent editing, with provenance preserved.
**Source:** federation, intent
**Notes:** Fedwiki fork primitive. shard-wiki may realize as import, overlay
seed, or writable copy per policy — distinct from UC-04 (overlay without copy)
and UC-03 (projection only). Fork vs overlay vs import decided in
`SHARD-WP-0002`.
**Priority:** Later
### UC-27 — View multiple versions of equivalent page
**Actor:** Reader
**Goal:** See coexisting versions of the same topic from different shards or
authors without collapsing them into one canonical page.
**Source:** federation, intent
**Notes:** Fedwiki "chorus of voices"; INTENT union without erasure. Equivalent-
page identity model TBD (`SHARD-WP-0002`). Links UC-07 divergence detection.
**Priority:** Later
### UC-28 — Carry forward pages from closed or archived shard
**Actor:** Maintainer or author
**Goal:** Selectively import or re-project valuable pages from an archived,
read-only, or retired shard into an active information space.
**Source:** federation
**Notes:** Caulfield bounded conversation / reverse bit-rot. Optional space
lifecycle policy. Complements UC-02 attach and UC-26 fork at scale.
**Priority:** Later
### UC-29 — Remix with portable attribution
**Actor:** Author
**Goal:** Reuse content across shards or spaces with attribution and edit
history intact, without manual copy-paste.
**Source:** federation, intent
**Notes:** Fedwiki journal travels with page; shard-wiki coordination journal +
per-shard history. Frictionless reuse principle (~15s not ~15min).
**Priority:** Later
### UC-30 — Time-bounded collaboration space
**Actor:** Facilitator
**Goal:** Run a collaboration period on a dedicated information space or shard
subset, then archive it while allowing selective carry-forward.
**Source:** federation
**Notes:** Fedwiki "happening"; lifecycle is configurable policy, not a hard-
coded core behavior. Relates to UC-28.
**Priority:** Later
### UC-31 — Subscribe to remote shard changes
**Actor:** Maintainer or reader
**Goal:** Receive timely notice when pages change on attached remote shards,
triggering projection refresh or reconciliation review.
**Source:** federation, intent
**Notes:** ikiwiki pinger/pingee; ActivityPub Create/Update; polling fallback.
Transport is adapter concern; freshness surfaced in UC-24.
**Priority:** Later
### UC-32 — Transclude remote span with live freshness
**Actor:** Author or reader
**Goal:** Embed a portion of a remote page inline with visible origin and
refreshable content.
**Source:** federation, intent
**Notes:** Xanadu transclusion pattern; stronger than UC-03 whole-page
projection. Provenance and staleness must be explicit.
**Priority:** Later
### UC-33 — Git-branch an information space
**Actor:** Maintainer
**Goal:** Fork the coordination journal and attached shard configuration into a
divergent information space without destroying the original.
**Source:** federation, intent
**Notes:** ikiwiki wiki-branch pattern; Git-backed coordination per INTENT.
Space-level fork — distinct from UC-26 page-level fork.
**Priority:** Later
---
@@ -286,15 +370,23 @@ CamelCase and `[[free links]]`. Markdown-first link semantics TBD.
## Traceability
| UC | c2 research | yawex research | INTENT |
|----|-------------|----------------|--------|
| UC-01 | ✓ | | ✓ |
| UC-02 | | ✓ | ✓ |
| UC-03 | | ✓ | ✓ |
| UC-04 | ✓ | ✓ | ✓ |
| UC-05 | ✓ | ✓ | ✓ |
| UC-06 | | ✓ | ✓ |
| UC-07 | | | ✓ |
| UC | c2 research | yawex research | federation research | INTENT |
|----|-------------|----------------|---------------------|--------|
| UC-01 | ✓ | | | ✓ |
| UC-02 | | ✓ | | ✓ |
| UC-03 | | ✓ | ✓ | ✓ |
| UC-04 | ✓ | ✓ | ✓ | ✓ |
| UC-05 | ✓ | ✓ | ✓ | ✓ |
| UC-06 | | ✓ | | ✓ |
| UC-07 | | | ✓ | ✓ |
| UC-26 | | | ✓ | ✓ |
| UC-27 | | | ✓ | ✓ |
| UC-28 | | | ✓ | |
| UC-29 | | | ✓ | ✓ |
| UC-30 | | | ✓ | |
| UC-31 | | | ✓ | ✓ |
| UC-32 | | | ✓ | ✓ |
| UC-33 | | | ✓ | ✓ |
| UC-08 | ✓ | | |
| UC-09 | ✓ | | |
| UC-10 | ✓ | | |
@@ -343,6 +435,19 @@ CamelCase and `[[free links]]`. Markdown-first link semantics TBD.
| Page classes (local/global/virtual) | UC-02, UC-03 (shard roles) |
| Wikilink / red-link semantics | UC-08, UC-23, UC-25 |
### federation research mapping
| Research ID (findings §7) | Catalog UC |
|---------------------------|------------|
| UC-FED-01 Fork page from remote shard | UC-26 |
| UC-FED-02 View multiple versions of equivalent page | UC-27 |
| UC-FED-03 Carry forward from closed/archived shard | UC-28 |
| UC-FED-04 Remix with portable attribution | UC-29 |
| UC-FED-05 Time-bounded collaboration space | UC-30 |
| UC-FED-06 Subscribe to remote shard changes | UC-31 |
| UC-FED-07 Transclude remote span | UC-32 |
| UC-FED-08 Git-branch information space | UC-33 |
---
## Open questions
@@ -353,4 +458,7 @@ CamelCase and `[[free links]]`. Markdown-first link semantics TBD.
3. Do c2 collaboration patterns (UC-10, UC-14) belong in **core**, **reference
UI**, or **`wiki/` social convention** only?
4. Should UC-12 and `WikiIsNotWikipedia` be elevated into
`ProductRequirementsDocument.md` as explicit product identity?
`ProductRequirementsDocument.md` as explicit product identity?
5. Which federation UCs (UC-26UC-33) are **MVP** vs deferred until
`SHARD-WP-0002` architecture decisions land?
6. Does UC-32 (transclusion) belong in core orchestrator or adapter/UI layer?