Skip to content

Declare the stored-format fixture's second spelling as an Id128 kind - #2973

Merged
trissim merged 1 commit into
mainfrom
fix/stored-format-red
Oct 24, 2026
Merged

trissim merged 1 commit into
mainfrom
fix/stored-format-red

Conversation

@trissim

@trissim trissim commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Main red: tests/test_carry.py::test_a_stored_record_format_change_bumps_its_version_and_ships_a_carry, all 6 cases, red on main since #2943 (56cfe9f).

Id128Text became NominalSpelling[Id128] (field_codec.py:1892), and NominalSpelling.__init_subclass__ (field_codec.py:1735-1742) needs a NominalSpelling[...] base. The fixture's bare class RootId(Id128Text) raised StopIteration inside the stored_formats probe, so every case died before measuring. The ratchet was right; the fixture was stale.

The same-spelling case is now a kind, class RootKind(Id128), which is how the codec declares one. Test only.

Local: 6 passed (was 6 failed on 30f3093). The str -> Id128Text case still counts 1, so the test still catches a real format change.

🤖 Generated with Claude Code

The fixture record subclassed Id128Text directly. Since 56cfe9f Id128Text
is NominalSpelling[Id128], whose __init_subclass__ finds the value type in a
NominalSpelling[...] base, so the bare subclass raised StopIteration when the
stored_formats probe imported it and all six cases failed before measuring.
The same-spelling case is now a kind (an Id128 subclass inheriting Id128Text),
which is how the codec declares one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 24, 2026 03:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@trissim
trissim merged commit 52df006 into main Oct 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants