research: UseModWiki deep dive (flat-file ancestor); SHARD-WP-0003 done

SHARD-WP-0003 T9 (final). Lineage dive: the flat-file ancestor (Clifford Adams
c.2000, from AtisWiki/CvWiki) that early Wikipedia ran on (MediaWiki Phase I).
No new capability -- reinforces the minimal flat-file floor (UC-82) and
CamelCase linking (UC-25); historical grounding that the file-store floor is
the field's common root. Enrichment-only: UC-01/40/25/36/41. Marks T9 done and
SHARD-WP-0003 complete (9/9). Feeds SHARD-WP-0002 T11.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-14 21:14:26 +02:00
parent ce4b0cb9e4
commit 8941e131e8
6 changed files with 137 additions and 7 deletions

View File

@@ -19,10 +19,10 @@ Learnings update both SCOPE and INTENT where necessary.
|-------|-------| |-------|-------|
| Code | Python package scaffold (`src/shard_wiki/`, smoke tests only) | | Code | Python package scaffold (`src/shard_wiki/`, smoke tests only) |
| Intent | `INTENT.md` established; authorization-in-core amendments drafted | | Intent | `INTENT.md` established; authorization-in-core amendments drafted |
| Research | yawex prior art; c2 origins; federation concepts; wikiengines overview (`research/260608-*/`); XWiki/TWiki/Foswiki deep dives (`research/260613-*/`); Xanadu + ZigZag + Roam + Obsidian + Notion + Joplin + Logseq + local-first workspaces (Anytype/AFFiNE/AppFlowy) + Trilium + Wiki.js + Federated Wiki + Wikibase + git-forge wikis + TiddlyWiki + ikiwiki + Quip + MojoMojo + Oddmuse deep dives & shard-spectrum synthesis (`research/260614-*/`) | | Research | yawex prior art; c2 origins; federation concepts; wikiengines overview (`research/260608-*/`); XWiki/TWiki/Foswiki deep dives (`research/260613-*/`); Xanadu + ZigZag + Roam + Obsidian + Notion + Joplin + Logseq + local-first workspaces (Anytype/AFFiNE/AppFlowy) + Trilium + Wiki.js + Federated Wiki + Wikibase + git-forge wikis + TiddlyWiki + ikiwiki + Quip + MojoMojo + Oddmuse + UseModWiki deep dives & shard-spectrum synthesis (`research/260614-*/`) |
| Demand | NetKingdom integration asks captured, not yet negotiated | | Demand | NetKingdom integration asks captured, not yet negotiated |
| Spec | Architecture blueprint drafted; UseCaseCatalog 82 UCs from research; PRD/TSD scaffolds | | Spec | Architecture blueprint drafted; UseCaseCatalog 82 UCs from research; PRD/TSD scaffolds |
| Work | `SHARD-WP-0001` active (6 tasks); `SHARD-WP-0002` active (16 tasks: T1T10 federation + T11T16 adapter contract); `SHARD-WP-0003` active (9 engine dives); `SHARD-WP-0004` active (8 computational-knowledge dives) | | Work | `SHARD-WP-0001` active (6 tasks); `SHARD-WP-0002` active (16 tasks: T1T10 federation + T11T16 adapter contract); `SHARD-WP-0003` **done** (9 engine dives complete); `SHARD-WP-0004` active (8 computational-knowledge dives) |
## In Scope (today) ## In Scope (today)

View File

@@ -0,0 +1,14 @@
# 260614 — UseModWiki deep dive
Deep dive on **UseModWiki**: the **flat-file ancestor** — a Perl CGI wiki (Clifford Adams,
2000) descended from AtisWiki/CvWiki, **CamelCase** linking, plain flat-file page + history
storage, and the **engine Wikipedia originally ran on** (MediaWiki Phase I). Origins/lineage
value: the minimal flat-file page+history model the whole field descends from.
- `findings.md` — the model, lineage, capability profile, INTENT mapping, enrichments (no new
UC — reinforces the minimal flat-file baseline UC-82), architecture notes, sources,
traceability.
Catalog yield: **enrichment-only** (reinforces UC-82) — enriched UC-01 (open wiki), UC-40
(flat-file store), UC-25 (CamelCase naming), UC-36/41 (flat-file history). Lineage noted for
the origins record. Feeds SHARD-WP-0002 T11 (minimal profile lineage).

View File

@@ -0,0 +1,87 @@
# UseModWiki — deep dive (findings)
**Date:** 2026-06-14 · **Source:** SHARD-WP-0003 T9 · **Subject:** UseModWiki, Clifford
Adams's flat-file Perl wiki — the lineage root of much of the field.
## Why this dive
This is a **lineage** dive, not a new-capability one. UseModWiki is the **ancestor**: the
minimal flat-file page+history wiki the c2-era engines and **MediaWiki Phase I** descend
from (Wikipedia ran on UseModWiki, 20012002). It pairs with
`research/260608-c2-wiki-origins/` to record *where the page+history model came from*. It
adds no new shard capability beyond the minimal flat-file floor (UC-82, Oddmuse) — its value
is **historical grounding** and confirming the floor is genuinely the field's common root.
## 1. The model
- **Perl CGI** (`wiki.pl`), single-script, descended from AtisWiki → CvWiki → UseModWiki
(c. 2000), by Clifford Adams.
- **Flat-file storage**: each page stored as a text file (under a `db/` data directory),
with **page history** kept (older revisions retained as files / in the page record). No
database.
- **Linking**: **CamelCase** (`WikiWord`) auto-links by default; later added **free links**
`[[Like This]]`. This is the canonical CamelCase-naming lineage (UC-25).
- **Open editing**, recent-changes, simple markup — the c2 ethos in a portable script.
## 2. Lineage
- **MediaWiki Phase I** *was* UseModWiki — early Wikipedia ran on it before the PHP rewrite
(Phase II/III). So UseModWiki is the **direct ancestor of MediaWiki/Wikibase** (T2) and a
sibling-root of the c2 tradition.
- The **flat-file page+history model** here is the shape Oddmuse (UC-82), TWiki's file store
(UC-40), and others elaborate — confirming the **minimal file-store floor** is the field's
common origin, not a modern simplification.
## 3. Capability profile
Essentially **identical to the minimal floor** (UC-82, Oddmuse):
| Dimension | UseModWiki |
|-----------|------------|
| Attachment mode | **file-store** (flat files under `db/`); CGI, no API |
| Addressing | page = file; **CamelCase** name = identity |
| Structure | flat page space; CamelCase link graph |
| History | flat-file retained revisions (may be limited) |
| Native query | none |
| Translation | simple wiki markup → Markdown (lossy) |
| Write granularity | page (file) |
| Access | open editing (optional admin password) |
| Provenance | timestamp, optional username |
## 4. INTENT mapping
- **Reinforces the minimal flat-file baseline** (UC-82): UseModWiki is the *historical*
instance of the graceful-degradation floor — attach via its flat files; partial history
surfaced honestly.
- **CamelCase naming** (UC-25): the canonical source of WikiWord auto-linking — the page
model's name/identity and link-resolution must accommodate CamelCase-derived identities.
- **Open wiki** (UC-01): the c2 open-editing ethos at the root.
- **Lineage grounding**: confirms shard-wiki's "Git-based Markdown" page model descends from
(and must remain attach-compatible with) the flat-file ancestor.
**No new UC** — UseModWiki adds historical grounding, not a new orchestration scenario;
its capabilities are subsumed by UC-82 (minimal flat-file baseline) plus UC-25 (CamelCase).
## 5. Architecture notes for SHARD-WP-0002
- **T11:** UseModWiki = a second instance of the **minimal/floor profile** (with Oddmuse);
confirms the floor is the field's common root, so the floor profile is the right baseline.
- **Naming/identity:** CamelCase-derived page identities (UC-25) are part of the legacy
identity surface the adapter must parse (and translate to the page model's identity).
## 6. Open questions
(None new — covered by UC-82 partial-history honesty, catalog open-Q30, and the c2 origins
record. CamelCase resolution is UC-25.)
## 7. Sources
- UseModWiki — usemod.com/cgi-bin/wiki.pl (the wiki about itself); Wikipedia: *UseModWiki*,
*MediaWiki* (Phase I history)
- prior: `research/260608-c2-wiki-origins/`; `research/260614-oddmuse-deep-dive/` (minimal
floor, UC-82)
## 8. Traceability
**No new UC** (reinforces UC-82). Enriched: UC-01, UC-40, UC-25, UC-36, UC-41. Lineage noted
for the origins record. Architecture cross-ref: SHARD-WP-0002 T11 (minimal-profile lineage).

View File

@@ -35,4 +35,5 @@ when multiple files or sources are involved. Findings here inform `spec/` and
| 2026-06-14 | `260614-ikiwiki-deep-dive/` | ikiwiki — wiki compiler: git-canonical Markdown source → static HTML (derived publish/projection); git-distributed clone federation + XML-RPC pinger (third federation flavor); UC-79 | | 2026-06-14 | `260614-ikiwiki-deep-dive/` | ikiwiki — wiki compiler: git-canonical Markdown source → static HTML (derived publish/projection); git-distributed clone federation + XML-RPC pinger (third federation flavor); UC-79 |
| 2026-06-14 | `260614-quip-deep-dive/` | Salesforce Quip — closed-SaaS live docs + embedded spreadsheets/live apps; REST + lossy HTML import/export; Salesforce enterprise ACL; external-API payload-format facet + inline-object page model; UC-80 | | 2026-06-14 | `260614-quip-deep-dive/` | Salesforce Quip — closed-SaaS live docs + embedded spreadsheets/live apps; REST + lossy HTML import/export; Salesforce enterprise ACL; external-API payload-format facet + inline-object page model; UC-80 |
| 2026-06-14 | `260614-mojomojo-deep-dive/` | MojoMojo — Perl Catalyst/DBIx::Class DB-backed wiki; pages + history in SQL tables, no file store/API → direct-DB-read binding; DB version rows as history source; UC-81 | | 2026-06-14 | `260614-mojomojo-deep-dive/` | MojoMojo — Perl Catalyst/DBIx::Class DB-backed wiki; pages + history in SQL tables, no file store/API → direct-DB-read binding; DB version rows as history source; UC-81 |
| 2026-06-14 | `260614-oddmuse-deep-dive/` | Oddmuse — single Perl CGI, plain-text `page/` files + `keep/` revisions, no DB; the minimal file-store floor / graceful-degradation baseline; partial-history honesty; UC-82 | | 2026-06-14 | `260614-oddmuse-deep-dive/` | Oddmuse — single Perl CGI, plain-text `page/` files + `keep/` revisions, no DB; the minimal file-store floor / graceful-degradation baseline; partial-history honesty; UC-82 |
| 2026-06-14 | `260614-usemodwiki-deep-dive/` | UseModWiki — flat-file ancestor (Wikipedia's MediaWiki Phase I); CamelCase linking; lineage grounding for the minimal file-store floor; enrichment-only (reinforces UC-82, UC-25) |

View File

@@ -19,7 +19,8 @@ Promoted from `research/260608-c2-wiki-origins/`,
`research/260614-ikiwiki-deep-dive/`, and `research/260614-ikiwiki-deep-dive/`, and
`research/260614-quip-deep-dive/`, and `research/260614-quip-deep-dive/`, and
`research/260614-mojomojo-deep-dive/`, and `research/260614-mojomojo-deep-dive/`, and
`research/260614-oddmuse-deep-dive/`. `research/260614-oddmuse-deep-dive/`, and
`research/260614-usemodwiki-deep-dive/`.
See InfoTechPrimers on coulomb.social for use-case catalog conventions. See InfoTechPrimers on coulomb.social for use-case catalog conventions.
## Conventions ## Conventions
@@ -1371,7 +1372,11 @@ sub-page/per-assertion provenance even if MVP records it per page.
reduce ambiguity across the information space. reduce ambiguity across the information space.
**Source:** c2, yawex **Source:** c2, yawex
**Notes:** c2 flat namespace + `WikiWord` / `Precise` principle; yawex **Notes:** c2 flat namespace + `WikiWord` / `Precise` principle; yawex
CamelCase and `[[free links]]`. Markdown-first link semantics TBD. CamelCase and `[[free links]]`. Markdown-first link semantics TBD. **UseModWiki** is the
canonical lineage source of **CamelCase auto-linking** (later adding `[[free links]]`) — and
the engine **early Wikipedia ran on** (MediaWiki Phase I), so CamelCase-derived page
identities are part of the legacy identity surface the adapter must parse and translate
(UC-82, `research/260614-usemodwiki-deep-dive/findings.md` §1, §2).
**Priority:** Later **Priority:** Later
--- ---
@@ -2081,6 +2086,29 @@ recorded:** degrade to read/projection/overlay/backup; write-through (page + kee
under the lock) only carefully. Architecture logged for `SHARD-WP-0002` (T11/T13): minimal/ under the lock) only carefully. Architecture logged for `SHARD-WP-0002` (T11/T13): minimal/
floor capability profile, partial-history import with completeness metadata. floor capability profile, partial-history import with completeness metadata.
### usemodwiki mapping
(Lineage dive — **no new UC**; reinforces UC-82. Source: the **UseModWiki deep dive**,
`research/260614-usemodwiki-deep-dive/findings.md`.)
| UseModWiki mechanism (findings §) | Catalog UC |
|-----------------------------------|------------|
| Perl CGI flat-file page+history store (`db/`); the field's ancestor (§1, §2) | UC-82 (reinforced); UC-40 (enriched) |
| CamelCase auto-linking (+ later `[[free links]]`) (§1) | UC-25 (enriched) |
| Open-editing c2 ethos at the root (§1) | UC-01 (enriched) |
| Flat-file retained revisions (§1) | UC-36 / UC-41 (enriched) |
| MediaWiki Phase I = UseModWiki → ancestor of MediaWiki/Wikibase (§2) | links UC-73 (Wikibase lineage) |
Note: UseModWiki is a **lineage** dive — the **flat-file ancestor** (Clifford Adams, c. 2000,
from AtisWiki/CvWiki) that **early Wikipedia ran on** (MediaWiki Phase I). It adds **no new
shard capability**: its profile is the **minimal flat-file floor** already captured by UC-82
(Oddmuse), and its CamelCase linking is UC-25. Its value is **historical grounding**
confirming the minimal file-store floor is the field's *common root*, not a modern
simplification, and that shard-wiki's Git-based-Markdown page model must remain
attach-compatible with that ancestor (flat files + CamelCase identities + partial history).
Architecture: a second instance of the **minimal/floor profile** (T11) and the CamelCase
identity surface (UC-25) the adapter must parse/translate.
--- ---
## Open questions ## Open questions

View File

@@ -4,7 +4,7 @@ type: workplan
title: "wiki-engine deep-dive batch (new-insight + git-forge + classic engines)" title: "wiki-engine deep-dive batch (new-insight + git-forge + classic engines)"
domain: whynot domain: whynot
repo: shard-wiki repo: shard-wiki
status: active status: done
owner: tegwick owner: tegwick
topic_slug: whynot topic_slug: whynot
created: "2026-06-14" created: "2026-06-14"
@@ -178,7 +178,7 @@ history), UC-34 (structured fields); feed `SHARD-WP-0002` T13/T14.
```task ```task
id: SHARD-WP-0003-T9 id: SHARD-WP-0003-T9
status: todo status: done
priority: low priority: low
state_hub_task_id: "119c6d50-deaa-45ee-bb44-271985974d89" state_hub_task_id: "119c6d50-deaa-45ee-bb44-271985974d89"
``` ```