content: nested-tree CvRDT (crdt-tree.sx) + 17 convergence tests (727/727)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 35s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 35s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ injected adapter, not core.
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/content/conformance.sh` → **710/710** (Phases 1–4 COMPLETE + ~33 extensions: HTML/SX escaping, Markdown render + import/export incl. tables & frontmatter (full round-trip), CRDT replication, tree-aware validation, snapshot cache, doc metadata, plain-text render, nested block trees + deep editing + flatten + relative reorder, doc stats + summary + multi-doc index, table + callout + media blocks, HTML page wrapper + SEO page, doc composition + id-remap, portable data + wire serialization, block query + transforms + find/replace, TOC + anchored headings + outline, normalization)
|
||||
`bash lib/content/conformance.sh` → **727/727** (Phases 1–4 COMPLETE + ~34 extensions: HTML/SX escaping, Markdown render + import/export incl. tables & frontmatter (full round-trip), CvRDT flat + nested-tree + durable replication, tree-aware validation, snapshot cache, doc metadata, plain-text render, nested block trees + deep editing + flatten + relative reorder, doc stats + summary + multi-doc index, table + callout + media blocks, HTML page wrapper + SEO page, doc composition + id-remap, portable data + wire serialization, block query + transforms + find/replace, TOC + anchored headings + outline, normalization)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -93,6 +93,7 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
- [x] media block (`media.sx`: CtMedia video/audio, renders html/sx/text/md, validated)
|
||||
- [x] list-card summary (`summary.sx`: content/summary — title/excerpt/words/reading/cover)
|
||||
- [x] multi-doc index (`index.sx`: content/index + index-by-tag + all-tags + has-tag?)
|
||||
- [x] nested-tree CvRDT (`crdt-tree.sx`: parent-aware, sections merge collaboratively)
|
||||
- [x] HTML page wrapper (`page.sx`: content/page, escaped title from metadata)
|
||||
- [x] SEO page (`page-full.sx`: content/page-full, lang + meta description from excerpt)
|
||||
- [x] document composition (`compose.sx`: concat/prepend/concat-all/wrap-section)
|
||||
@@ -112,6 +113,15 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Extension: nested-tree CvRDT (`crdt-tree.sx`). Extends the flat
|
||||
CvRDT to a TREE: each element carries a `parent` (containing section id, "" =
|
||||
root) beside its Logoot pos; merge reuses crdt.sx's pos/register/field joins +
|
||||
parent (immutable). Materialisation rebuilds the ordered tree (root + per-section
|
||||
children sorted by pos, recursive). Sections now merge collaboratively; proven
|
||||
commutative/associative/idempotent — same- and different-parent concurrent
|
||||
inserts converge, nested sections, LWW, two-replica convergence. Reuses crdt.sx
|
||||
+ section.sx; flat crdt untouched (34/34). 17 tests; suite 727/727. This was
|
||||
the flagged "research-grade" gap — done as a clean self-contained layer.
|
||||
- 2026-06-07 — Extension: multi-document index (`index.sx`). `content/index`
|
||||
projects a doc list into summary cards (blog index); `content/index-by-tag`
|
||||
filters by tag (category pages); `content/all-tags` is a deduped tag cloud;
|
||||
|
||||
Reference in New Issue
Block a user