Files
ujsx/tasks/review-key-field.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

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
key-on-uelement
key-extraction-in-h
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

  • UElement TypeScript type matches TypeBox Module schema for key field
  • key never appears in component function props
  • Backward compatibility: unkeyed elements work identically to pre-key behavior
  • TypeBox Value.Check passes for both keyed and unkeyed elements
  • No unintended key: undefined serialization on unkeyed elements (verify JSON output)
  • All existing + new tests pass
  • isUElement guard still correctly discriminates from URoot

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