pcbjam/tests/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Istvan Matejcsok 06a46546cc findings(E-5,E-6): validation-round fixes — live e2e falsified two ported shapes
E-5: the module-identity bridge called installingModule._malloc, but this
build exposes _malloc only as a bare glue-closure export (Module._malloc is
absent) — every char/stat event entry threw TypeError, which also starved
the E-6 credit window (thrown dispatches never acked) and wedged the queued
bg-finished frame behind them. The bridge now uses the bare closure exports
(identity is still exact: the EM_JS body IS the installing module's closure;
the __ngspiceOnEvent self-disarm covers supersession).

E-6 (codex reference design corrected — its validation matrix never ran):
a FULL credit window was terminal (stopEventStream at 64 in-flight frames).
Under live e2e that killed a real simulation: bg-thread emissions proxy one
per task, so each line ships as its own frame and a normal transient outruns
a busy main thread. A full window now DEFERS into a bounded FIFO (512 events
/ 4 MiB) drained in order as acks free credit; only true overload or an
invalid ack is terminal. Retention stays bounded (8 MiB in flight + 4 MiB
deferred + 1 MiB open batch). And the service/harness mirror queue now acks
at ENQUEUE — placing a frame in the bounded pre-handler queue is taking
ownership; without that, a stream starting before the C++ handler installs
(the ngspice-probe page) starves the worker window forever.

Test updates: worker-batch reducer — new "a full credit window defers and
drains in order, never terminal" case pinning the regression; the storm case
now proves the deferred caps are the terminal edge. board-ready.ts gains the
owner-free openBoardProgrammatically (codex helper the ported occ-export
spec needs; the barrier-based waitForUiBoardReady was NOT taken).
occ-export.spec: domId is optional on this line's registry (coordinate
fallback is the supported path).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 18:18:21 +02:00
..
screenshots build+perf: wasm-opt the shipped wasm, and measure real frames in CI 2026-08-22 12:53:00 +02:00
cli-contract.ts batched upload resave: --resave-batch CLI + one staging pass per bulk upload (tasks-runner 0004) 2026-08-24 14:46:43 +02:00
corpus-lint.ts kicad-validity B3+C+S: revert toast, corpus lint, .kicad_mod tier 2026-07-14 19:02:13 +02:00
lint-ci-coverage.ts jspi: migration phases 0-7 — build knob, scheduler shim, test successor suite 2026-08-13 07:06:24 +02:00
lint-determinism.ts jspi cleanup: remove the asyncify-era residue — dead code, conditionals, pipeline scaffolding, stale prose 2026-08-14 09:25:32 +02:00
ngspice-worker-batch-unit.ts findings(E-5,E-6): validation-round fixes — live e2e falsified two ported shapes 2026-08-31 18:18:21 +02:00