Files
Dario Lipicar c727e25c30 fix(doctests): track two upstream changes the specs still assert against (#80)
CI has been red on every run since the dependencies moved underneath it.  The
repo itself has not changed -- master's HEAD IS the commit that last went green,
on 2026-07-22 -- but logos-tutorial has no flake.lock: the specs scaffold
projects that resolve `github:logos-co/...` fresh at run time, so the same
commit passes or fails depending on the day.  Both failures below are the specs
asserting behaviour that upstream deliberately changed.

1. INTEGER WIDTH: `int` -> `qlonglong` in the generated Qt surface.

   `lm methods` now reports `qlonglong add(qlonglong a, qlonglong b)` where the
   spec expected `int add(int a, int b)`.  This is the LIDL type contract: one
   type per language, integers 64-bit throughout, no widening or narrowing.

   The tutorial's explanation was not merely stale -- it documented the OLD
   BUG as intended behaviour, telling the reader that their `int64_t` "shows up
   as `add(int,int)`".  That silent 64->32 narrowing is exactly what the type
   contract removed.  The bullet now says the width is preserved and why that
   matters, which is the part a tutorial is for.

   Only tutorial-wrapping-c-library asserts generator OUTPUT, so only it moves.
   The `int` in tutorial-cpp-ui-app is C++ the reader writes themselves (`.rep`
   SLOTs and their own `override` declarations), where the reader picks the
   type -- that spec passes, and is deliberately left alone.

2. BASECAMP NAVIGATION: the Settings section was renamed and its tab removed.

   `click("Modules")` failed with "No clickable element found with text
   'Modules'".  On basecamp master the section label is now "Module Inspector"
   (SettingsView.qml:53), and the "Core Modules" tab is gone -- it was split
   into its own view, which ModuleInspectorView.qml:18 says in as many words
   ("Formerly the 'Core Modules' tab of ModulesView").  So the tab-click step is
   deleted rather than renamed, and the objectName the Interface screen is
   opened through is `moduleInspectorView`, not `coreModulesView`.

   Verified against origin/master of logos-basecamp, which is what CI builds:
   `openInterface(name)` still exists (ModuleInspectorView.qml:46), and the
   surrounding anchors "Settings", "Sections", "Dashboard" are all still there.

NOT ADDRESSED HERE, because it is not a tutorial bug: the third failure,
`persistenceDir` not containing `calc-data`, is a real regression in
logos-logoscore-cli.  daemon_state.cpp:264 applies `--persistence-path` only
`if (cfg.dirs.data.empty())`, and dirs.data has a default -- so an explicitly
passed CLI flag loses to a default, silently.  The spec is right and should
stay red until that is fixed.
2026-08-10 19:45:46 -03:00
..