Skip to content

Replace component reconciliation with a projectional core - #1807

Closed
merryman wants to merge 1 commit into
mainfrom
codex/reconciliation-refactor
Closed

Replace component reconciliation with a projectional core#1807
merryman wants to merge 1 commit into
mainfrom
codex/reconciliation-refactor

Conversation

@merryman

Copy link
Copy Markdown
Member

Summary

  • replace the legacy component reconciler with a semantic component document, reducers, and explicit source/runtime projectors
  • coordinate source, runtime, policy-cache, derived-component, and undo/redo updates as reversible transactions
  • support scalar properties, rich text and embedded morphs, structural edits, parts, typed morphs, inherited state, layouts, masters, and cross-module derived propagation
  • add deterministic fuzzing, invariants, regression coverage, and projection performance benchmarks
  • remove the legacy reconciliation implementation, fallbacks, and now-unreachable helper code

Why

The former reconciliation path had accumulated overlapping mutation logic and recurring edge-case failures. The new projectional core gives every direct manipulation an explicit semantic command and validates the projected source and runtime state at transaction boundaries.

Impact

Direct component manipulation now uses one projectional path with exact undo/redo and derived-component propagation. Rich-text attribute edits use a fast path, while embedded submorphs and structural changes remain transactionally synchronized with source.

Validation

  • complete branch suite before the final dead-code cleanup: 2,114 passed, 32 skipped, 0 failed
  • ./scripts/test.sh lively.ide lively.halos
  • deterministic reconciliation fuzz tests and projection invariants
  • staged diff and whitespace validation

@merryman
merryman force-pushed the codex/reconciliation-refactor branch from 3c5e5fe to 14d2606 Compare July 20, 2026 08:03
@merryman
merryman marked this pull request as ready for review July 20, 2026 08:04
@merryman
merryman force-pushed the codex/reconciliation-refactor branch 2 times, most recently from 5f5e61d to 8735524 Compare July 20, 2026 10:47
Replace the legacy reconciler with a semantic component document,
reducers, and explicit source and runtime projectors.

Coordinate reconciliation, policy caches, derived components, and
undo/redo through reversible transactions. Cover text, embedded morphs,
structural edits, layouts, masters, inheritance, and cross-module
propagation.

Add deterministic fuzzing, regression coverage, invariants, and
performance benchmarks. Remove the legacy implementation, fallbacks,
and stranded helper code, and rebuild the Flatn bundle.
@merryman
merryman force-pushed the codex/reconciliation-refactor branch from 8735524 to 858ccbb Compare July 20, 2026 11:59
@merryman merryman closed this Jul 26, 2026
@merryman
merryman deleted the codex/reconciliation-refactor branch July 26, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant