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