0.4.2 → 0.4.3 — Live Tool-module Schema Refetching¤
Summary¤
BaseModule now clears resolved_tools on startup so that any tool module
whose schema changed between mission runs is re-discovered on the next
run, without needing a setup-version bump. Until this release, a redeployed
or upgraded tool module's new schema was only picked up once the consuming
setup's version was bumped — a manual step that was easy to forget and
caused stale tool catalogues to linger in production.
No public API change; consumers see the new behaviour automatically on the next module boot.
What changes¤
BaseModule — clear resolved_tools on startup¤
SetupModel.resolved_tools is a persisted cache keyed by setup_id,
populated by ToolReference.resolve and read at every mission run. Its
invalidation contract until now was tied to the setup-version bump: a new
setup version dropped the persisted entry, any older version reused it
verbatim.
BaseModule now clears resolved_tools during its own startup, so:
- a freshly booted module re-resolves every
ToolReferenceagainst the live registry, picking up the currentModuleInfo(including any schema changes from a redeployed tool module); - the next mission run then re-populates
resolved_toolswith the fresh catalogue, which subsequent runs in the same module lifecycle continue to reuse (the per-run cache layer is unchanged).
The end-user effect: redeploying a tool module no longer requires a downstream setup-version bump for its consumers to see the new schema. Restarting the consuming module is enough.
Migration¤
None. The clear runs at startup automatically. If you previously relied
on bumping setup versions just to flush resolved_tools, you can drop
that step from your release process — restarting the module achieves the
same invalidation.