Skip to content

build: consume delivery_module's published .lidl contract - #58

Open
osmaczko wants to merge 1 commit into
masterfrom
build/delivery-published-lidl
Open

build: consume delivery_module's published .lidl contract#58
osmaczko wants to merge 1 commit into
masterfrom
build/delivery-published-lidl

Conversation

@osmaczko

Copy link
Copy Markdown
Contributor

delivery_module now publishes its contract as a flake output (packages..lidl, derived from its impl header by the module builder), so the hand-maintained copy in rust-lib/deps/ and its dependency_overrides entry are dropped in favor of the builder resolving the contract from the flake input, re-pinned to the first rev that ships the output (no release tag carries it yet). The derived contract names the connectionStateChanged payload connectionStatus where the manual copy said status, so the generated event field follows.

delivery_module now publishes its contract as a flake output (packages.<sys>.lidl, derived from its impl header by the module builder), so the hand-maintained copy in rust-lib/deps/ and its dependency_overrides entry are dropped in favor of the builder resolving the contract from the flake input, re-pinned to the first rev that ships the output (no release tag carries it yet). The derived contract names the connectionStateChanged payload connectionStatus where the manual copy said status, so the generated event field follows.
@osmaczko
osmaczko marked this pull request as ready for review July 23, 2026 19:00
@osmaczko
osmaczko requested a review from igor-sirotin July 23, 2026 19:00
@github-actions

Copy link
Copy Markdown

Doc-test report

Headless chat_module instances built against this commit, driven through the 1:1 round-trip and the three-instance group conversation, rendered alongside the commands actually run and their output (updated each run, commit 7663cf2):

Pages can take a minute to update after the run finishes.

igor-sirotin added a commit that referenced this pull request Aug 4, 2026
* build: prepare 0.2.2 against delivery_module v0.2.0

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>

* fix: send the layered createNode config so ports auto-assign again

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>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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