Skip to content

v1.18.0

Choose a tag to compare

@voidmatcha voidmatcha released this 19 Sep 02:41
· 33 commits to main since this release
v1.18.0
5d6ae38

Highlights

  • Fixes the reviewer scanner on Debian and Ubuntu hosts without ast-grep. Every release from 1.11.0 through 1.17.0 looked up /usr/bin/sg as an ast-grep candidate. On those distributions that path is the shadow-utils group command, so each scan ran newgrp, ended INCOMPLETE, and exited 2 instead of reaching the pinned npx fallback. The lookup now names only ast-grep; E2E_SMELL_AST_GREP_BIN still accepts an explicit path to ast-grep. If you run the scanner on Linux, upgrade.
  • Fixes the reviewer scanner on macOS for code with non-ASCII identifiers. Under a UTF-8 locale, macOS awk aborted on identifiers such as Angular's ɵ-prefixed exports and the whole scan exited 2; the scanner now pins the C locale, with byte-identical output. A full scan of a large Angular monorepo that used to stop after 24 seconds now completes. If you scan Angular projects on macOS, upgrade.
  • Large scans are several times faster. The scope worker re-checked every recorded dependency (about 240,000 paths on ever-gauzy) before and after every query, which took 4,683 of the scan's 5,932 seconds. Each query now re-checks only the files it read, and the full set is still validated at every tier checkpoint and before any Summary, so a file changed mid-scan still fails the scan with exit 2. The same scan now takes 1,226 seconds with byte-identical output; small projects are unchanged.
  • A correct generator run can reach Complete in three cases the text used to block. V2-V4 probe copies are covered by a <spec> slot on the approved targeted-run row instead of needing new approvals; a parallel mode a serial suite does not use is N/A in V5 rather than CANNOT_VERIFY; and a V6 verdict relayed by another agent counts when its verdict line is quoted verbatim with the reviewer's identifier. About twenty smaller clarifications from the same live runs ship with them.
  • The generator discloses every file it will write and checks what it actually wrote. Step 4 adds a Proposed generated files table (specs, Page Objects, helpers, fixtures, setup projects, playwright.config.* edits, snapshot directories, planner output), covered by the approval gate. Step 3 records git status and SHA-256 hashes before exploration; the user's uncommitted work is never reverted or blamed on the candidate, and any written path outside the approved tables is reported, not deleted, and returns PARTIAL/BLOCKED.
  • "Nothing was stored" must be re-read. After a rejected write, the generator reloads or waits for the re-fetch before asserting absence; an absence read from a view the failure never refreshed passes even if the server stored the data. The reviewer gains the matching Phase 2 judgement next to #4i, reported as #4 P1. No pattern ID, severity, or scanner rule changed.
  • A verified guard for Playwright CLI exploration. The CLI's network.allowedOrigins config, from outside the worktree, in a fresh named session; a fetch to an unapproved loopback port must fail with net::ERR_BLOCKED_BY_CLIENT before navigation.
  • Clearer verdicts. Step 3 asks before starting webServer.command; mixed per-scenario verdicts report the most restrictive status with a breakdown; the completion matrix now covers V1-V3.
  • For contributors: a pre-push Linux check for the shipped-script suites, a digest helper, a live generator runbook, and a Releases section in CONTRIBUTING.md: the skills CLI updates on content while plugin installs update on version, so every push that changes skills/ bumps the version.
  • Bumps all four skills and all three plugin manifests to 1.18.0.

See CHANGELOG.md for details, including a real-repository scanner timing (212 s to 192 s on cal.com's Playwright directory) and the ever-gauzy profile behind the scope-worker change.

Verification

  • /bin/bash -p scripts/ci/ci-local.sh
  • /bin/bash -p scripts/ci/pre-push-security.sh
  • scripts/dev/linux-script-check.sh: six suites pass on Ubuntu 24.04; v1.17.0 fails seven scanner checks there
  • Three live generator runs on a local todo app, the last two from the runbook with no command pre-approved: all Complete, every written path matched an approved row, the user's files unchanged; the third reused the <spec> slot for ten probe runs
  • Pre- and post-implementation adversarial reviews for each batch, with every must-fix and should-fix item addressed