Skip to content

fix(quad-cli): transport-integrity nonce + PR #16 review follow-ups - #17

Merged
drvoss merged 2 commits into
mainfrom
fix/quad-cli-nonce-and-review-followups
Aug 27, 2026
Merged

drvoss merged 2 commits into
mainfrom
fix/quad-cli-nonce-and-review-followups

Conversation

@drvoss

@drvoss drvoss commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Closes #15's remaining scope (transport-integrity nonce; --min-reviewers revisit already resolved by PR #16's documented decision) and addresses the three non-blocking findings from the Opus/Sonnet/Codex cross-review of PR #16 (path-leak in observed_failure, doc/behavior mismatch for reviewers/environment gating, undocumented --artifact perf cost).

Changes

  • Transport-integrity nonce: per-run random token echoed back by reviewers as \ ransport_nonce;
    eviewers.nonce_status\ records confirmed/not-echoed/mismatch/unavailable per declared tool. Mismatch drops the reviewer from consensus; missing echo does not (ambiguous per design).

  • edactPathTokensInText\ fixes the path-leak in \observed_failure.
  • Docs: reviewers/environment gating on --artifact clarified; --artifact CLI-reprobe cost documented; new Transport-Integrity Nonce section.

Testing


  • pm test: 1116/1116 pass (was 1110; +6 new)

  • pm run validate,
    pm run lint:md: pass

  • pm run smoke:quad:available: ran live against installed codex CLI, no crash, nonce_status populated correctly

Refs #15

…x docs (closes #15)

Implements the remaining scope of issue #15 that PR #16 explicitly deferred, plus three
non-blocking findings surfaced by cross-model review (Opus/Sonnet/Codex) of PR #16.

Transport-integrity nonce:
- Each run issues a random per-run token and instructs every reviewer to echo it back as a
  top-level transport_nonce field, so a schema-valid response can be distinguished from one
  that silently worked from a truncated/stale/altered prompt.
- reviewers.nonce_status records confirmed/not-echoed/mismatch/unavailable per declared tool
  (only under --artifact, alongside the rest of reviewers/environment).
- A mismatch (present but wrong echo) drops that reviewer from consensus even though its JSON
  was otherwise schema-valid. A missing echo is NOT penalized -- it is indistinguishable from
  an older CLI/model that never learned the field, per issue #15's own framing.
- QUAD_CLI_TRANSPORT_NONCE env var overrides the generated token for deterministic test fixtures
  only.

--min-reviewers revisit: already resolved by PR #16's documented decision to keep the default at
2 with recorded rationale; no code change needed, closing out the remaining issue #15 item.

Review follow-ups:
- observed_failure diagnostics now redact embedded absolute paths (home-dir and otherwise),
  not just resolved_path, closing the leak Codex's review of PR #16 found.
- Documented that reviewers/environment are only populated under --artifact (doc previously
  implied they were unconditional like status/reviewers_effective).
- Documented the ~40s, --gate-timeout-exempt cost of --artifact's CLI version re-probing.

Refs #15
@drvoss
drvoss force-pushed the fix/quad-cli-nonce-and-review-followups branch from 77e344a to 6cc8e00 Compare August 27, 2026 09:45
…fore

Sonnet's cross-review of this PR found that placing the nonce instruction before <diff>
only proves the reviewer received the instructions header, not the diff body -- the
realistic failure mode (tail truncation of the usually-large diff) would still let a
reviewer see and correctly echo the nonce while never receiving the diff, producing a
false 'confirmed'. Moving the instruction after </diff> means confirmed now requires
having received the entire prompt, diff included; any truncation before that point
yields not-echoed instead.

Also verified (and rejecting as a false positive) Sonnet's other finding: the local
'main' branch ref used during review was stale (pre-dating PR #16's squash-merge),
which made PR #16's already-merged --min-reviewers rationale text look new in a diff
against local main. origin/main already contains it; no change needed there.
@drvoss
drvoss merged commit 3fc4ff6 into main Aug 27, 2026
1 check passed
@drvoss
drvoss deleted the fix/quad-cli-nonce-and-review-followups branch August 27, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

quad-cli gate: add a periodic live four-CLI dogfood check (smoke:quad)

1 participant