Files
shard-wiki/workplans/SHARD-WP-0003-engine-dives-batch.md
tegwick ee805d5af7 research: ikiwiki deep dive (compile-to-static, git-distributed); UC-79
SHARD-WP-0003 T4. Wiki compiler: git-canonical Markdown source -> static HTML
(derived publish/projection, not the canonical store). Two new insights atop
the git-IS-store home case: compile-to-static = clean canonical-source vs
derived-output separation (attach source repo, UC-37/UC-56), and a third
federation flavor -- git replication + XML-RPC change-ping (pinger), beside
fedwiki fork/journal (UC-72) and Wikibase SERVICE (UC-74). UC-79. Enriched
UC-31/56/37/33. Marks T4 done. Feeds SHARD-WP-0002 T4/T6/T14.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 20:40:29 +02:00

8.8 KiB
Raw Blame History

id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
id type title domain repo status owner topic_slug created updated state_hub_workstream_id
SHARD-WP-0003 workplan wiki-engine deep-dive batch (new-insight + git-forge + classic engines) whynot shard-wiki active tegwick whynot 2026-06-14 2026-06-14 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/<yymmdd>-<slug>-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-26UC-69 from research).
  • Adapter contract: workplans/SHARD-WP-0002-federation-architecture.md (T11T16) — 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)

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 T1T5.

Wikibase / Wikidata — RDF entity-statement knowledge graph

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

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

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

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

id: SHARD-WP-0003-T6
status: todo
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

id: SHARD-WP-0003-T7
status: todo
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

id: SHARD-WP-0003-T8
status: todo
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

id: SHARD-WP-0003-T9
status: todo
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 T1T9 has a research/<yymmdd>-<slug>-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 (T11T16); 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.