Files
improvise/crates
Edward Langley e3fcdc8bc6 test(lockstep): take the fixtures' basis from the server, not from a recipe (improvise-1l9o)
furnished_client and client_ready_to_edit built their BasisCache by walking the
client's own grid for Record cells and calling basis::published(0, 0, records)
with every version hard-coded to zero -- a small re-implementation of
project.rs::basis_update's record selection, in a file whose entire purpose is
to rule out re-implementations. Both now take the Projection::Basis out of a
real Sessions::connect snapshot.

The reason the ticket calls it a nit is the reason it needed a test: a fresh App
really is at generation 0, layout 0 and every record at 0, so the fabrication
and the publication are indistinguishable on every existing fixture -- all 23
lockstep tests pass under either. So the change alone is structural and
untested by construction. the_fixtures_basis_tracks_a_host_whose_layout_has_moved
moves a tier first and then asserts the fixture's claim names the host's current
tiers; re-fabricating the two document tiers fails it (0,0) against (0,1) and
fails nothing else.

Worth recording: SetNumberFormat was the first attempt and does not move
layout_version, although it declares Model(LayoutGeometry). layout_version is
OBSERVED from view_shapes rather than read off the declaration (improvise-pdvm),
and a number format is not part of a view's shape hash. Classification is not a
promise about the counter.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
2026-09-21 04:01:08 -07:00
..