content: Ghost/CMS sync via injected adapter + round-trip tests (210/210)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 43s
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` → **196/196** (Phases 1–3 complete: blocks, doc, render, api, persist op log, CRDT merge)
|
||||
`bash lib/content/conformance.sh` → **210/210** (Phases 1–3 complete + Phase 4 Ghost adapter)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -71,12 +71,20 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
- [x] concurrent-edit tests (any order, double-apply → identical)
|
||||
|
||||
## Phase 4 — External sync + federation
|
||||
- [ ] Ghost/CMS sync via injected adapter (import/export)
|
||||
- [x] Ghost/CMS sync via injected adapter (import/export)
|
||||
- [ ] federated documents (peer-authored blocks) — trust-gated stub
|
||||
- [ ] tests: round-trip import/export, conflict on concurrent external edit
|
||||
- [~] tests: round-trip import/export (done), conflict on concurrent external edit (pending)
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Phase 4 `sync.sx` (cb1): external CMS sync via an injected
|
||||
adapter. Core defines the shape — `{:import :export}` — and delegates;
|
||||
`content/import` / `content/export` / `content/round-trip` know nothing about
|
||||
Ghost. A Ghost-flavoured adapter confines all format translation (post
|
||||
`:sections` ↔ content blocks, all 8 kinds). Swapping in a stub `raw-adapter`
|
||||
works identically. Round-trip (export∘import and import∘export) preserves ids,
|
||||
types, fields, order. 14 tests; suite 210/210. Next: trust-gated federation +
|
||||
concurrent-external-edit conflict (via CRDT).
|
||||
- 2026-06-07 — Phase 3 `crdt.sx` (**Phase 3 complete**): collaborative merge as
|
||||
a state-based CvRDT. Merge is a join (lub) on a semilattice → commutative,
|
||||
associative, idempotent by construction. Ordering = unique dense Logoot
|
||||
|
||||
Reference in New Issue
Block a user