Files
Dario Gabriel LipicarandClaude Opus 5 4248520a7c refactor(api)!: rename version() to libstorageVersion()
`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>
2026-08-22 22:50:13 -03:00
..
2026-06-24 17:14:12 +04:00