generated from coulomb/repo-seed
research: Oddmuse deep dive (minimal single-script wiki); UC-82
SHARD-WP-0003 T7. The minimal file-store floor: one Perl CGI script over plain-text page files + a keep/ revision dir, no DB/API. Anchors the graceful-degradation baseline / minimal capability-profile floor -- every richer shard is measured against it; capability-awareness in its purest form (profile must express absence; truncated history reported honestly). UC-82. Enriched UC-40/01/36/41. Marks T7 done. Feeds SHARD-WP-0002 T11/T13. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,8 @@ Promoted from `research/260608-c2-wiki-origins/`,
|
||||
`research/260614-tiddlywiki-deep-dive/`, and
|
||||
`research/260614-ikiwiki-deep-dive/`, and
|
||||
`research/260614-quip-deep-dive/`, and
|
||||
`research/260614-mojomojo-deep-dive/`.
|
||||
`research/260614-mojomojo-deep-dive/`, and
|
||||
`research/260614-oddmuse-deep-dive/`.
|
||||
See InfoTechPrimers on coulomb.social for use-case catalog conventions.
|
||||
|
||||
## Conventions
|
||||
@@ -44,7 +45,10 @@ Priority hints: **MVP** = likely early value; **Later** = important but not firs
|
||||
**Goal:** Read and write wiki pages with full history and no external dependencies.
|
||||
**Source:** intent, c2
|
||||
**Notes:** Ward Cunningham / c2-style open mode (`WhyWikiWorks`). Recovery via Git
|
||||
history, not gatekeeping. Aligns with L0 in `spec/ArchitectureBlueprint.md`.
|
||||
history, not gatekeeping. Aligns with L0 in `spec/ArchitectureBlueprint.md`. **Oddmuse** is
|
||||
a living minimal instance — one CGI script, open editing, plain-text files (UC-82,
|
||||
`research/260614-oddmuse-deep-dive/findings.md` §1) — the graceful-degradation floor a
|
||||
standalone open wiki can sit on.
|
||||
**Priority:** MVP
|
||||
|
||||
### UC-02 — Attach a shard to an information space
|
||||
@@ -1144,6 +1148,23 @@ risks app invariants → default read/projection/overlay. Feeds SHARD-WP-0002 T1
|
||||
binding), T13.
|
||||
**Priority:** Later
|
||||
|
||||
### UC-82 — Attach a minimal flat-file wiki as the graceful-degradation baseline
|
||||
|
||||
**Actor:** Maintainer / adapter
|
||||
**Goal:** Attach a **minimal flat-file wiki** (plain-text page files + a simple revision
|
||||
directory, Oddmuse) as the **graceful-degradation baseline** — the **floor** of the
|
||||
capability profile — surfacing **partial/truncated history** honestly.
|
||||
**Source:** wikiengines, c2, intent
|
||||
**Notes:** Oddmuse is one Perl CGI script over plain-text page files (`page/`) with recent
|
||||
revisions in `keep/` (older may be expired), no DB/API
|
||||
(`research/260614-oddmuse-deep-dive/findings.md` §1, §2). The **minimal profile**:
|
||||
file-store, page granularity, plain-text, **possibly-truncated** history, no query/structure,
|
||||
open editing — every richer shard in the matrix is measured against this floor. The adapter
|
||||
advertises a **sparse profile**; the orchestrator degrades to read/projection/overlay/backup
|
||||
and must report history as **partial** when `keep/` is truncated (provenance honesty, UC-24).
|
||||
Feeds SHARD-WP-0002 T11 (minimal/floor capability profile), T13 (partial-history import).
|
||||
**Priority:** Later
|
||||
|
||||
---
|
||||
|
||||
## B. Knowledge work and collaboration
|
||||
@@ -1422,6 +1443,7 @@ CamelCase and `[[free links]]`. Markdown-first link semantics TBD.
|
||||
| UC-79 | | | ✓ | ⊟ | ✓ |
|
||||
| UC-80 | | | | ◧ | ✓ |
|
||||
| UC-81 | | | | ⊙ | ✓ |
|
||||
| UC-82 | ✓ | | | ⊚ | ✓ |
|
||||
| UC-08 | ✓ | | |
|
||||
| UC-09 | ✓ | | |
|
||||
| UC-10 | ✓ | | |
|
||||
@@ -2034,6 +2056,31 @@ is the lossy last resort. Architecture logged for `SHARD-WP-0002` (T14/T13/T11):
|
||||
binding (or external-store-via-SQL-schema sub-mode), DB-version-row history import, sparse
|
||||
"has-readable-DB" capability profile.
|
||||
|
||||
### oddmuse mapping
|
||||
|
||||
(⊚ UC-82 lineage = the **Oddmuse deep dive**, `research/260614-oddmuse-deep-dive/findings.md`;
|
||||
also marked in the c2 column for the open-wiki ethos.)
|
||||
|
||||
| Oddmuse mechanism (findings §) | Catalog UC |
|
||||
|--------------------------------|------------|
|
||||
| Single Perl CGI; plain-text `page/` files + `keep/` revisions; no DB/API (§1, §2) | UC-82 (new) |
|
||||
| Plain-text file-store at the simple end (§2) | UC-40 (enriched) |
|
||||
| Open-editing by default (§3) | UC-01 (enriched) |
|
||||
| `keep/` plain-text revisions, possibly truncated (§2) | UC-36 / UC-41 (enriched) |
|
||||
| Sparse capability profile = absence is first-class (§3) | links UC-35 (capability-awareness) |
|
||||
| Partial/truncated history must be surfaced honestly (§4) | links UC-24 |
|
||||
|
||||
Note: Oddmuse is the **minimal file-store floor** — one Perl CGI script over plain-text page
|
||||
files (`page/`) with recent revisions in `keep/` (older may expire), no DB and no API. It is
|
||||
the **graceful-degradation baseline** (UC-82): every richer shard in the synthesis matrix is
|
||||
measured against this floor (file-store, page granularity, plain-text, **partial** history,
|
||||
no query/structure, open editing). Its lesson for the contract is **capability-awareness in
|
||||
its purest form** — the profile must express **absence** cleanly, and **truncated history**
|
||||
must be reported honestly (history "begins at", UC-24), never implied as complete. **Boundary
|
||||
recorded:** degrade to read/projection/overlay/backup; write-through (page + keep-revision
|
||||
under the lock) only carefully. Architecture logged for `SHARD-WP-0002` (T11/T13): minimal/
|
||||
floor capability profile, partial-history import with completeness metadata.
|
||||
|
||||
---
|
||||
|
||||
## Open questions
|
||||
@@ -2116,5 +2163,8 @@ binding (or external-store-via-SQL-schema sub-mode), DB-version-row history impo
|
||||
restrict them (schema coupling/drift, UC-43) to a best-effort mode — and is
|
||||
**write-through by direct DB** ever allowed, or are DB-backed no-API engines
|
||||
read/projection/overlay/backup only? (MojoMojo dive §7.)
|
||||
30. How does shard-wiki represent a shard with **partial/truncated history** (UC-82, Oddmuse
|
||||
`keep/` expiry) in the journal and provenance UI — an explicit "history begins at"
|
||||
marker / completeness metadata? (Oddmuse dive §7.)
|
||||
23. How does shard-wiki **honor/surface a shard's path-based access rules** (UC-06) in a
|
||||
projection without re-implementing its ACL engine? (Wiki.js dive §9.)
|
||||
Reference in New Issue
Block a user