Commit 6e6efac
qa: full log-volume census — structured logger is 77.1% of test output, not ~45% (#14989)
* wip(qa): log-volume census instrument
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* wip(qa): log-volume census checkpoint — 32/72 packages measured
Extends Batch 1's ledger (23 packages, driven under the shared verify
lock) with 9 more: driver-sqlite-wasm, driver-turso, formula, lint,
mcp, metadata, metadata-core, metadata-fs, metadata-protocol.
Also: end-to-end control for the OS_LOG_LEVEL premise re-verification
(Zone 2 D) — resolveLogLevel() confirmed sensitive to its input, and a
repo-wide grep confirms it is read nowhere outside packages/cli (one
non-hit is a self-test fixture string in dispatch-gates.mjs).
Doc's method/mechanism/reproduction/premise sections carried over from
a prior attempt's draft, independently re-verified against source
(packages/core/src/logger.ts, packages/verify/src/harness.ts) before
being kept — every file:line citation checked out exactly.
Provisional structured share (console+structured) at 32/72: ~84%,
already far from the five-suite ~45%, in the direction the earlier
reading's own explanation predicts. Not the final number — continuing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* wip(qa): log-volume census checkpoint — 45/72 packages measured
+13 packages this batch: observability, platform-objects,
embedder-openai, knowledge-memory, knowledge-ragflow,
plugin-approvals, plugin-audit, plugin-auth, plugin-dev, plugin-email,
plugin-hono-server, plugin-pinyin-search, plugin-reports.
plugin-auth is the first non-trivial plugins/ package: 4,840 lines
(2,149 structured / 2,678 console) — most plugins so far are near-
silent (13 reporter lines only, no kernel boot in their own test
script).
Provisional structured share (console+structured) at 45/72: ~80%.
27 remain, all services/*, triggers/*, spec, sdui-parser, and the
qa/http-conformance + qa/downstream-contract pair.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* wip(qa): log-volume census checkpoint — 55/72 packages measured
+10 packages this batch: plugin-security, plugin-sharing,
plugin-webhooks, downstream-contract, http-conformance, sdui-parser,
service-analytics, service-automation, service-cache, service-cluster.
17 remain: service-cluster-redis, service-datasource, service-i18n,
service-job, service-knowledge, service-messaging, service-package,
service-queue, service-realtime, service-settings, service-sms,
service-storage, spec, trigger-api, trigger-record-change,
trigger-schedule, types.
Provisional structured share (console+structured) at 55/72: ~79%,
holding steady across three checkpoints now (84% -> 80% -> 79%).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* wip(qa): log-volume census checkpoint — 68/72 packages measured
+13 packages this batch: service-cluster-redis, service-datasource,
service-i18n, service-job, service-knowledge, service-messaging,
service-package, service-queue, service-realtime, service-settings,
service-sms, service-storage, spec.
4 remain: trigger-api, trigger-record-change, trigger-schedule, types.
packages/spec measured read-only (its own `test` script run and
stdout captured, nothing edited under it — domain:spec's package
stays untouched); 481s of the 480s budget, exit 0.
Provisional structured share (console+structured) at 68/72: ~78%.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* docs(qa): finalize log-volume census — 72/72 packages, ratio does not hold
All 72 workspace packages with a test script measured, all green.
Final totals: 61,980 structured / 17,428 console / 993 reporter /
80,401 total lines — structured share of total 77.1% (comparable to
the earlier five-suite framing, whose own `console` bucket absorbed
what this instrument tracks separately as `reporter`).
The five-suite ~45% figure does not hold, and not toward more noise:
it moved to 77.1% structured, decomposed in "The answer" section as
two effects — (1) two commits (#13985, #14016) that landed on main
between the earlier reading and this one already took the original
five suites from ~45% to 86.6% structured on their own, by cutting a
`[Registry]` debug-console population; (2) extending to the other 67
packages pulls that back down to 77.1% (not further), since that
population's own structured share (57.7%) is lower than the five
heaviest suites' but is also a minority (30.3%) of total test-run
volume, and most of it (35/72 packages under 30 lines total, 22 of
those exactly 13 -- pure reporter boilerplate) never boots a kernel at
all.
No seam added -- per triage's ruling (comment 5489397004), this
document is the measurement; which seam (if either) to build is
triage's call.
Merged origin/main (dispatch-gates warned STALE TREE, 19 commits
behind) -- no relevant file (logger.ts, harness.ts, log-level.ts,
vitest configs, package.json test scripts) changed across that range,
so the merge does not invalidate any measurement already taken.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* docs(qa): note 85 direct new ObjectKernel() call sites, not just harness.ts
Relevant to the fork this card hands back to triage: a BootOptions
field on packages/verify's harness would only quiet suites that boot
through that harness, not the ~60 other files (85 call sites) that
construct a kernel directly -- including packages/objectql's own
kernel-factory.ts, which alone accounts for 18.3% of the structured
lines measured. Does not choose a seam; changes what each seam would
cost to actually reach the population it's meant to quiet.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* docs(qa): fix three citation defects in the log-volume census
Review found three citation defects in
docs/audits/2026-09-test-log-volume-census.md — the measurement itself
(72-row table, arithmetic) was independently reproduced and is untouched.
1. `new ObjectKernel(` repo-wide count: re-ran the exact grep command on
this branch merged with origin/main and got 78 occurrences across 55
files, not 85/62. Corrected the number and the two downstream figures
that depend on it (~53 remaining call sites, "all 78 call sites"),
and stamped the ref it was verified against so a future drift is
reproducible instead of silent.
2. `scripts/pm/dispatch-gates.mjs:14461` is blank on this tree; the real
self-test-fixture line is 14478. Corrected and ref-stamped (this file
is edited often).
3. `packages/core/src/logger.ts:350-395` — the quoted block actually
starts at 349, not 350 (content verbatim-correct, only the start line
was off by one; end line shifts by the same one to 394).
Re-resolved the other eight citations the reviewer already checked
(logger.ts:180/236, harness.ts:96-313/384, kernel.ts:87,
log-level.ts:53, kernel-factory.ts:35, and the 72/72
disableConsoleIntercept:true claim) against this branch's merged tree —
none of them moved.
Part of #13986
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
* docs(qa): bump verified-at ref stamps to the post-second-merge tree
origin/main moved again (99b4deb) between the first fix commit and the
gate sweep. Re-verified all three corrected citations plus the eight
already-checked ones against that tree — nothing moved — and updated the
inline ref stamps from 48d4422 to 0de50b8 (this branch's HEAD after
merging origin/main a second time) so they point at the tree the numbers
were actually last confirmed on.
Part of #13986
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112hMx9hjJ9BgB28X97DS68
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 1064186 commit 6e6efac
2 files changed
Lines changed: 722 additions & 0 deletions
0 commit comments