Skip to content

docs: the ladder's framework-gap lists are entirely obsolete - #278

Merged
Yaraslaut merged 1 commit into
masterfrom
docs/269-270-stale-framework-gaps
Aug 25, 2026
Merged

docs: the ladder's framework-gap lists are entirely obsolete#278
Yaraslaut merged 1 commit into
masterfrom
docs/269-270-stale-framework-gaps

Conversation

@Yaraslaut

Copy link
Copy Markdown
Member

Closes #269.
Closes #270.

Combined deliberately: both target examples/polls/README.md, so splitting
them into two PRs would have meant resolving conflicts between my own branches
over the same paragraphs.

The whole list is obsolete, not two entries of it

TESTING.md's "Framework gaps this strategy exposes (candidate issues)" lists
six items. #269 reports the first two as shipped. Checking the other four found
the same thing — every item on the list has shipped:

# gap shipped as
1 client-side execute deadline Bridge::setExecuteDeadline (bridge.hpp)
2 Bridge::pendingCalls() bridge.hpp
3 MainThreadExecutor::runOnce()/drain() executor.hpp:180, :204
4 QtExecutor with optional QObject* context QtExecutor(QObject* context = QCoreApplication::instance()) (qt_executor.hpp:60)
5 connection-scoped simulated client RemoteServer::openConnection() (remote.hpp:336)
6 injectable time source setNowOverride / ScopedNowOverride (util/datetime.hpp)

The list is kept and retitled, with each entry naming where the capability lives.
It records what the testing strategy pushed the framework to grow — worth
keeping. What it must not do is read as work to schedule.

polls/README.md contradicted itself

Its "Framework prerequisites" heading says the two items were "built as part of
this rung"
, while the body said both were "confirmed still open by direct
inspection of the current framework source"
. Both shipped — this rung built
them. The bullets now say so and point at the symbols.

Two related sites in the same file follow from that: the "WASM + shared handlers
may not work at all today [framework prerequisite]"
strain point, and the
polling-helper strain point that cited the silent drop.

Distinctions kept rather than flattened

  • The synchronous shared/keyed attach path genuinely does still nest an event
    loop and still aborts the page on WASM. Only the "missing prerequisite" half is
    stale — a WASM client must still avoid it and use the async pair.
  • The async path's behaviour in a browser has never been observed, only its
    compilation. So "run the several-WASM-tabs demo literally" still stands.

Every symbol and path written here was confirmed present first — 12 symbols
across 6 headers.

Related

Sixth and seventh instances of this defect class. #271 (LADDER.md) is #273
which now also carries one more site this grep turned up, since that PR already
owns the file. #272 (TESTING.md's "verified" list) is #274, in a different
section of the same file with no overlap.

Documentation only; scripts/check_spec_citations.sh passes.

Combines morph#269 and morph#270: both target examples/polls/README.md, so
splitting them into two PRs would have meant resolving conflicts between my own
branches over the same paragraphs.

TESTING.md's "Framework gaps this strategy exposes (candidate issues)" listed
six items. #269 reports the first two as shipped. Checking the other four found
the same thing -- every item on the list has shipped:

  1. client-side execute deadline -> Bridge::setExecuteDeadline (bridge.hpp)
  2. Bridge::pendingCalls()       -> bridge.hpp
  3. MainThreadExecutor::runOnce()/drain() -> executor.hpp:180, :204
  4. QtExecutor with an optional QObject* context target
     -> QtExecutor(QObject* context = QCoreApplication::instance())
        (qt_executor.hpp:60)
  5. connection-scoped simulated client -> RemoteServer::openConnection()
     (remote.hpp:336)
  6. injectable time source -> setNowOverride / ScopedNowOverride
     (util/datetime.hpp)

The list is kept, retitled, and each entry now names where the capability lives.
It records what the testing strategy pushed the framework to grow, which is
worth keeping; what it must not do is read as work to schedule.

polls/README.md's "Framework prerequisites" section (morph#270) had the same
problem plus an internal contradiction: its own heading says the two items were
"built as part of this rung", while the body said both were "confirmed still
open by direct inspection". Both shipped -- this rung built them. The bullets now
say so and point at the symbols.

Two related sites in the same file follow from that: the "WASM + shared
handlers may not work at all today [framework prerequisite]" strain point (the
synchronous path still aborts the page, but the async pair exists, so it is not
a prerequisite), and the polling-helper strain point that cited the silent drop.

Distinctions kept rather than flattened: the synchronous shared/keyed attach
path *does* still nest an event loop and still aborts on WASM -- only the
"missing prerequisite" half is stale. And the async path's behaviour in a
browser has still never been observed, only its compilation, so the "run the
several-WASM-tabs demo literally" advice stands.

Every symbol and path written here was confirmed present first.

Closes #269
Closes #270
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Yaraslaut
Yaraslaut merged commit e91bb4d into master Aug 25, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant