--- id: SHARD-WP-0003 type: workplan title: "wiki-engine deep-dive batch (new-insight + git-forge + classic engines)" domain: whynot repo: shard-wiki status: done owner: tegwick topic_slug: whynot created: "2026-06-14" updated: "2026-06-14" state_hub_workstream_id: "56af8185-420f-4a56-9152-5c64fda7a3f3" --- # SHARD-WP-0003 — wiki-engine deep-dive batch ## Goal Close the remaining coverage gaps in the wiki-engine research set. Each task is one **deep dive**: persist a research memo, promote/enrich the use-case catalog, and log any adapter-contract architecture notes for `SHARD-WP-0002`. The set was chosen (per the 2026-06-14 coverage review against `research/260614-shard-spectrum-synthesis/findings.md`) to favour engines that promise **genuinely new architecture** over ones that merely reinforce existing families, plus the INTENT-named git-forge wikis and four additional engines requested for breadth/lineage. Each dive follows the established tradition (cf. the 260613/260614 dives): a `research/--deep-dive/` dir with `README.md` + `findings.md`; new UCs and enrichments promoted to `spec/UseCaseCatalog.md` (with a per-source mapping subsection, traceability rows, and header update); `research/README.md` and `SCOPE.md` updated; commit + state-hub sync. ## Context - Coverage review: `research/260614-shard-spectrum-synthesis/findings.md` (v2) — the shard family matrix and thirteen spectra define what "new insight" means here. - Use cases: `spec/UseCaseCatalog.md` (currently UC-26–UC-69 from research). - Adapter contract: `workplans/SHARD-WP-0002-federation-architecture.md` (T11–T16) — dives that touch the contract feed it; a **re-synthesis** may be warranted after the batch (see Acceptance). - Prior engine dives: `research/260613-{xwiki,twiki,foswiki}-deep-dive/`, `research/260614-wikijs-deep-dive/` (storage-module prior art). **Non-goal:** Implement anything. This workplan produces research + catalog updates only. --- ## Federated Wiki — federation model (fork / journal / happenings) ```task id: SHARD-WP-0003-T1 status: done priority: high state_hub_task_id: "347fa26d-105b-42d1-91f3-67eabfdb8f22" ``` Deep-dive Ward Cunningham's **Federated Wiki** (Smallest Federated Wiki). Distinctive angle: it is a **federation model**, not just a shard — fork-with-provenance, the per-page **JSON journal** (ordered actions), the **story** (typed item array), and **happenings** (bounded collaborations). This is prior art for shard-wiki's *coordination layer itself*, complementing the federation track. Already touched in `research/260608-federation-concepts/` §3 — go deeper into the data model and protocol. Map to UC-26 (fork), UC-28 (carry-forward), UC-30 (time-bounded space), UC-05/27 (union/ chorus); feed `SHARD-WP-0002` T1–T5. ## Wikibase / Wikidata — RDF entity-statement knowledge graph ```task id: SHARD-WP-0003-T2 status: done priority: high state_hub_task_id: "23272f05-556b-4cc7-93b6-4ac3c7277738" ``` Deep-dive **Wikibase** (the engine behind **Wikidata**). Distinctive angle: an **entity-statement (RDF-ish) data model** — items, properties, statements with qualifiers and references — plus **SPARQL** query. This is a *new far end* of the structure and native-query spectra (beyond Notion's DB / XWiki XObjects): a true typed knowledge graph with provenance-bearing statements. Map to/enrich UC-34, UC-58 (typed records + relations), UC-52 (native query → SPARQL), UC-24 (statement-level provenance); feed `SHARD-WP-0002` T12/T16. ## TiddlyWiki — the self-contained single-file wiki ```task id: SHARD-WP-0003-T3 status: done priority: medium state_hub_task_id: "a0ab1aba-9aa2-4214-b130-67ba2805e64b" ``` Deep-dive **TiddlyWiki**. Distinctive angle: an **entire wiki in one self-contained HTML file** (tiddlers + the app), the **whole-file write-granularity** anchor already named in the synthesis matrix, with TiddlyWeb / Node.js sync variants and a tiddler/field data model. The portability/granularity extreme. Enrich UC-35 (write granularity), UC-40 (file-store), UC-34 (tiddler fields); confirm the single-file shard attach story; feed `SHARD-WP-0002` T11/T14. ## ikiwiki — compile-to-static, git-backed, distributed peer wikis ```task id: SHARD-WP-0003-T4 status: done priority: medium state_hub_task_id: "5748d246-66a8-4cf2-9b22-427cc4507b63" ``` Deep-dive **ikiwiki**. Distinctive angle: a wiki **compiled to static HTML** from a **git-backed** source, with **distributed** operation (push/pull between wiki clones, edit-triggered pingers). Referenced in `260608-federation-concepts/` — go deeper into the git-distributed federation + static-publish model. Map to/enrich UC-31 (subscribe/ping), UC-56 (outbound publish), UC-37 (static), UC-33 (git-branch space); feed `SHARD-WP-0002` T4/T6. ## Gitea / GitLab / GitHub wikis — git-forge-hosted Markdown wikis ```task id: SHARD-WP-0003-T5 status: done priority: high state_hub_task_id: "9719ce23-5edd-4110-a428-3cf4df753cdc" ``` Deep-dive the **git-forge wikis** (Gitea, GitLab, GitHub) as one grouped memo. Distinctive angle: each is a **git repo of Markdown** exposed through a forge (clone the wiki repo directly *or* use the forge API). INTENT explicitly names **Gitea wikis** as a shard participant, so this confirms a first-class backend. Compare with Wiki.js's engine-maintained git mirror (UC-68): here the git repo *is* the native store. Enrich UC-40 (file-store native), UC-02 (attach), UC-68 (git attach), UC-38 (forge API host); feed `SHARD-WP-0002` T14. ## Salesforce Quip — collaborative live docs + embedded spreadsheets ```task id: SHARD-WP-0003-T6 status: done priority: medium state_hub_task_id: "3e55128a-161c-48d0-9ab4-75fd48616dad" ``` Deep-dive **Salesforce Quip**. Distinctive angle: a **closed SaaS** of live collaborative documents with **embedded spreadsheets/live apps** and a REST API, tied to Salesforce identity/permissions. A hosted-collab contrast point (vs Notion): document+spreadsheet hybrid, enterprise auth. Enrich UC-57 (external-API), UC-55/58 (embedded spreadsheet/structured content), UC-36 (internal history), UC-06 (enterprise ACL); feed `SHARD-WP-0002` T11/T14. ## Oddmuse — minimalist single-script Perl wiki ```task id: SHARD-WP-0003-T7 status: done priority: low state_hub_task_id: "581e0a96-62e9-4074-86c3-c6df18b72f06" ``` Deep-dive **Oddmuse**. Distinctive angle: a **single Perl script**, **plain-text page files**, deliberately minimal — the low-complexity file-store end. Useful as a graceful-degradation / minimal-adapter reference. Enrich UC-40 (file-store), UC-01 (open wiki), UC-36/41 (plain-text history); feed `SHARD-WP-0002` T11 (minimal capability profile). ## Mojomojo — Perl Catalyst DB-backed wiki ```task id: SHARD-WP-0003-T8 status: done priority: low state_hub_task_id: "42222ccd-4b91-4dfa-900d-3b94e1f246f4" ``` Deep-dive **MojoMojo**. Distinctive angle: a **Perl Catalyst / DBIx::Class** DB-backed wiki with page hierarchy, attachments, and inline editing — a classic MVC DB engine contrast to the file-store classics. Enrich UC-02/40 (DB vs file attach), UC-36 (DB history), UC-34 (structured fields); feed `SHARD-WP-0002` T13/T14. ## UseModWiki — the flat-file ancestor ```task id: SHARD-WP-0003-T9 status: done priority: low state_hub_task_id: "119c6d50-deaa-45ee-bb44-271985974d89" ``` Deep-dive **UseModWiki**. Distinctive angle: the **historical ancestor** — a Perl CGI flat-file wiki, CamelCase linking, the lineage behind c2-era wikis and **MediaWiki Phase I**. Origins/lineage value (pairs with `260608-c2-wiki-origins/`): the minimal flat-file page+history model the whole field descends from. Enrich UC-01 (open wiki), UC-40 (flat-file store), UC-25 (CamelCase naming), UC-36/41 (flat-file revision history); note lineage for the origins record. --- ## Acceptance criteria - Each of T1–T9 has a `research/--deep-dive/` dir with `README.md` + `findings.md`, following the dive template (capability profile, INTENT mapping, UC seeds, sources, traceability). - `spec/UseCaseCatalog.md` updated per dive (new UCs + enrichments + a per-source mapping subsection + traceability rows + header/promoted-from); `research/README.md` and `SCOPE.md` (UC count, research row) updated. - Findings that touch the adapter contract are cross-referenced to `SHARD-WP-0002` (T11–T16); their architecture notes are captured for the next synthesis. - Each dive is committed (`research:` message) and state-hub-synced (progress event). - **After the batch:** assess whether a `research/260614-shard-spectrum-synthesis` **v3** is warranted (new spectra/modes from Wikibase RDF, Federated Wiki coordination, TiddlyWiki single-file, ikiwiki distributed) and re-fold into `SHARD-WP-0002` if so. ## Suggested task order High-insight first: **T1 Federated Wiki → T2 Wikibase → T5 git-forge wikis** (INTENT-named) → **T3 TiddlyWiki → T4 ikiwiki** → then the contrast/lineage set **T6 Quip → T8 MojoMojo → T7 Oddmuse → T9 UseModWiki**.