`version` is now reserved for module identity. The generator injects
`version() -> tstr` from metadata.json for every module, and refuses a module
that declares the name with any other signature:
storage_module.lidl: module 'storage_module' declares 'version() -> result',
but 'version' is reserved for module identity and must be 'version() -> tstr'
That refusal is what currently blocks this module -- and everything downstream of
it -- from building against the current logos-module-builder.
This is a rename, not a removal, because the method is not the module's version
at all: it returns the version string of the underlying libstorage (Nim) library,
read from the live storage context. The module's OWN version was already exposed
separately as moduleVersion(), which is untouched.
So after this change the three are distinct and each says what it is:
version() -> tstr injected from metadata.json (module identity)
moduleVersion() -> tstr this module's version, from the build
libstorageVersion() -> result the Nim library's version, from the node
moduleVersion() is left alone deliberately. It is now redundant with the injected
version(), but removing it is a second API break with no forcing reason, and it
belongs in its own change rather than riding along with an unblocking one.
BREAKING CHANGE: consumers calling storage_module.version() expecting the
libstorage string must call libstorageVersion(). The break is loud rather than
silent -- version() still exists, but returns a plain string instead of a
LogosResult, so a stale call site fails to compile rather than quietly reading
the wrong version. logos-storage-ui's StorageBackend::logVersion() is the one
in-tree caller and needs the companion one-line change.
Verified against the generated artifact rather than by inspection: the emitted
storage_module.lidl now carries `method libstorageVersion() -> result` and no
`method version()`, and logos-storage-ui -- the consumer whose qt-generator run
was failing -- builds clean against this module with the current
logos-module-builder.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Update Logos Storage nim to the last version
* Update docs
* Fix titles
* Fix doc reference
* Update documentation
* Improve tutorial
* Update preview
* update docs
* Save report into output dir
* Remove orphan docs (replaced by doctest)
* Improve docs
* Add CLAUDE.md
* Update documentation
* Make docs stricter
* Update storage module and provide more tests
update to new api
update to new api
update flake
update flake
update to latest logos module builder
address some code review comments
address more comments