Skip to content

Restore the tomeliot_dev API surface steer-financing depends on (0.2.24) - #51

Merged
nicholas9182 merged 1 commit into
mainfrom
dev
Sep 29, 2026
Merged

nicholas9182 merged 1 commit into
mainfrom
dev

Conversation

@nicholas9182

Copy link
Copy Markdown
Collaborator

steer-financing was developed against the tomeliot_dev branch, which forked before main's history was rewritten and was never merged back. None of its 13 demos ran against main and 26 of its serialization tests failed. Merging the branch is not viable -- it is ~3 months stale and lacks 15 main-only symbols with 79 downstream call sites (apply_plot_layout, Periodic_table, the 0.2.21 deserialization allowlist), and the rewritten history makes the merge conflict in 28 files / 85 hunks for a real content delta of 13 files.

Port the four additions instead. All are additive; no existing behaviour changes and steer-core's own 376 tests are unaffected.

  • Constants/Format.py: DEFAULT_MONTH_FMT ("%Y-%m")
  • ValidationMixin.validate_not_none / validate_active_mode
  • SerializerMixin honours a _serializer_exclude hook, so a subclass can skip transient caches holding objects msgpack cannot encode. Without it steer_financing's cached pd.DatetimeIndex made every serialize() raise TypeError: can not serialize 'DatetimeIndex' object.
  • SerializerMixin round-trips timedelta and set

Verified: steer-core 376 passed / 0 failed; steer-financing's suite is set-identical to the tomeliot_dev baseline (zero regressions) and fully green once its optional deps are installed.

steer-financing was developed against the tomeliot_dev branch, which forked
before main's history was rewritten and was never merged back. None of its 13
demos ran against main and 26 of its serialization tests failed. Merging the
branch is not viable -- it is ~3 months stale and lacks 15 main-only symbols
with 79 downstream call sites (apply_plot_layout, Periodic_table, the 0.2.21
deserialization allowlist), and the rewritten history makes the merge conflict
in 28 files / 85 hunks for a real content delta of 13 files.

Port the four additions instead. All are additive; no existing behaviour
changes and steer-core's own 376 tests are unaffected.

- Constants/Format.py: DEFAULT_MONTH_FMT ("%Y-%m")
- ValidationMixin.validate_not_none / validate_active_mode
- SerializerMixin honours a _serializer_exclude hook, so a subclass can skip
  transient caches holding objects msgpack cannot encode. Without it
  steer_financing's cached pd.DatetimeIndex made every serialize() raise
  TypeError: can not serialize 'DatetimeIndex' object.
- SerializerMixin round-trips timedelta and set

Verified: steer-core 376 passed / 0 failed; steer-financing's suite is
set-identical to the tomeliot_dev baseline (zero regressions) and fully green
once its optional deps are installed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@nicholas9182
nicholas9182 merged commit 2c202fc into main Sep 29, 2026
2 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.

1 participant