Skip to content

Stop finance readers borrowing data from skipped club records; release 0.5.10 - #23

Merged
rhiever merged 1 commit into
mainfrom
worktree-finance-club-spans
Oct 11, 2026
Merged

rhiever merged 1 commit into
mainfrom
worktree-finance-club-spans

Conversation

@rhiever

@rhiever rhiever commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • The club scan skips some club records, such as clubs playing in another nation's league. A skipped record's finance series, sponsors and facilities were read under the accepted club stored before it.
  • finances(), sponsorships() and facilities() now end each club's span at the next record header, accepted or not. The club index, clubs(), staff and every other reader keep their spans unchanged.
  • The header search costs 1 to 3 s per save. It runs once, and only for those 3 readers.
  • Release 0.5.10.

Refs #20

Verification

  • Before and after runs on 48 local saves (network denied, checksums unchanged): 15 saves lose rows that belonged to skipped records. No rows are added, and no other reader's output or checks change. The issue FM26 build 26.3.2: players export fails with name pools not found #20 save's finances() goes from failed (finance_clubs_with_two_chains = 2) to ok.
  • New unit tests cover skipped records between and after accepted ones, plus bytes that only look like a header. The finance test fails on main.
  • ruff, pyright, unit tests and local corpus tests pass.

🤖 Generated with Claude Code

…e 0.5.10

The club scan skips some club records, such as clubs playing in another
nation's league. Each accepted club's span ran to the next accepted
record, so a skipped record's finance series, sponsors and facilities
were read as the earlier club's. On the issue #20 save, 2 clubs then
held 2 finance chains and finances() failed.

Finances, sponsorships and facilities now end each span at the next
record header, accepted or not: a zero byte followed by 2 printable,
length-prefixed names, whose club index the scan did not accept. The
club index and every other reader keep their spans unchanged. The
header search costs 1 to 3 s per save and runs once, only for those 3
readers.

Across 48 local saves, 15 lose rows that belonged to skipped records,
no rows are added, no other reader changes and the Lens save's
finances pass.

Refs #20.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rhiever
rhiever merged commit 34d3855 into main Oct 11, 2026
11 checks passed
@rhiever
rhiever deleted the worktree-finance-club-spans branch October 11, 2026 02:32
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.

1 participant