mirror of
https://github.com/logos-co/logos-test-modules.git
synced 2026-08-30 11:41:13 +00:00
Two corrections, both of things this directory asserts about itself.
The UI plugin's interfaces/full_api.h is a SIXTH copy of the contract and was
the one copy check_contract_copies.py did not check. It had silently lost
echoTriple / fireTripleEvent / tripleEvent when multi-arg arity was added —
exactly the drift that script exists to catch, in the file it could not see.
Restored and registered: 6 copies agree, 33 methods, 15 events.
known.json justified the consumer axis partly with M3, and that is wrong. M3
lives on the Qt-typed consumer path (logos_json_convert turns a one-key tagged
map into a QByteArray on the way to a Qt consumer). Neither proxy reaches it:
interface:"universal" forces apiStyle=lp and interface:"cdylib" forces the Rust
client, so both bypass the Qt wrappers.
That was measured, not reasoned: replaying the table through both proxies
changes 2 cells of 86 — hostile/[any]/scalar and hostile/{tstr:any}/scalar,
where the lp wrapper retypes a non-matching return to an empty container — and
reaches none of the 21 ext cases, which have no proxy at all.
What would make M3 measurable is a consumer on the Qt api style: a headless
`type: core` module with no `interface` key gets Qt-typed modules() wrappers and
is driveable by logoscore, in-sandbox. The UI plugin sits on that style too but
needs a GUI host, and its observation channel wraps ULongLong through
toLongLong() and stringifies QByteArray — it would manufacture the defect
classes under test.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>