Skip to content

quest: first mistake audit run, with its follow-ups - #641

Open
kixelated wants to merge 4 commits into
mainfrom
quest/m0/mistake-audit
Open

kixelated wants to merge 4 commits into
mainfrom
quest/m0/mistake-audit

Conversation

@kixelated

@kixelated kixelated commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Runs quest/m0/mistake-audit.md for the first time and rewrites it for the next run, scheduled for 2026-11-18.

Summary

Inputs: quest usage --since 2026-11-09 --json in moq-dev/moq (194 PRs), moq-dev/moq.pro (150), and moq-dev/quest (69); the diffs of every culprit and fix pair it reported; and quest messages --since 2026-10-26 --json (1,452 messages in these repositories). Counts and classes are in the agent's words; quotes and raw data stayed in .tmp/.

What the run found:

  • Escapes: 7 real of 20 culprit pairs. 9 pairs were artifacts of how quest usage reads ## Caused by (links on "No single PR" lines, asides, unmerged PRs), and 4 named a PR that deferred the work or kept older behavior. Of the 7: catchable 2, maybe 2, runtime 3; 2 races. All 7 passed a local Sol review.
  • Landed past an open signal (3, moq-dev/moq): an online review finding posted 65 s after enqueue (moq-dev/moq#8375), a recorded decision the head lacked, enqueued 10 minutes later (moq-dev/moq#8431), and a red platform dispatch run on an earlier head (moq-dev/moq#8372). quest merge's refusal of failed checks (moq-dev/quest#601) covers none of them.
  • Scoped gate skipped a test the change reached (2, runtime): one in moq-dev/moq (moq-dev/moq#8459: a new test/**.toml that a relay test parses, while the Rust tests were scoped out), one in moq-dev/moq.pro.
  • Records: 57 of 316 merged PRs carry Implementer: lines that quest usage drops, nearly all Claude Code writing a display name such as Opus 5.5.
  • Typed messages, per 100 before 2026-11-09 then after: stalls 6.5 then 4.6 (3.8 after the moq-dev/quest#600 stop hook, on 27 hours); proposals steered simpler 4.8 then 0; routine choices asked 3.4 then 1.5; answers that only picked the recommendation 7.7 then 3.8. Hand-run /quest-spawn fell from 4.1 to 0.9 a day after /quest-run (moq-dev/quest#608); /quest-complete did not fall in its first day. The after window is under 3 days, so the quest lists these under "Check first next run".
  • Decision-prompt tally: not possible yet. quest messages drops structured answers, so only typed answers are counted.

Follow-ups

In this repository, each a new quest or an edit in this PR:

  • Late signals [M]: quest merge refuses, and the land watcher dequeues, a head that drew a finding or recorded decision after its review. Plan it. Open decision (its ## Waiting): which comments hold a head: (a) any write-access comment after the head, (b) only comments opening with a fixed marker such as "Maintainer decision", or (c) only review findings. Recommend (b).
  • Implementer lines [S]: quest usage and quest review map display names to model IDs and fail loud on lines they cannot read. Plan it: the writer A/B and accuracy rollups undercount Claude without it. No open decisions.
  • Question answers [S]: quest messages prints answers to agents' blocking questions with the recommended and picked options, so the audit can tally them. Plan it: the audit's Plan requires this tally before changing how agents ask. No open decisions.
  • Caused by culprits [S]: reword the ## Caused by rule in quest context to confirm the blamed PR's diff introduced the defect, within the 10,000-character budget. Plan it: 4 of 14 moq-dev/moq links were not defects, which skews the escape rate routing relies on. No open decisions.
  • Edit to the token-max attribution: adds this run's 9 extraction artifacts as test cases. Keep it.

For /quest-plan in other repositories (runtime classes, owned by their gates):

  • moq-dev/moq: the changed-scope dispatch skips Rust tests when a non-Rust file they read changes, as with moq-dev/moq#8459 fixed by moq-dev/moq#8486. No quest owns it; the fix moved the file but left the scope pattern as it was. Plan it, preferring a design where the relay test reads only its own config directory over widening the scope pattern.
  • moq-dev/moq.pro: shell pipelines under pipefail whose reader exits early, fixed three times so far with no owner. Plan a check in just check whose message names the fix.
  • moq-dev/moq.pro: its scoped gate skipped a test reached through another justfile's recipe. Plan it as an edit to the quest there that owns the check router.

Dropped: the quest gate's signal race (moq-dev/quest#585, fixed by moq-dev/quest#629) and the red Windows run on moq-dev/moq#8372, each a single case and not a class.

Choices made without asking

  • The next run is held with ## Scheduled: 2026-11-18, not the ## Waiting item the 2026-11-09 decision named. That decision chose Waiting because quests could not yet be held until a date. ## Scheduled landed later (moq-dev/quest#619), and /quest-recurring now gates calendar runs with it. This follows the newer guidance; the decision line in the Plan notes the change.
  • The run's Plan now says to verify each culprit pair by reading the fix's line, to set aside machine-written messages, and to name no moq-dev/moq.pro PR or path in this public repository.
  • The new baseline replaces the 2026-11-09 hand scan. The routing audit's earlier 30-escape sample stays as one line for comparison.
  • The message window starts at 2026-10-26, so the earlier hand scan can be compared; forge records start at 2026-11-09.

Validation

No code changed. just check and quest gate just test pass, and quest check --base origin/main reports 29 documents ok. Every count comes from the commands above, run on this host today. I spot-checked moq-dev/moq#8431's timeline: the decision comment at 17:12 UTC, enqueued at 17:22 on the same head. I also confirmed that moq-dev/moq#8372's failed platform run was on an earlier SHA than its merged head. The message classes are one sub-agent's hand labels and are approximate.

Public API

None.

Models

  • Size: L
  • Implementer: Claude Code, claude-opus-5-5, high effort

Review

Rewritten by quest review after each round.

  • Head: c01ff46, named in full once no reviewer reports a finding

  • Base: origin/main at 789e383

  • Reviewer: Codex, gpt-6.1-sol, high effort

  • Session: 01a1ccc1-2a57-7793-939b-0ca53999fbea, round 2

  • Score: 9/10, The incremental planning clarifications introduce no actionable defects identified by static review; no builds, tests, or quest commands were run.

  • Findings: none

  • Reviewer: opencode, opencode-go/deepseek-v4.1-flash, high effort

  • Session: ses_e333ec8d1ffe7SBYqStf0CD75V, round 2

  • Score: 9/10, The head accurately fixes six of the seven earlier findings; only the machine-written list still omits the `/goal` messages in its 175 total, a low-severity count gap that should be corrected before landing.

  • Findings, open until the next round settles them:

    • Low, quest/m0/mistake-audit.md:57: Machine-written list still omits `/goal`
  • The last round's findings, at 43464fe:

    • Fixed: medium, quest/m0/routing-evidence/implementer-lines.md:18: Wrong count for the medium-effort Implementer form; The example now uses `Claude Code, Opus 5.5, <effort> effort` and says 36 lines at every effort or none, matching dropped.txt's 36 total (13 high, 9 medium, 7 unknown, 5 low, 2 bare).
    • Fixed: medium, quest/m0/late-signals.md:11: Non-goal wrongly says #601 already refuses the #8372 failed-dispatch case; The non-goal now limits #601 to failed checks on the head and places a failed run on an earlier head in the non-goal left to moq-dev/moq, matching #8372.
    • Fixed: medium, quest/m0/mistake-audit.md:82: Structured-answer claim is false for Codex; The audit Plan and question-answers quest now say Claude Code's and T3 Code's structured answers are dropped while Codex's come through as text without the recommended option, matching the audit's six Codex replies.
    • Fixed: medium, quest/m0/late-signals.md:31: Plan reads every write-access comment while the Waiting recommends only marked comments; The Plan now reads reviews plus only the comments the `## Waiting` decision picks, so it no longer commits to every write-access comment ahead of the recommendation.
    • Fixed: low, quest/m0/mistake-audit.md:126: Late-signal group is called catchable even though #8372 is only maybe; The baseline now says 3 in moq-dev/moq, 2 catchable and 1 maybe, matching the audit table's classification of #8372 as maybe.
    • Open: low, quest/m0/mistake-audit.md:55: Machine-written examples omit two categories counted in the 175 total; The list adds compaction, clear, and Codex replies but still omits `/goal`, and the audit's `/compact`/`/clear`/`/goal` category includes three in-scope `/goal` messages, so the listed examples still do not account for the full machine-written total.
    • Fixed: low, quest/m0/late-signals.md:36: "Nothing waits" contradicts the Goal's queue behavior; The text now says nothing waits for a reviewer but a finding takes the PR out of the queue until it is fixed or refuted, matching the Goal's queue behavior.

Head dcedb1b fixes round 2's only finding, all low severity: fixed, the machine-written list now names /compact, /clear, and /goal commands.

(Written by Claude Opus 5.5 with high)

kixelated and others added 2 commits November 11, 2026 14:04
Quest-Claim: ed3bf2789ee1ef18
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title Mistake audit quest: first mistake audit run, with its follow-ups Nov 11, 2026
kixelated and others added 2 commits November 11, 2026 15:17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review November 11, 2026 23:24
@coderabbitai

coderabbitai Bot commented Nov 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 58 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9720068f-02a2-49d3-805a-7ad9e62d1e5a
Commits

Reviewing files that changed from the base of the PR and between 28e6c87 and dcedb1b.

Files selected for processing: 6

  • quest/m0/caused-by-culprits.md
  • quest/m0/late-signals.md
  • quest/m0/mistake-audit.md
  • quest/m0/question-answers.md
  • quest/m0/routing-evidence/implementer-lines.md
  • quest/m0/routing-evidence/usage-token-max.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

This branch has not been deployed

No deployments
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.

1 participant