diff --git a/.github/workflows/doctests.yml b/.github/workflows/doctests.yml index 852d871..9930cf3 100644 --- a/.github/workflows/doctests.yml +++ b/.github/workflows/doctests.yml @@ -109,16 +109,33 @@ jobs: # failed; this only changes whether we stop early. # # Every spec runs back-to-back into one combined report (one dropdown - # entry each). cpp-sdk-qt-api-events is the only one whose modules are - # NOT `interface: universal`, so it is the only one that compiles and - # runs the Qt-typed dependency-wrapper emission. + # entry each). + # + # TEMPORARILY SKIPPED: doctests/cpp-sdk-qt-api-events.test.yaml. + # It was the only spec whose modules are NOT `interface: universal`, + # and so the only one compiling the Qt-typed dependency-wrapper + # emission. Its watcher fixture is `interface: "provider"`, the path + # this SDK removed together with `--provider-header`, so the fixture + # can no longer build and every later step of that spec cascades. + # + # It is skipped rather than rewritten because the replacement shape -- + # `interface: universal` + `codegen.consumer_api_style: "qt"`, which + # keeps the Qt-typed wrappers without the retired provider dispatch -- + # does not exist on logos-module-builder master yet (the spec pins the + # builder to master). It arrives with the B4 stack. + # + # RESTORE IN B4: once module-builder carries consumer_api_style, + # rewrite the watcher fixture as universal + consumer_api_style: "qt" + # and add this spec back to BOTH lists below and here. Until then the + # Qt-typed emission path and the deferred onInit() event subscription + # it covers are UNTESTED -- that is a known, accepted gap, not an + # oversight. nix run github:logos-co/logos-doctest -- run \ doctests/cpp-sdk-module-runtime.test.yaml \ doctests/cpp-sdk-module-composition.test.yaml \ doctests/cpp-sdk-worker-thread-http.test.yaml \ doctests/cpp-sdk-concurrent-dispatch.test.yaml \ doctests/cpp-sdk-generator-roundtrip.test.yaml \ - doctests/cpp-sdk-qt-api-events.test.yaml \ --verbose \ --continue-on-fail \ --release-for logos-cpp-sdk=${{ steps.commit.outputs.sha }} \ @@ -146,7 +163,8 @@ jobs: - name: Verify markdown generation run: | - for spec in cpp-sdk-module-runtime cpp-sdk-module-composition cpp-sdk-worker-thread-http cpp-sdk-qt-api-events; do + # cpp-sdk-qt-api-events omitted while its fixture is skipped above. + for spec in cpp-sdk-module-runtime cpp-sdk-module-composition cpp-sdk-worker-thread-http; do nix run github:logos-co/logos-doctest -- generate \ "doctests/$spec.test.yaml" \ --release-for logos-cpp-sdk=${{ steps.commit.outputs.sha }} \ diff --git a/doctests/cpp-sdk-qt-api-events.test.yaml b/doctests/cpp-sdk-qt-api-events.test.yaml index c24c09e..cfaa002 100644 --- a/doctests/cpp-sdk-qt-api-events.test.yaml +++ b/doctests/cpp-sdk-qt-api-events.test.yaml @@ -1,3 +1,26 @@ +# ───────────────────────────────────────────────────────────────────────────── +# SKIPPED — not run by .github/workflows/doctests.yml. +# +# The watcher fixture below is `interface: "provider"`. That path was removed +# from this SDK along with `logos-cpp-generator --provider-header`, so the +# fixture no longer builds: logos-module-builder reaches "generating provider +# dispatch (qt_watcher_module)" and the generator refuses. Every later step of +# this spec cascades from that one failure. +# +# It is kept, not deleted, because what it covers is not covered anywhere else: +# the Qt-TYPED dependency-wrapper emission (a bug in that path cannot be caught +# by the lp-path specs, which are separately generated code) and a subscription +# made from onInit(), before the dependency is reachable. +# +# TO RESTORE (B4): logos-module-builder master does not yet carry +# `codegen.consumer_api_style`, and this spec pins the builder to master. Once +# it does, rewrite the watcher as `"interface": "universal"` + +# `"codegen": {"consumer_api_style": "qt"}` — which keeps the Qt-typed wrappers +# without the retired provider dispatch — drop the LOGOS_PROVIDER/LOGOS_METHOD +# markers and the PROVIDER_HEADER prose, and re-add this file to both spec +# lists in .github/workflows/doctests.yml. +# ───────────────────────────────────────────────────────────────────────────── + name: "A Qt-typed Consumer Subscribing to Another Module's Event" output: cpp-sdk-qt-api-events.md release: ""