Commit Graph
114 Commits
Author SHA1 Message Date
pj cb2a1cb8d5 refactor(testrun): use sidecarassets package 2026-06-01 22:39:30 +05:30
pj fca56bc47e refactor(sidecarassets): rename internal/sidecar to internal/sidecarassets 2026-06-01 22:38:38 +05:30
pj 26293ae3c2 refactor(permissions): delete dead internal/permissions package 2026-06-01 22:38:26 +05:30
pj 51f3a3fc2a refactor(test): relocate browser suite to test/browser 2026-06-01 22:38:21 +05:30
pj bafedcbb92 test(integration): drive web fixtures through the real pipeline in headless Chrome 2026-06-01 22:01:36 +05:30
pj a3047a87f4 test(integration): add specs for the web fixtures 2026-06-01 22:01:32 +05:30
pj b8b3c9b8f7 test(integration): add throwing and counter web fixtures 2026-06-01 22:01:32 +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 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 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 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 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 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 76c68b84ac feat(testrun): bundle the goja runtime entry so the verifier runs the shared picker 2026-06-01 16:43:50 +05:30
pj 45366ddde5 feat(bundler): optional RuntimeFile prepends a runtime-entry import via stdin 2026-06-01 16:43:50 +05:30
pj 307213ef45 test(spec): add Go math/rand/v2 PCG oracle and golden fixture 2026-06-01 16:09:02 +05:30
pj d4ffdce8f9 test: cover web-runtime seeded PRNG, weighted pick, and seed define wiring 2026-06-01 15:10:04 +05:30
pj 6fc1c971c7 feat(testrun): inject seed into web bundle via SANDERLING_SEED define 2026-06-01 15:10:01 +05:30
pj b5e8d9892e test(ltl): lock implies and bounded-always false-negative regressions 2026-06-01 14:11:26 +05:30
pj 1834019419 fix(ltl): eliminate implies and bounded-always false-negatives
Rewrite a -> b to (not a) or b in NNF so a pending temporal antecedent
can no longer defer the whole implication and drop a consequent that was
false at the current step. Carry a pending inner past a bounded-Always
window close instead of dropping it to holds, so a deferred obligation is
resolved by a later step or Finalize.
2026-06-01 14:11:26 +05:30
pj 283bf44920 test(verifier): finalize surfaces unmet eventually with witness 2026-06-01 13:58:45 +05:30
pj 8ac05b458e test(ltl): lock violation witness reason, IsError, and step 2026-06-01 13:58:45 +05:30
pj 17f4c7e600 feat(runner): thread violation witnesses, finalize, skip marker into trace 2026-06-01 13:57:34 +05:30
pj 3cf668e59a feat(trace): witnesses map and skipped-verification marker on Step 2026-06-01 13:56:31 +05:30
pj 4dcd01eba9 test(verifier): witness API for thrown predicates 2026-06-01 13:56:15 +05:30
pj f346864b2f refactor(verifier): replace predicate err side-channel with violation witness 2026-06-01 13:56:11 +05:30
pj e6a3852112 feat(ltl): flag thrown-predicate witnesses with IsError 2026-06-01 13:56:08 +05:30
pj a01e126ff9 test(ltl): migrate thunk call sites to (bool,error) 2026-06-01 13:53:42 +05:30
pj 9be00dff90 feat(ltl): witness violations and (bool,error) predicate thunks 2026-06-01 13:53:38 +05:30
pj 898ff72b37 test(ltl): Finalize, bounded eventually, latch, collapse
Property tests for monotonic violation latch and eventually-within
violating iff n consecutive false, plus Finalize and collapse cases.
2026-06-01 13:49:44 +05:30
pj 59113cbf9d test(ltl): property-based NNF laws
Lock double-negation identity, Always/Eventually duality with bound
preservation, leaf pushdown, and not(always true) reaching Violated.
2026-06-01 13:49:41 +05:30
pj c965089825 feat(ltl): NNF in NewEvaluator, bounded-always, Finalize, collapse
Apply nnf on construction, reduce bounded Always symmetric to bounded
Eventually (vacuous holds once the window closes), add Finalize to
resolve undischarged liveness obligations to Violated at run end, and
collapse structurally-identical pending obligations.
2026-06-01 13:49:37 +05:30