The 56af8185 workstream still exists in the DB (finished); clearing the id only
unlinked it (slug taken, cannot recreate). Restoring re-links the file.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
WP-0009 git-backed DecisionLog + per-space append authority (keystone backing);
WP-0010 derived views (wikilinks, BackLinks, RecentChanges, AllPages/SiteMap);
WP-0011 incremental union + equivalence index + I-2 verification;
WP-0012 second adapter (git-IS-store) validating the contract on a new substrate.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
edit()/overlay()/apply_overlay() on InformationSpace. edit() unifies the write
path through one principled route — draft overlay then apply: write-through-capable
target fast-forwards (APPLIED), read-only target keeps the draft as local truth
(KEPT_DRAFT), external drift refuses (no clobber). Integration tests cover all
four. 64 tests green, pyflakes clean. Flips WP-0008 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
resolve() layers open overlays onto canonical pages (overlay_state=DRAFT always
surfaced; overlaid body projected when policy.show_drafts); draft-only edits make
a not-yet-existing page resolvable. Never hides an unapplied overlay (I-4). Policy
gains show_drafts. 4 tests green, pyflakes clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Overlay value type (id, target, base_rev, body, state) recorded as an
OVERLAY_CREATED decision-log event (coordination-canonical); get()/open_overlays()
reconstruct from the fold. 4 tests green, pyflakes clean. (ADR-05, blueprint §8.2)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
FolderAdapter(writable=True) declares WRITE+PER_PAGE, implements write() and
current_rev() (mtime token for drift detection). Conformance gains a
content-preserving positive write probe for WRITE-claiming adapters. 5 tests
green, full suite green, pyflakes clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
InformationSpace ties the slice together: conformance-gated attach → resolve →
read, with alias() recording coordination decisions in the log. Exposed from the
package root. End-to-end integration test (two folder shards → union read with
layered provenance + chorus + alias redirect + red-link + nonconformant-rejected).
pyflakes clean, 39 tests green. Flips WP-0007 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Versioned ShardAdapter ABC (shard_id/profile/keys/read mandatory; optional verbs
raise NotSupported by default = honest absence). FolderAdapter reads a dir of
Markdown into Pages (relpath=key, mtime=source_rev, provenance envelope),
declaring a validated read-only file-store profile. 4 tests green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Identity = stable shard-scoped handle (not a fingerprint); Placement separate;
Span carries a layered provenance delta. Page model (PageShape incl. the four
computational shapes). CapabilityProfile with orthogonal-core axes + validate()
applying §6.5 implication rules that reject impossible profiles. Imports only
provenance/. 8 tests green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes B-4. Incremental delta is not additive: a change processes bucket
exits (retract unsupported edges) + entries (add) + propagation across
equivalence neighbours, not just new candidates. Adds an I-2 verification
mechanism: per-partition Merkle-style digest + background consistency-checker
vs sampled fold → scoped self-healing recompute on drift. I-2 now
eventually-verified, not asserted.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes B-2. Capability profiles are verified, not self-asserted: the contract
ships a versioned conformance suite that exercises each declared verb/position
against observed behaviour; passing is an admissibility precondition (lying
profiles rejected at registration); mismatch reported as a capability diff.
Makes I-3 / §6.5 sound rather than aspirational.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolves B-1+B-3. Coordination-canonical state = an append-only decision log
in the git journal (events: overlay/binding/alias/merge); queryable current
state = a derived fold (tier-3, indexed). Concurrency: one append authority
per space (lease/leader) → totally-ordered per-space log, read-your-writes
across instances, HA via re-grantable lease, partition yields to log integrity.
Updates §1, §4, §8.1, §8.6, §11. I-6 strengthened (coordination state is now
git-addressable history/patch/review), not bypassed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Records the round-2 critical review (history/260615-...-review-2) and
establishes SHARD-WP-0006 to: reconcile overview with hardened body (§A),
settle the journal/coordination-state model (event-sourced decision log;
single-vs-multi-writer concurrency — B-1+B-3), require an adapter conformance
suite (B-2), fix incremental-equivalence correctness + I-2 verification (B-4),
and track §C as O-8..O-11.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes B-3/C-3. §9.1 structural per-tenant partitioning of the derived tier
(no shared cross-tenant cache; read-time filtering as defence-in-depth;
reconciles I-2+L5 per partition); new invariant I-13. §8.1 history stays
recoverable AND bounded (gc/repack, squash-compaction of churn preserving
recoverable endpoints, per-shard offload, anti-abuse hooks).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes D-2/D-3/D-4. §7.3 effective-vs-own provenance (page envelope + span
deltas, near-zero per-span cost). §8.4 projection trivial-by-default
(plain lazy replication), derivation/liveness/view-registry as extension
points only for the computational/typed tail. §11 adds policy/ + provenance/
as dependency-free leaf rails (mechanism never in a rail), tightened import rules.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes D-1. ~6 independent core axes (substrate, write-granularity, opacity,
envelope, access, liveness) with the rest implied via published rules that
forbid impossible profiles; a small named axis-interaction table is the
degradation contract (proof obligation behind 'core logic written once').
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes C-1/C-2. Incremental change-driven maintenance (notify->delta) is
primary; full rebuild is a rare, envelope-respecting, concurrent fallback
(not required cheap). Equivalence via blocking/LSH candidate-gen + verify +
incremental maintenance, replacing O(N^2). Index is derived, per-tenant.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes bug B-2. States the guarantee (read-your-writes for journal-owned
coordination-canonical state; causal across the derived tier; eventual+
freshness-labelled for sharded inputs). Conflict detection+representation =
core mechanism, resolution = policy. Overlay-apply-under-drift semantics
(fast-forward / three-way / refuse+re-present) and journal ordering.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixes bug B-1: page identity is a stable assigned handle (survives edits),
not a content fingerprint; fingerprints identify versions/content for the
equivalence mechanism. Chain: identity -> placements -> equivalence. (§7.2)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Records the critical review (history/260615-...) and establishes SHARD-WP-0005
to fold its findings (A-1, B-1..B-3, C-1..C-3, D-1..D-4) into the blueprint:
correctness (state re-frame, identity/equivalence split, consistency model),
scale (incremental-first union, equivalence indexing, cache invalidation),
elegance (orthogonal spectra, layered provenance, common-case projection,
policy module), security/history scaling, and a known-open-problems section.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Consolidates the 8 computational/interactive-knowledge dives into one
source/derivation/projection model on two axes (replication<->derivation,
live<->snapshot); four computational page shapes; recommendation that
executable content is in scope as a page-model+projection concern, out of
scope as an execution platform (capability-gated, degrade to snapshot;
no INTENT amendment). Flips SHARD-WP-0004 status: done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Code as live time-based audio performance; the far live end of the
live<->snapshot axis (no faithful static form; static = source + marked
recording). The honesty test for graceful degradation. Enrichment-only
(UC-54/55). Marks T5 done — all 8 batch tasks complete.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Program-as-page rendered live at view time (no cached output). Adds
materialization-timing (ahead-of-time vs view-time) + continuity
(one-shot vs continuous) facets to the projection model; execute-in-viewer
= capability+trust. Enrichment-only (UC-54/55). Marks T4 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Combined memo (justified merge). The image = purest 'live' end; hardens
the image-is-not-a-store boundary (export->files only), generalizing
'attach files not the kernel/image'. Pharo Tonel/Iceberg confirms even
image traditions externalize to git text. Names the live<->snapshot
projection axis (T16). Boundary/enrichment-only, no new UC. Marks T6+T8 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Original computational notebook (.nb = a Wolfram expression); confirms
UC-84 notebook page shape is a genus. Refinements: nestable cell groups
(outline tree), structured re-evaluable outputs (new opacity point).
Manipulate/Dynamic = snapshot-only. Enrichment-only (UC-84/54/55).
Marks T2 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Moldable views (gtView) = open, type-keyed set of co-equal, computed
projections, none canonical = a moldable view registry refining the
projection model (T16). Lepiter live notebook over git files. Enrichment-
only (UC-47/48/54); no new UC. Marks T7 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
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>
SHARD-WP-0003 T8. Classic relational-DB-backed wiki: Catalyst/DBIx::Class app,
pages + path tree + full history in SQL tables, Markdown body in a column, no
file store and no content API. Anchors the direct-DB-read binding (map schema
-> page model + journal); DB version rows = a third history source beside git
commits and RCS files. UC-81. Enriched UC-02/40/36/34. Marks T8 done.
Feeds SHARD-WP-0002 T14/T13/T11.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SHARD-WP-0003 T6. Enterprise document-collab contrast to Notion: a doc +
spreadsheet hybrid where a page is prose interleaved with embedded live
structured objects (spreadsheets, kanban/calendar live apps), reachable only by
REST with HTML import/export (lossy to Markdown), gated by Salesforce
identity/ACL. Generalizes external-API mode with an HTML payload-format facet
(beside Notion block-JSON, Wiki.js GraphQL); pushes page model toward
inline embedded structured objects. UC-80. Enriched UC-57/55/58/36/06. Marks
T6 done. Feeds SHARD-WP-0002 T11/T12/T14.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>