Skip to content

UK graph: the CREATE node declares person.age as float64 where the FRS root produces int64 #845

Description

@MaxGhenis

Found while diagnosing H2 parity on x86 (#836 follow-up). The legacy frs_spine root transform yields person.age as int64; uk_runtime/graph.py declares the CREATE cell as float64, so every graph stage sees a float age from node 0 while the legacy StagePlan sees an integer until age_tail disaggregates. Parity holds because the transforms cast, and #842 closes the downstream consequences at the stages that care (frs_education casts its output explicitly), but the declaration should match what the root produces, with age_tail owning the dtype change it makes.

Proposed: declare person.age as int64 on create_uk_frs, and have age_tail (which rewrites age) declare its output dtype explicitly. Then the fixture regenerates (tools/graph_uk_spine_fixture.py) and H2 stays byte-exact.

Left for the UK spine lane rather than changed underneath #835/#842/#844, which all touch uk_runtime/graph.py.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions