mirror of
https://github.com/logos-co/logos-cpp-sdk.git
synced 2026-08-31 09:41:06 +00:00
The doc-tests failed to build logos-qt-generator: share/lidl-frontend/lidl_compat.h:46: error: 'paramValueType' has not been declared in 'lidl' MECHANISM. This SDK installs cpp-generator/experimental/lidl_compat.h into $out/share/lidl-frontend/, and logos-qt-sdk's logos-qt-generator *compiles* that installed header against qt-sdk's OWN logos-lidl input. Under logos-qt-sdk, logos-lidl is a SIBLING of logos-cpp-sdk, not a descendant: logos-qt-sdk |-- logos-cpp-sdk <- --override-input moves this to the commit under test `-- logos-lidl <- stays on qt-sdk's lock (8c95d4f), lacks the accessors logos-logoscore-cli and logos-module-builder both declare `logos-qt-sdk.inputs.logos-cpp-sdk.follows = "logos-cpp-sdk"` but no lidl follows, so overriding the SDK hands qt-sdk a new lidl_compat.h next to its old lidl. The failing derivation is logos-qt-generator — not anything in logos-cpp-sdk, which is why the previous attempt aimed at the wrong node. THE FIX is one `<path-to-logos-qt-sdk>/logos-lidl` override per qt-sdk node that ends up on the SDK under test. A tree-walk over the resolved lock found four in logoscore-cli's closure and two per module build; with the overrides applied the walk reports zero remaining. WHAT WAS REMOVED, and why it was doing nothing: * The `.../logos-cpp-sdk/logos-lidl` overrides added inbef3ef5were no-ops. With only `--override-input logos-cpp-sdk <sha>`, that node's logos-lidl already resolves to 35f33d87 out of cpp-sdk's own lock — nix >= 2.26 carries an overridden input's lock, and CI runs Determinate Nix. Verified by resolving the lock with and without them: byte-identical. * The `logos-module-client/...` overrides never matched anything. Nix says so out loud ("does not match any input"): logoscore-cli has no such root input; module-client only appears under logos-test-modules/, outside the runtime closure. The prose claiming it pins the SDK is corrected too. cpp-sdk-concurrent-dispatch is fixed here as well — it failed the same way and carried no lidl overrides at all. VERIFIED locally againstbef3ef5, the exact commit CI failed on: * accounts .lgx -> exit 0, logos-accounts_module-module-lib.lgx (5,939,898 B) * logoscore CLI -> exit 0, ./logos/bin/logoscore reports "logos-cpp-sdk bef3ef57d3f489073672e70a786c550df7edd003" * negative control (same command minus the single qt-sdk lidl flag) fails with CI's exact derivation, /nix/store/pf96n2ldvhy6sq39ygkh5zdqx7dcn4df-logos-qt-generator-0.1.0.drv * no "does not match any input" warnings remain on any command The durable fix is a one-line bump of logos-qt-sdk's own flake.lock logos-lidl to master (logos-lidl#7 is purely additive: six new inline helpers, nothing removed or renamed). Once qt-sdk carries it, every override added here can go. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>