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.4 KiB
1.4 KiB
id, name, status, depends_on, created, modified, scope, risk, impact, level
| id | name | status | depends_on | created | modified | scope | risk | impact | level | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| review-key-field | Review key field implementation | pending |
|
2026-05-18T16:22:57.125725833Z | 2026-05-18T16:22:57.125726289Z | narrow | low | phase | review |
Description
Review the implementation of the key field on UElement before proceeding to the fiber tree and reconciler phases. This is a critical checkpoint because every downstream task depends on key being correctly added to the schema and extracted by h().
Verify schema/type consistency, backward compatibility, and that ADR-004's consequences are properly handled.
Acceptance Criteria
UElementTypeScript type matches TypeBox Module schema forkeyfieldkeynever appears in component function props- Backward compatibility: unkeyed elements work identically to pre-key behavior
- TypeBox
Value.Checkpasses for both keyed and unkeyed elements - No unintended
key: undefinedserialization on unkeyed elements (verify JSON output) - All existing + new tests pass
isUElementguard still correctly discriminates fromURoot
References
- docs/architecture/schema.md
- docs/architecture/decisions/004-key-as-first-class-field.md
- docs/architecture/element-factory.md
Notes
To be filled on completion of review
Summary
To be filled on completion