4 Commits
Author SHA1 Message Date
Garry Tanandcapy-ai[bot] 6b2b5f350d v1.91.174.0 fix(evals): local-hook detector credits "set it up by hand"; read-only grammar steers globbed options to the quoted form (#3332)
* fix(evals): local-hook detector credits 'set it up by hand'; read-only grammar steers globbed options to the quoted form

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* chore: changelog and fixture touchfile for the 2026-10-21 paid flake repairs

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* v1.91.174.0 stamp

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-21 18:11:21 +00:00
Garry Tanandcapy-ai[bot] 3dda9d810d v1.91.169.0 fix(evals): docs-sync fixture accepts joined Git reads, literal loops and tr pipes; late-result says what its repair fixes (GSTA-57) (#3325)
* fix(evals): docs-sync fixture accepts joined Git reads, literal loops and tr pipes; late-result says what its repair fixes (GSTA-57)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* v1.91.169.0 stamp

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-20 18:45:38 +00:00
Garry Tanandcapy-ai[bot] a09b3b8532 v1.91.145.0 fix(evals): qa-only opts in to the read-only grammar; stderr-to-null forms accepted (#3295)
* fix(evals): qa-only opts in to the read-only grammar; stderr-to-null forms accepted

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): qa-only checkpoint rule counts guarded "$B" stop as browser cleanup, like closetab

PR #3272's Opus gate 39217387697 (slice 8) failed qa-only-no-fix when the agent
stopped the browser inside the guard; the rule counted stop as a third probe
that needed a checkpoint. The prompt now names both cleanup children. A free
replay of the captured three guarded calls passes (and fails on the old rule);
stop before a probe, a disguised probe, stop --all and stop outside the guard
still fail.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(evals): register the qa-only stop-cleanup replay fixture in qa-only-no-fix touchfiles

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): docs-sync observer ignores an unexecuted candidate call that exited 127 at a missing path

PR #3295's gate (run 39223031058, slice 2) failed ship-docsync-current after Opus
called gstack-docs-candidate compare at a path missing the fixture-home segment,
got exit 127 (no such file or directory), and reran it at the declared path. The
observer now ignores such a call only when the absolute binary path does not
exist, the recorded result is exactly the shell's exit-127 not-found message for
that path, and a later call runs the same command at the declared path without
failing. A free replay of all 43 captured tool calls passes and fails on the
previous observer; negative controls cover an existing wrong-path binary, other
exits and messages, a missing/earlier/failing/changed retry, and non-candidate or
relative binaries. GStack Minder-approved.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* v1.91.145.0 chore(release): stamp qa-only read-only opt-in, stderr forms, stop cleanup and docs-sync exit-127 exception

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-19 09:52:57 +00:00
Garry Tanandcapy-ai[bot] 2d42e4ece8 v1.91.143.0 fix(evals): shared read-only command grammar for fixtures; docsync opts in (GSTA-49) (#3288)
* fix(evals): shared read-only command grammar for fixtures; docsync opts in (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(evals): read-only grammar controls are POSIX-only; pin fail-closed on Windows (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(evals): docsync grammar corpus forms run on POSIX only; Windows fails closed (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): echo/printf join the read-only grammar; docsync literal reads stay inside the fixture home (GSTA-49)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(evals): docsync keeps Git reads out of grammar lines; sed -n paging, composed-cat completed reads, config dir listable (GSTA-49)

Fable 5.1 (CI's eval model) read the grammar's 'Join them with ;, && or ||' as
covering Git reads: PR E2E 39186278010 failed 5 docsync cases on 21 joined
commands. The interface now says joins cover only the grammar's own reads and
Git, Preamble, lifecycle and candidate commands each run as their own Bash call.

- read-only grammar: sed -n with a line-range print script (file or pipe)
- docsync: a trailing ; on a declared read is a harmless wrapper; the completed-
  read check credits a cat inside an accepted grammar line (not piped, no cd);
  the Claude config dir is listable and settings.json readable while
  .claude.json and every other config file stay denied
- focused Fable reruns: ship-docsync-missing-asset and ship-docsync-failure pass

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* chore: stamp v1.91.143.0 (GSTA-49 shared read-only grammar)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-19 03:26:31 +00:00