Skip to content

v1.17.0

Choose a tag to compare

@voidmatcha voidmatcha released this 18 Sep 03:55
· 36 commits to main since this release
v1.17.0
a8b9381

Highlights

  • The generator runs the approved existing tests once before the tracer scenario. A green run becomes the baseline; a red run outside the candidate's surface is recorded and never blamed on the candidate; a red run on the candidate's own surface returns PARTIAL/BLOCKED. A target area with no existing coverage records baseline not applicable instead of being unable to complete.
  • Error scenarios must name the signal that tells their failure cause apart. A scenario that only proves "an error appeared" passes for every cause that reaches the same screen. Products that show one message by design are recorded as GENERIC_BY_CONTRACT, with the rule that requires it or NEEDS_PRODUCT_CONTEXT for the approval gate, and V3 then faults the failure into a success instead of swapping one cause for another.
  • Scenarios may carry up to three named secondary outcomes (survives a reload, side effect proved, error cause distinguished), each recorded as selected or skipped. V1 still keeps one primary outcome.
  • Exported manual test cases from TestRail, Zephyr, Xray, Qase, or similar can serve as the requirement source. They are treated as untrusted data, and steps that contradict the observed product are reported at the approval gate.
  • A proposed reviewer rule was tested before it was written, and refused. benchmarks/stub-echo-v1 preregistered its thresholds, then adjudicated 78 real-repository candidates: 71 real backend, 7 app-mediated, 0 stub echoes. The mechanical rule would have been a false positive every time, so it became a Phase 2 judgement item instead.
  • The scanner is about 4x faster on hit-dense files (30.9s to 7.5s on the recorded fixture) with byte-identical output, and no longer loses its place when a regex literal contains a quote, a case that could hide P0 findings for the rest of the file.
  • The opt-in ast-grep download now works. It previously always failed; it now fetches the platform package and verifies its SHA-256 against pinned values. Hosted CI installs ast-grep from an integrity-pinned package without lifecycle scripts.
  • Skill prose is one physical line per paragraph, as CONTRIBUTING.md already required. No wording changed. The four SKILL.md files now run 302 to 434 lines.
  • The evidence ledger now audits 62 sources. It records that no published measurement of Playwright's own Test Agents healer was found, and it does not cite the widely repeated "~75% success" figure, which appears in no Playwright source.
  • Two unpublished interim versions (1.16.4, 1.17.1) are folded into this release. All four skills and all three plugin manifests carry 1.17.0.

See CHANGELOG.md for the full list of fixes, including scanner JUSTIFIED scope, #7/#8a accuracy, debugger execution gates, report-reader edge cases, secret-scanner token patterns, and pre-push hook safety.

Verification

  • /bin/bash -p scripts/ci/ci-local.sh
  • /bin/bash -p scripts/ci/pre-push-security.sh
  • Pre-push review: 16 passed
  • Pre-push security: 10 passed, 0 warnings, 0 blockers