Commit Graph
214 Commits
Author SHA1 Message Date
pj f26ede7151 feat(web-runtime): capture uncaught errors into state.exceptions 2026-06-01 22:01:25 +05:30
pj b4ab121fcb test(runner): golden snapshots for trace stream and violation summary 2026-06-01 21:59:55 +05:30
pj e820cff60d refactor(runner): extract RenderSummary for snapshot testing 2026-06-01 21:58:43 +05:30
pj f27e66c152 test(ltl): drop Verdict.String tautology tests 2026-06-01 21:56:12 +05:30
pj 5df421956c test(mock): drop default-field-value assertion test 2026-06-01 21:56:12 +05:30
pj 87506f4b74 test(sidecar): drop stub-mode placeholder tautology tests 2026-06-01 21:56:12 +05:30
pj 19950dffe1 test(driverpb): drop proto getter round-trip tautology 2026-06-01 21:56:08 +05:30
pj 93f1e94098 test(runner): MaxSteps stops after exactly N steps 2026-06-01 21:55:53 +05:30
pj 8001de6728 feat(runner): add MaxSteps bound to Options 2026-06-01 21:55:53 +05:30
pj b6a306286a test(web-runtime): assert uncaught cross-extractor read aborts evaluateExtractors 2026-06-01 21:24:38 +05:30
pj 451d8c6751 test(spec): install fake runtime via defineProperty to survive locked global 2026-06-01 21:24:38 +05:30
pj 80e7e71e7a fix(web-runtime): propagate extractor getter throws and unpoison locked global
Stop swallowing getter errors in evaluateExtractors so the cross-extractor read guard aborts loudly, matching goja's PushSnapshot. Make the __sanderling__ lock configurable (still non-writable) so a shared test process can reinstall a fake.
2026-06-01 21:24:34 +05:30
pj d673e4b785 refactor(folio-web): name extractors so violation witnesses are readable 2026-06-01 21:14:09 +05:30
pj 2c410780fa refactor(folio-web): weight valid generators against edgeCaseText for names/amounts 2026-06-01 21:13:33 +05:30
pj 3aba528c87 fix(folio-web): seed card/txn-type selection via from().generate() for reproducible runs 2026-06-01 21:12:29 +05:30
pj b58023a434 refactor(folio-web): drop manual globalThis trailer (bundler injects it) 2026-06-01 21:12:11 +05:30
pj 04aabbe4c7 refactor(folio): seed txn amounts via integers().between(1,500) 2026-06-01 21:12:03 +05:30
pj b824af967e refactor(folio): drop manual globalThis trailer (bundler injects it) 2026-06-01 21:11:33 +05:30
pj bef9a58743 test(web-runtime): named() and cross-extractor read guard 2026-06-01 21:10:10 +05:30
pj c408580297 test(web-runtime): export runtime and extractors for tests 2026-06-01 21:09:01 +05:30
pj 725b2fe1a8 test(verifier): cross-extractor read guard and named() 2026-06-01 21:08:40 +05:30
pj 973ada4983 feat(verifier): named() and cross-extractor read guard in goja 2026-06-01 21:08:06 +05:30
pj fe86e91aff feat(web-runtime): named() and cross-extractor read guard 2026-06-01 21:06:55 +05:30
pj 159bcb6dce feat(spec): add named() to Extracted handle type 2026-06-01 21:06:23 +05:30
pj 955d0a67ff test(bundler): cover named-export globalThis registration 2026-06-01 21:04:19 +05:30
pj e156fbc5f6 refactor(bundler): reuse registration trailer in web bundler 2026-06-01 21:04:17 +05:30
pj 868ab78c8e refactor(bundler): inject globalThis trailer from spec named exports 2026-06-01 21:04:14 +05:30
pj 9a2cb61561 test(spec): cover fluent value generators determinism and chaining 2026-06-01 21:02:26 +05:30
pj d65c0cd448 feat(spec): add fluent seeded value generators (strings/integers/emails/edgeCaseText) 2026-06-01 21:01:50 +05:30
pj 02d884c9b9 refactor(spec): extract samplerRng into shared sampler-rng module 2026-06-01 21:01:47 +05:30
pj f249581792 docs(spec): rename pressKey generator to pressKeys 2026-06-01 20:59:17 +05:30
pj 3509156ea1 test(spec): update pressKeys generator export name 2026-06-01 20:59:05 +05:30
pj fbab57f722 refactor(spec): update barrel re-exports for pressKeys 2026-06-01 20:58:53 +05:30
pj 4b4aa9f74e refactor(spec): rename pressKey generator export to pressKeys 2026-06-01 20:58:23 +05:30
pj 0526ac4bfa test(verifier): assert goja picker against the same cross-runtime golden
Drop the node-subprocess coupling: the goja side now installs a stub
__sanderlingHost__ with the fixed candidate list and asserts the committed
golden, matching pkg/spec/test/parity.test.ts.
2026-06-01 17:27:18 +05:30
pj e3bb9aeeb2 test(spec): golden-fixture cross-runtime parity gate for the node picker
Replace the env-driven parity harness with a shared scenario module and a
committed golden the node picker asserts independently. The goja side asserts
the same golden, so neither runtime invokes the other at test time.
2026-06-01 17:27:14 +05:30
pj 0fa6968a5a test(runner): summary reports no unsupported verbs on a clean run 2026-06-01 17:20:09 +05:30
pj 58b57d8f3c test(verifier): unsupported verbs collected deduped in first-seen order 2026-06-01 17:20:09 +05:30
pj 65ba5345a3 test(verifier): cross-runtime goja/node parity gate on the shared picker 2026-06-01 17:20:04 +05:30
pj dba182b96f feat(testrun): surface unsupported verbs in run report 2026-06-01 17:14:39 +05:30
pj 1a17734ce0 refactor(runner): collapse WebDriver forks behind ActionSource/ExtractorSource 2026-06-01 17:14:35 +05:30
pj 0436c6094e feat(verifier): collect unsupported verbs for the run report 2026-06-01 17:14:32 +05:30
pj 26f638f021 test(runner): bundle authored specs with the goja runtime entry 2026-06-01 16:59:23 +05:30
pj aee5d8110a test(verifier): author specs through the shared picker path 2026-06-01 16:59:23 +05:30
pj f8e3baf439 refactor(runner): decode V8 actions via the unified DecodeAction; wire goja runtime 2026-06-01 16:59:18 +05:30
pj 411aefe25f refactor(verifier): goja host + shared picker replace the duplicate Go picker 2026-06-01 16:59:12 +05:30
pj 59cb77d29c refactor(verifier): one DecodeAction reads the unified flat wire contract 2026-06-01 16:59:04 +05:30
pj 50cb9e98cb feat(spec): serialize selector-only string targets for the runner to re-resolve 2026-06-01 16:58:59 +05:30
pj 1a9d82711f refactor(spec): drop the legacy goja bridge fields from action factories 2026-06-01 16:58:59 +05:30
pj 76c68b84ac feat(testrun): bundle the goja runtime entry so the verifier runs the shared picker 2026-06-01 16:43:50 +05:30