Skip to content

quest: plan the 2026-11-03 /quest-complete follow-ups - #455

Merged
kixelated merged 7 commits into
mainfrom
quest-plan/complete-followups-2026-11-03
Nov 3, 2026
Merged

kixelated merged 7 commits into
mainfrom
quest-plan/complete-followups-2026-11-03

Conversation

@kixelated

@kixelated kixelated commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Plans the follow-ups suggested by the PRs a 2026-11-03 /quest-complete session merged or queued (moq-dev/quest#402 through #452), plus those the coordinator collected from its sub-agents' reports. Under the user's standing instruction from 2026-11-02 ("you just decide the follow-ups please. Check the merge history and transcripts to figure out if these are real problems and decide how to fix them"), the design agent checked each one against main, GitHub runs, PRs, and the quest tree and git history, then decided it. It left the three choices that change CI or product behavior to the maintainer, who settled them on 2026-11-03 (see Decisions).

New quests

m0

  • [S] queue-watcher/flaky-verdicts.md. quest land watch counts every unchanged requeue of a failed build as a flaky verdict (src/cli/land-watch-fix.ts:516-523), and two verdicts open a disable PR that is enqueued with no person's pick. Base and environment failures were requeued as flaky before: #324 (missing flock, where the fixer itself said "not a flaky test") and moq-dev/moq#7560. #444 sent this to #406, which merged without it. The epic's end-to-end condition now also covers feat(land): the watcher disables a test seen flaking twice in its own PR #406's "verify on moq": the first disable PR lands. moq has no disable PR yet.
  • [S] kix/runner-review.md. The runner's in-process review runs git fetch/ls-remote through execFileSync (src/cli/review.ts:807,888), which blocks the runner's WebSocket. The fetch also writes the shared clone outside locked(). And flake.nix pins no Codex for reviewing Claude Code jobs. Both came from #417; quest: plan the 2026-11-02 spawn's follow-ups #444 sent them there as a comment, and Runners publish the App's quest review check #417 merged without them.
  • [XS] review-test-load.md. The rejected-login test runs quest review 5 times in one test. It timed out at 5,388 ms in the land fixer's full run on #408. The quest splits it into fakes.each rather than raising the timeout.
  • [XS] gate-load-wording.md. Five places still blame Spotlight's index for a fresh macOS runner's load, which #430's measurements ruled out.

m1

  • [S] windows-suite.md. Every completed push to main since ef8c4b50 has failed only its native Windows jobs. The latest, run 41696344037, has 7 failures, not the 4 #437 reported: the reviewerFor PATH delimiter (#417), 3 CRLF expectations in move.test.ts (#427), and 2 more CRLF plus a synchronous run of the now-async worktree create in worktree.test.ts (after #445/feat(gate): own gated descendants inside Quest scopes and on Windows #437). The quest fixes all 7 so the first nightly run starts green, then runs Check's Windows jobs on a nightly schedule against main plus workflow_dispatch, preferring to drop them from main pushes. GitHub's failed-scheduled-run notification is the signal. It moved from m0 to m1 per decision 1 below and stays [S]: 7 test fixes, a trigger change, and a dispatched Windows run to verify. The other Windows item, Install check, gets a different home (see the edits).
  • [S] git-env.md. Seven CLI Git helpers pass an inherited GIT_DIR/GIT_INDEX_FILE through to git -C. The quest moves discoveryEnv() from worktree.ts into a shared helper, from #445. A probe confirmed that a pre-commit hook gets GIT_INDEX_FILE everywhere, and GIT_DIR too in a linked worktree. It's m1 because no moq-dev repository runs quest from a Git hook (none has lefthook, pre-commit, husky or a hooks directory). Per decision 2 below, quest worktree run also drops those variables from the user's command, keeping -c config.

Edits to existing quests

  • m1/release.md: checks that Install check passes all 12 jobs on the new tag. Its Windows jobs fail against v0.1.0 (run 40144909978, run 41660575051) only because v0.1.0 has no Windows assets ("No matching asset found for platform windows-x64", and an archive 404). No workflow change is needed.
  • m1/review-harness.md: each run checks that the Claude pin maps to Bedrock, Vertex and Foundry ids. #424 kept those routes after quest: plan the 2026-11-02 spawn's follow-ups #444 dropped this as unused, and ANTHROPIC_MODEL stays stripped. Claude Code 2.1.316's catalog does map claude-opus-5-5 (provider_ids: Bedrock us.anthropic.claude-opus-5-5), so there's nothing to fix today.
  • m1/kix/guide.md: explains what the CI panel checks, and points maintainers at a workflow linter such as zizmor, which moq already runs, for workflow files. This replaces #434's suggested Worker-side workflow parser.
  • m0/queue-watcher/README.md: the end-to-end condition, the refined flaky decision, and the new child.
  • m0/README.md and m1/README.md: m0's Goal promises the standalone CLI on macOS and Linux only, and m1's Goal takes on native Windows with its suite passing nightly, matching m1/windows-suite.md (decision 4 below).
  • m1/git-env.md: pullfrog's grammar fix to the Goal's last sentence.

Already covered

  • #402 trust on queue: m0/kix/sandbox/trust-on-queue.md.
  • #404 srt's /tmp/claude: m0/kix/sandbox/seccomp.md. Claude Code's TMPDIR and its boundary test: m0/kix/sandbox/claude-boundary.md.
  • #411 reviewer quota and waiting drafts: m0/review-quota.md and m0/waiting-drafts.md.
  • #416 decision records: m0/decision-records.md.
  • #425 session checkouts: m0/session-checkouts.md, with SessionEnd/SessionStart hooks, the timeout, and recovery. The claude rm report: m0/claude-rm-upstream.md, waiting on the maintainer's approval to post on anthropics/claude-code.
  • #427 the quest-pinned group PR: Dependabot opened it as #446.
  • #428 the bun report: m1/bun-efault.md's Plan (moved from m0, decision 5), already approved.
  • #435 apply-seccomp: m0/kix/sandbox/seccomp.md.
  • #403 the exports tombstone: m0/kix/deploy.md.
  • #429 moq.pro's adoption: moq-dev/moq.pro#3137, still open.
  • #417 cancelling a review with its job: fixed in Runners publish the App's quest review check #417's own first review round (the attempt's abort signal kills the reviewer CLI).

Dropped (with evidence)

  • mise-action v5.2.6 (#447): .github/dependabot.yml runs github-actions weekly with a 7-day cooldown. v5.2.6 came out 2026-11-02, so Dependabot offers it from 2026-11-09. It's only used by the dispatch-only Install check.
  • Gate parity for flaky records (#406): host-gate work is frozen until queue-watcher/retire.md removes it.
  • BEHIND as ready (#405): still dropped, as in quest: plan the 2026-11-02 spawn's follow-ups #444. No moq-dev ruleset is strict, so GitHub never reports BEHIND.
  • Classic branch protection in landing's review rule (#434): kix's own review check is already the conservative fallback, and every pilot uses rulesets (404 "Branch not protected", per quest: plan the 2026-11-02 spawn's follow-ups #444). Reading classic protection would only skip a redundant check, and it would widen the landing token to Administration. The user kept it dropped on 2026-11-03 (decision 3 below).
  • Workflow-file parsing in the Worker (#434): none of the pilots' pull-request-triggered jobs can write. moq's privileged jobs are tag, dispatch, or pull_request_target jobs that check out main. quest's only PR-triggered write is checks: write on its dispatch-only report job. A linter covers all three cases kix: warn when pull-request CI can write, and write down trust by stage #434 named, so the guide points at one instead.
  • Several App installations in the dev fake (#438): its own PR called it optional.

Decisions

Settled by the user on 2026-11-03 in /quest-complete, and recorded in the affected quests' Plans with their ## Waiting items removed:

  1. How should a native-Windows regression be caught before it lands? (m1/windows-suite.md)
    • Run Check's two Windows jobs on ready PRs again, outside the merge queue (recommended), not picked
    • Add them to the merge group as required checks (up to about 6 minutes more per landing), not picked
    • Keep them on main only, cancelling in progress only on PRs, not picked
    • ✅ Other: "I don't really care about windows, it's fine if we catch issues nightly." The quest now runs them nightly against main plus workflow_dispatch, and moved from m0 to m1.
  2. Should quest worktree run drop inherited Git location variables from the user's command? (m1/git-env.md)
    • ✅ Drop them and keep -c config (recommended)
    • Pass the environment through as now
  3. Should landing read classic branch protection now that the App has Administration (read)?
    • ✅ No, keep it dropped (recommended): it widens the landing token for no safety gain
    • Plan it as a quest
  4. Should m0's Goal drop native Windows, now that the Windows suite moved to m1 with nightly-only coverage? (m0/README.md, m1/README.md)
    • ✅ Narrow m0's Goal (recommended)
    • Leave it
  5. Where should quest/m0/bun-efault.md, which waits on a Windows-only Bun bug, live now that m0's Goal no longer covers native Windows?
    • ✅ Move it to m1 beside the Windows suite with quest mv (recommended). The coordinator decided this under the user's standing instruction to decide follow-up placement; no work changes.
    • Leave it in m0

Unmerged at planning time

Based on origin/main at 36d0429c, after #438 merged. #404 is still open and unqueued; its follow-ups are covered above.

Checks

  • quest check --base origin/main: 71 documents ok on 7731e5d4. just check passed through quest gate on 7731e5d4. The branch is up to date with origin/main at 36d0429c.

Review

  • Reviewer: Codex gpt-6.1-sol, medium effort, via quest review --base origin/main (session 01a1a2d0-87b5-71e0-bb81-18d1924ca7d5)
  • Round 3 on head 7731e5d43011855a47cc4bc652edbdd9833d66b2 (base 36d0429c): no findings
  • Head d3914b523a5f38c379175369e835790abfd43cc9 adds only quest mv quest/m0/bun-efault.md quest/m1/bun-efault.md and moves its Required link from m0's README to m1's. The review is skipped as too trivial: the quest's text is unchanged, and quest check --base origin/main passes (71 documents).
  • pullfrog on 0b51189c: one suggestion on quest/m1/git-env.md:11, the Goal's ungrammatical last sentence. Fixed, keeping the user's command as the subject ("The command that quest worktree run starts…") rather than pullfrog's wording, which made quest worktree run the one that starts.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

kixelated and others added 3 commits November 3, 2026 11:07
New quests: genuine flakes only (queue watcher), runner reviews (kix),
native Windows suite, the rejected-login review test, gate load wording
(m0), and Git location variables (m1). Edits release, review-harness and
the kix guide, and extends the queue watcher's end-to-end condition.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review November 3, 2026 19:15
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Finishing Touches
Simplify code
  • Commit to this branch
  • Create a new PR
  • 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

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

I read the complete diff and verified the quests' factual claims against the codebase at head d906e21 (every cited source line, the workflow files, and the test files). All of them held up, and quest check passes on the head with 71 documents ok.

  • New [S] quest m0/queue-watcher/flaky-verdicts.md — only failures reproducing on the base or caused by the environment count as flaky; verified src/cli/land-watch-fix.ts:516-523 labels every unchanged requeue flaky, and recordFlaky still counts one verdict as sufficient signal toward a disable, so the two-verdict disable flow is reachable for both causes. The end-to-end condition in m0/queue-watcher/README.md now covers the first disable PR landing through moq's queue.
  • New [S] quest m0/windows-suite.md — the 7 native-Windows Check failures on main are described accurately (the path.delimiter test in test/runner.test.ts:2343, the run-syncs-async-worktree create at test/worktree.test.ts:781 confirmed skipIf(linux)), and the evidence that nothing runs native Windows on PRs (#397's pull_request skip in check.yml, Linux-only queue-build.yml) is correct. Leaves the CI-on-PR choice to the maintainer with a recommendation.
  • New [S] quest m0/kix/runner-review.md — verified src/cli/review.ts:807/:888 run ls-remote/fetch through gitOutput's execFileSync, and src/runner/workspace.ts:102/:414 back the origin-URL and locked-fetch claims; flake.nix pins Claude Code, opencode and srt but no Codex, agreeing with the runner pin gap.
  • New [XS] and [XS] quests review-test-load.md and gate-load-wording.md — the rejected-login test really does loop exactly 5 variants in one test (test/review.test.ts:278), and all five Spotlight explanations were confirmed at the cited sites (check.yml:70, release.yml:126, test/gate.test.ts:131, src/cli/gate.ts:373, README.md:940).
  • New [S] quest m1/git-env.md — discoveryEnv() is still private to src/cli/worktree.ts:64 and builds from git rev-parse --local-env-vars (:65), while gitOutput (src/cli/claims.ts:353) does pass the environment through, matching the claim it "passes GIT_DIR/GIT_INDEX_FILE through to git -C". m1 sizing is defended and the quest worktree run decision prompt is anchored at src/cli/supervise.ts:339 (env: options.env), which checks out.
  • Edits to existing quests — m1/release.md's "all 12 jobs / 4 Windows jobs" counts match install-check.yml's matrices (8 + 4); m1/kix/guide.md's zizmor suggestion is sound — moq-dev/moq runs zizmor in .github/justfile:28, justifying the drop of #434's Worker-side parser; m1/review-harness.md's ANTHROPIC_MODEL strip is real (src/cli/review.ts:249).

Pullfrog  | View workflow run | Using glm-5.3-flash | 𝕏

Windows runs nightly and moves to m1; quest worktree run drops inherited
Git location variables; classic branch protection stays dropped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ No critical issues — one minor suggestion inline.

Reviewed changes

Incremental review of commit 0b51189 against the prior pullfrog review (head d906e21); the three base-merge commits add no reviewable content. The commit records the maintainer's 2026-11-03 decisions in the quest tree:

  • Moved the Windows suite quest from m0 to m1 (m0/windows-suite.md deleted, m1/windows-suite.md added): retitled to "[S] The native Windows suite passes nightly", the ## Waiting CI-strategy prompt resolved with the user's "catch issues nightly" decision (nightly schedule against main plus workflow_dispatch, preferring to drop the Windows jobs from pushes to main, GitHub's failed-scheduled-run notification as the signal), and the goal rewritten accordingly. The m0/README.md and m1/README.md listings were updated to match, and the removed evidence lines carried over intact from the m0 version.
  • Resolved the quest worktree run decision in m1/git-env.md: the "drop them, keeping -c config" choice is recorded as a Decided block, folded into the Goal, and the Work list now carries the concrete change with its src/cli/supervise.ts:339 anchor; the ## Waiting section was removed. The third decision (classic branch protection) lives only in the PR body, already resolved.

quest check --base origin/main passes on the head: 71 documents ok. No prior review threads were open, so nothing to retire.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using glm-5.3-flash | 𝕏

Comment thread quest/m1/git-env.md Resolved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
m0's Goal no longer covers native Windows (decided 2026-11-03), and the
Bun EFAULT bug only occurs on Windows, so the report joins the Windows
suite in m1. No work changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated added this pull request to the merge queue Nov 3, 2026

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

Incremental review of commits 22859d9 and 7731e5d4, which settle the git-env.md Goal's grammar thread from the prior pullfrog review on 0b51189:

  • Narrowed m0's Goal to macOS and Linux (m0/README.md): "keeps serving the same repositories locally on macOS and Linux", and the "Work that only third-party repositories need" sentence now delegates native Windows to m1 alongside the public launch. The 2026-11-03 decision is recorded in a new Plan block.
  • Gave native Windows to m1's Goal (m1/README.md): the standalone CLI "runs on native Windows, whose suite passes nightly rather than on every pull request" — consistent with m1/windows-suite.md's nightly-schedule decision and the Required listing.
  • Fixed m1/git-env.md's Goal grammar (:10-11): "The command that quest worktree run starts in a reserved checkout gets the same treatment." This resolves the resolved suggestion thread (PRRT_kwDOUhuoys6zTP0B) with the command, not quest worktree run, as the subject.

quest check --base origin/main passes on the head: 71 documents ok, and no stale m0/windows-suite links remain.

Pullfrog  | View workflow run | Using glm-5.3-flash | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

Incremental review of commit d3914b54 on top of the prior pullfrog review at head 7731e5d4:

  • Moved the Bun EFAULT report from m0 to m1 (quest mv, m0/bun-efault.md → m1/bun-efault.md): the quest's text is unchanged, its Required link moved from m0's README listing to m1's beside the Windows suite, and the placement rationale is recorded as decision 5 in the PR body — m0's Goal no longer covers native Windows, and the bug only bites Windows.

quest check --base origin/main passes on the head: 71 documents ok, and no stale m0/bun-efault links remain. The quest is textually identical to the m0 version reviewed against d906e21, whose factual claims (src/cli/gate.ts remove(), the Bun issue links) were all verified then.

Pullfrog  | View workflow run | Using glm-5.3-flash | 𝕏

Merged via the queue into main with commit df95246 Nov 3, 2026
9 of 10 checks passed
@kixelated
kixelated deleted the quest-plan/complete-followups-2026-11-03 branch November 3, 2026 19:49
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