build: prepare 0.2.2 against delivery_module v0.2.0 - #63
Merged
Conversation
delivery_module v0.2.0 is tagged and about to enter logos-modules-release, so this module moves its pin from v0.1.3 to the release it will be installed alongside. The subset of the contract chat_module consumes (createNode/start/subscribe/send + the messageReceived and connectionStateChanged events) is unchanged in v0.2.0, and the flat createNode config shape this module sends still parses, so only the pin, the lock and the hand-maintained contract copy's version move — switching to the published .lidl output v0.2.0 now ships stays #58's scope. 0.2.1 is tagged and released against delivery v0.1.3, so the work since it gets a version of its own to be released under. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
igor-sirotin
marked this pull request as draft
July 31, 2026 12:56
delivery_module v0.2.0 no longer injects port 0 for unpinned listening ports (delivery-module#79 dropped it: the injected top-level keys forced every config through the legacy flat parser and broke the layered shapes). Our config was flat-shaped too — the top-level logLevel is a bare kernel key — so both doc-test instances bound the fixed default tcp/60000 (SO_REUSEPORT lets the second bind land silently), announced the same address under different peer ids, and the exchange never completed. The layered app-developer shape from delivery_module's docs restores auto-assignment: the messaging layer defaults every unpinned port to 0 (OS-assigned). logLevel moves into messagingOverrides, where the layered grammar carries it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Doc-test reportHeadless Pages can take a minute to update after the run finishes. |
igor-sirotin
commented
Jul 31, 2026
| "mode": "Core", | ||
| "preset": preset, | ||
| "logLevel": "ERROR", | ||
| "messagingOverrides": { "logLevel": "ERROR" }, |
Collaborator
Author
There was a problem hiding this comment.
This is the only API call change
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
delivery_module v0.2.0 is tagged and about to enter
logos-modules-release, so this module moves its pin from v0.1.3 to the release it will be installed alongside:flake.nix:logos-delivery-modulere-pinnedv0.1.3→v0.2.0, lock refreshed.rust-lib/deps/delivery_module.lidl: the hand-maintained contract copy's version moves to 0.2.0. The subset chat_module consumes (createNode/start/subscribe/send+ themessageReceived/connectionStateChangeddecoders) is unchanged in v0.2.0. Switching to the published.lidloutput that v0.2.0 now ships stays build: consume delivery_module's published .lidl contract #58's scope.createNodeconfig moves to the layered app-developer shape ({"mode", "preset", "messagingOverrides": {"logLevel"}}). v0.2.0 no longer injects port 0 for unpinned ports (delivery-module#79: the injected top-level keys forced every config through the legacy flat parser and broke the layered shapes). Our old config was flat-shaped too — the top-levellogLevelis a bare kernel key — so side-by-side instances all bound the fixed default tcp/60000 (SO_REUSEPORT lets the extra binds land silently), announced the same address under different peer ids, and exchanges never completed (evidence: chat-ui e2e run against the first commit). The layered shape routes through the messaging layer, which defaults every unpinned port to 0 (OS-assigned).Testing
cargo fmt --check,cargo clippy -D warnings,cargo test(32 passed) andnix build .#chat_modulelocally.delivery_module-lgxre-exported from this flake — they run several instances on one host, so they exercise the port auto-assignment directly.🤖 Generated with Claude Code