Files
ujsx/tasks/review-reactive-host-bridge.md
glm-5.1 c9c32a6aa6 decompose reconciler roadmap into 20 implementation tasks across 5 phases
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).
2026-05-18 16:26:52 +00:00

46 lines
1.8 KiB
Markdown

---
id: review-reactive-host-bridge
name: Review reactive-host bridge
status: pending
depends_on: [signal-driven-updates, render-re-renderable]
created: 2026-05-18T16:22:57.199831873Z
modified: 2026-05-18T16:22:57.199832316Z
scope: narrow
risk: low
impact: phase
level: 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 two
- [ ] `signalDisposers` are 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`/`commitUpdate` still 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