You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[finding] captureEngine's pass-through lands in a silenced logger, so its documented "unrecognised frames still reach the log" does not hold under a silent kernel #11569
Filed unassigned by the seat implementing #11081. Observation class — no pm:queue.
Backlink: PR for #11081 (branch claude/issue-11081-expected-noise-capture-pin).
What was measured
packages/runtime/src/expected-read-refusal-noise.ts states its central invariant twice
in its own header:
it withholds ONLY the expected fault …; anything it does not recognise still reaches
the log;
and, for the engine gate specifically:
⛔ … A DATABASE_ERROR on one of the same tables arising from any OTHER cause is not
recognised by the driver sink, so its frame is not withheld here either — it reaches
the log with both halves intact.
That holds on the driver channel and does not hold on the engine channel.
captureDriver installs a sink whose non-matching branch calls console.warn / console.errordirectly, so an unrecognised driver fault bypasses the kernel logger
and is genuinely loud.
captureEngine installs a Proxy whose non-matching branch calls target.error(msg, err, meta) — where target is the engine's own logger, i.e. the kernel-derived one. Every
fixture that carries this capture also constructs its kernel with logger: { level: 'silent' }, so ObjectLogger.isEnabled('error') is false and write()
returns early. The frame is dropped.
Measured on origin/main at 4c9780c7, running each fixture as-is (no mutation), counting ERROR Find operation failed frames reaching the log:
Zero is the expected count for the recognised frames — they are withheld on purpose. The
finding is that an unrecognised engine frame scores zero too, for the same reason, and
nothing distinguishes the two.
Why it is worth a card rather than a shrug
The asymmetry is invisible at the call site. A fixture author reads the header, sees
"anything it does not recognise still reaches the log", and reasonably concludes the engine
channel is pinned in both directions. It is pinned in one: the afterAll silentChannels() assertion still fires correctly if a recognised frame stops being
emitted (that half is real and was demonstrated for #11081). What does not work is the
other half — a new, different engine ERROR on the same object appears nowhere.
captureExpectedReadRefusals is imported by 16 packages/runtime fixtures today, plus the
two added by #11081, so this is a shared surface rather than one file's quirk.
Not claimed
⛔ No test is shown to be wrong. Every affected fixture passes, and the counting /
assertion half of the capture behaves exactly as documented.
⛔ Not a proposal to make captureEngine call console.error directly. That would
make all 18 consuming fixtures loud on a channel they currently expect to be quiet, and
the right shape (a caller-supplied sink? a level floor? leaving the engine channel to the
driver channel that already carries the same fault?) is a decision, not a cleanup.
Filed unassigned by the seat implementing #11081. Observation class — no
pm:queue.Backlink: PR for #11081 (branch
claude/issue-11081-expected-noise-capture-pin).What was measured
packages/runtime/src/expected-read-refusal-noise.tsstates its central invariant twicein its own header:
and, for the engine gate specifically:
That holds on the driver channel and does not hold on the engine channel.
captureDriverinstalls a sink whose non-matching branch callsconsole.warn/console.errordirectly, so an unrecognised driver fault bypasses the kernel loggerand is genuinely loud.
captureEngineinstalls a Proxy whose non-matching branch callstarget.error(msg, err, meta)— wheretargetis the engine's own logger, i.e. the kernel-derived one. Everyfixture that carries this capture also constructs its kernel with
logger: { level: 'silent' }, soObjectLogger.isEnabled('error')is false andwrite()returns early. The frame is dropped.
Measured on
origin/mainat4c9780c7, running each fixture as-is (no mutation), countingERROR Find operation failedframes reaching the log:runtime/src/notifications.hono.integration.test.tsruntime/src/notification-schema-conformance.integration.test.tstriggers/trigger-record-change/src/record-change-integration.test.tsplugins/plugin-approvals/src/status-mirror-cascade.integration.test.tsZero is the expected count for the recognised frames — they are withheld on purpose. The
finding is that an unrecognised engine frame scores zero too, for the same reason, and
nothing distinguishes the two.
Why it is worth a card rather than a shrug
The asymmetry is invisible at the call site. A fixture author reads the header, sees
"anything it does not recognise still reaches the log", and reasonably concludes the engine
channel is pinned in both directions. It is pinned in one: the
afterAllsilentChannels()assertion still fires correctly if a recognised frame stops beingemitted (that half is real and was demonstrated for #11081). What does not work is the
other half — a new, different engine ERROR on the same object appears nowhere.
captureExpectedReadRefusalsis imported by 16packages/runtimefixtures today, plus thetwo added by #11081, so this is a shared surface rather than one file's quirk.
Not claimed
assertion half of the capture behaves exactly as documented.
captureEnginecallconsole.errordirectly. That wouldmake all 18 consuming fixtures loud on a channel they currently expect to be quiet, and
the right shape (a caller-supplied sink? a level floor? leaving the engine channel to the
driver channel that already carries the same fault?) is a decision, not a cleanup.
diagnostic actually lives, and records this gap explicitly rather than overclaiming.