Tasks follow the architecture spec phases: - Phase 0: key field on UElement (2 tasks + review) - Phase 1: reactive-host bridge / fiber tree (4 tasks + review) - Phase 2: key-based children reconciliation (3 tasks + review) - Phase 3: unmount & dispose support (4 tasks) - Phase 4: TypeBox value optimizations (4 tasks) Validated with taskgraph CLI: no cycles, 15 parallel generations, 3 high-risk tasks identified (signal-driven-updates, commit-mutations, fiber-disposal).
1.8 KiB
1.8 KiB
id, name, status, depends_on, created, modified, scope, risk, impact, level
| id | name | status | depends_on | created | modified | scope | risk | impact | level | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| review-reactive-host-bridge | Review reactive-host bridge | pending |
|
2026-05-18T16:22:57.199831873Z | 2026-05-18T16:22:57.199832316Z | narrow | low | phase | review |
Description
Review the reactive-host bridge implementation before proceeding to key-based children reconciliation. This checkpoint verifies that the fiber tree is correctly built during mount, signal changes correctly propagate to prepareUpdate/commitUpdate, and re-rendering works without duplicate instances.
This is critical because Phase 2 (key-based reconciliation) builds on top of the fiber tree structure and the reconciliation loop. Any bugs in the bridge will compound in the more complex reconciliation logic.
Acceptance Criteria
- Fiber tree structure matches the UNode tree after mount
- Signal-driven prop updates flow correctly through
prepareUpdate→commitUpdate - Multiple signals changing in one batch produce one reconciliation pass
render()called twice produces one instance tree, not twosignalDisposersare correctly populated for later cleanup- Effect commit order is top-down (parent before child)
- Function components remain transparent in the fiber tree
- All existing + new tests pass
- No signal subscription leaks (verify effect disposers stored on fibers)
- HostConfig implementations that don't implement
prepareUpdate/commitUpdatestill work (no-op)
References
- docs/architecture/reconciler.md — Steps 1-4
- docs/architecture/decisions/005-signal-driven-updates-over-tree-diffing.md
- docs/architecture/reactive-layer.md
- docs/architecture/host-config.md
Notes
To be filled on completion of review
Summary
To be filled on completion