mirror of
https://github.com/logos-co/logos-tutorial.git
synced 2026-08-29 20:01:11 +00:00
* feat: dependency interfaces tutorial (executable) Add tests/tutorial-interface-dependencies.test.yaml — an executable logos-doctest tutorial that builds calc_via_interface: a module declaring a `calculator` interface and binding it to calc_module at runtime. Covers typed sync/async/event calls, the no-validation rule, and the cross-repo interface form. Registered in run.sh and CI (run + generate). Documents interface_dependencies + bind_<interface> in the developer guide. Depends on logos-cpp-sdk#74, logos-module-builder#108, logos-plugin-qt#8 — the published flakes must carry these before the tutorial runs green in CI (same release gating as the Composing Modules tutorial). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * address review: self-valid interface header + accurate CI step - Interface calculator.h includes logos_module_context.h so the logos_events token is defined (valid C++ standalone); prose updated accordingly. - CI step name/comment now reflect the third tutorial leaf (tutorial-interface-dependencies), not just the UI chain + Composing Modules. (Copilot review, PR #64.) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * rerun * rerun * fix(tutorial): correct the no-validation negative test Binding to a module that isn't loaded does NOT return a silent default — the inner remote call fails and propagates, so `logoscore call ... sumVia no_such_module` exits non-zero with RPC_FAILED. The step asserted "result":0 and let the non-zero exit fail the doctest step. Reframe it accurately: a bad bind surfaces as an ordinary RPC failure (not a crash); absorb the exit with `|| true`, capture stderr, and assert `"status":"error"`. Fix the prose and the recap row to match. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>