research: shard-spectrum synthesis v3 (folds SHARD-WP-0003 batch)

Extends the capability model to the nine WP-0003 engines (~23 systems total).
Per-shard spectra 13 -> 14 (adds provenance granularity); refines merge-model
(+fork/journal-replay, +coexist-with-rank), attachment-mode (+git-IS-store,
+container, +direct-DB, +REST/file-store-hybrid, +external-API payload-format
facet), native-query (+SPARQL/RDF far-end), history (+DB-rows, +partial),
structure (+typed-graph, +inline-embedded objects), content-opacity
(+lossy-exportable), write-granularity (+story-item, +section-anchor).

Headline: new federation-model taxonomy (S2.5) -- federation is plural
(fork+journal / VCS-replication+ping / query-time graph join / feed
aggregation / activity streams / engine-mirror), a selectable/composable
coordination-layer axis feeding SHARD-WP-0002 T1-T6. Folds UC-68-82 into the
workplan; no new UCs, no INTENT boundary change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-14 21:35:43 +02:00
parent af5841a0d7
commit 700566b1e2
4 changed files with 376 additions and 243 deletions

View File

@@ -1,55 +1,69 @@
# 260614 — Shard spectrum synthesis (one capability model across the full dive set)
Date: 2026-06-14 · **revised 2026-06-14 (v2)**
Date: 2026-06-14 · **revised 2026-06-14 (v3)**
## What this is
A **synthesis** (no new external research) that reads every studied system *across* the
others and distills them into a single comparative model feeding the **shard adapter
contract** (`SHARD-WP-0002`).
contract** and the **federation track** (`SHARD-WP-0002`).
**v2** extends from nine systems to the full set and grows the spectra from eleven to
**thirteen**. The systems: two conceptual ancestors (**Xanadu, ZigZag**), four engines
(**XWiki, TWiki, Foswiki** + the wiki-engines landscape), and the modern note/PKB tools
(**Roam, Obsidian, Notion, Joplin, Logseq, Anytype, AFFiNE, AppFlowy, Trilium**), against
the federation/origin research.
**v3** extends the model to the **SHARD-WP-0003 engine batch** (Federated Wiki, Wikibase/
Wikidata, the git-forge wikis Gitea/GitLab/GitHub, TiddlyWiki, ikiwiki, Salesforce Quip,
MojoMojo, Oddmuse, UseModWiki) — ~23 systems in all. Per-shard spectra grow from thirteen to
**fourteen** (adds **provenance granularity**), and a **new coordination-layer axis** is
introduced: the **federation-model taxonomy**.
Centerpieces:
- **The shard family matrix** — every candidate backend × {substrate, attach mode(s),
addressing, structure, history, **merge**, query, →Markdown, **opacity**}, with Xanadu/
ZigZag as the ideal anchors.
- **The thirteen capability spectra** — the claim that the adapter contract should model
*positions on spectra*, each anchored at both ends by a real system, with federation
ops degrading by position. v2 adds **content opacity** (12th) and **merge model**
(13th), plus emphasis on **identity vs placement**, and expands the attachment-mode
spectrum (file-store native/interchange-mirror, in-engine-host, local-REST,
external-API, CRDT-replica, P2P/no-central-endpoint).
- **UC-44UC-67 → workplan task mapping** (T11T16).
addressing, structure, history, merge, query, →Markdown, opacity}, with Xanadu/ZigZag as
ideal anchors and Federated Wiki as the federation-model anchor. v3 adds the flat-file
floor (Oddmuse/UseModWiki), git-IS-store (forge wikis/ikiwiki), TiddlyWiki, MojoMojo
(direct-DB), Quip (external-API/HTML), and Wikibase (typed-graph far-end).
- **The fourteen capability spectra** — the claim that the adapter contract should model
*positions on spectra*, each anchored at both ends by a real system, with federation ops
degrading by position. v3 adds **provenance granularity** (14th: per-shard → per-page →
per-edit → per-statement/value), and refines merge-model (+fork/journal-replay,
+coexist-with-rank), attachment-mode (+git-IS-store, +container, +direct-DB,
+REST/file-store-hybrid, +external-API payload-format facet), native-query (+SPARQL/RDF
far-end, +filter mid), history (+DB-version-rows, +partial/truncated), structure
(+typed-graph, +inline-embedded objects), content-opacity (+proprietary-lossy-exportable),
write-granularity (+story-item, +section-anchor).
- **The federation-model taxonomy (§2.5, new)** — federation itself is plural: fork+journal
(Federated Wiki), VCS-replication+ping (ikiwiki), query-time graph join (Wikibase SPARQL
`SERVICE`), feed aggregation, activity streams, engine-mirror (Wiki.js). A
selectable/composable coordination-layer axis feeding **T1T6**.
- **UC-44UC-82 → workplan task mapping** (T1T6 + T11T16).
## Contents
| Path | Role |
|------|------|
| `findings.md` | Family matrix, the thirteen spectra, cross-cutting through-lines, UC→task fold-in, recommendations/decisions, escalated open questions |
| `findings.md` | Family matrix, the fourteen spectra, the federation-model taxonomy, cross-cutting through-lines, UC→task fold-in, recommendations/decisions, escalated open questions |
## Status
Synthesis v2 complete. No new use cases (consolidation only). Feeds `SHARD-WP-0002`: T11
reframed around the **thirteen spectra** (incl. content-opacity + merge-model); T12
page-model breadth (prose + typed/**computed** records + non-Markdown assets +
query-defined + **multi-placement/DAG identity**); T13 history (incl. CRDT-log =
supplement); T14 **full attachment-mode taxonomy** (CRDT-replica + P2P + interchange-mirror
+ local-REST added); T15 lossy-with-fidelity-report (incl. HTML); T16 (addressing, content
identity, **identity≠placement**, derived index, dimensional/query). UC coverage extended
UC-34UC-59 → **UC-34UC-67**.
Synthesis v3 complete. No new use cases (consolidation only). Feeds `SHARD-WP-0002`:
**T1T6** federation-model taxonomy (selectable/composable federation); **T11** reframed
around the **fourteen spectra** (incl. provenance granularity + expanded attachment modes +
external-API payload-format facet); T12 page-model breadth (prose + typed/computed records +
**inline-embedded objects** + **typed-graph statements** + non-Markdown assets +
query-defined + multi-placement/DAG identity); T13 history (DB-rows + partial-flat-file =
supplement; completeness metadata; **journal-shaped** coordination journal); T14 **full
attachment taxonomy** (git-IS-store / container / direct-DB / REST-file-hybrid +
source-of-truth per binding); T15 lossy + **not-Markdown** (graph/HTML); T16 (addressing
incl. statement GUID + **opaque stable identity**, identity≠placement, derived index,
**graph query / federated SERVICE**). UC coverage extended UC-34UC-67 → **UC-34UC-82**.
**New through-lines (v2):** CRDT changes the merge math (native merge — never impose git
merge); identity ≠ placement (Trilium note/branch) is the model for multi-location/
multi-shard pages; metadata can be computed (inherited/templated), not just stored;
content opacity is per-item, not only whole-shard; the attach surface is not always the
native store (Joplin sync mirror; Logseq file-vs-DB and its substrate migration); the
block-graph-on-files sweet spot (Logseq `id::`) resolves the addressing tension.
**New through-lines (v3):** federation is plural (the federation-model taxonomy); provenance
has a granularity spectrum (down to per-statement, Wikibase rank/references); git is both the
home store and the home journal (forge wikis make git *the* store, resolving the engine-
mirror write-race); the flat-file floor (Oddmuse/UseModWiki, Wikipedia's MediaWiki Phase I)
is the field's common root and the minimal capability profile; the page model must also carry
typed-graph statements and inline-embedded objects.
**Carried from v2:** CRDT changes the merge math; identity ≠ placement; metadata can be
computed; content opacity is per-item; the attach surface is not always the native store; the
block-graph-on-files sweet spot (Logseq `id::`).
**Carried from v1:** files-canonical/index-derived; fine-grained addressing is adoptable;
transclusion=clone=embed is one primitive; structure/history federate iff in-text; attach
mode is per-binding; Notion proves the platform can enforce no-silent-mutation.
</content>
transclusion=clone=embed=reference is one primitive; structure/history federate iff in-text;
attach mode is per-binding; the platform can enforce no-silent-mutation.