Skip to content

docs(quest): plan follow-ups from the 2026-10-22 merge wave - #195

Merged
kixelated merged 3 commits into
mainfrom
claude/plan-merge-wave-followups
Oct 22, 2026
Merged

kixelated merged 3 commits into
mainfrom
claude/plan-merge-wave-followups

Conversation

@kixelated

@kixelated kixelated commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Plans follow-ups from the PRs merged on 2026-10-22 (#181, #182, #183, #185, #188, #189, #190, #191), through /quest-plan, including Codex's post-merge review of #188.

Quests

  • New quest/m0/kix/runner-hardening.md [S], first in Kix: one quest runner per runner home (exclusive lock), and the context tool pages through every review thread. Fixes Codex's P1 and P2 on merged code.
  • New quest/m0/helpers/merge-rules.md [XS], first in helpers: squash merges (root AGENTS.md plus the squash-only repository setting) and a stricter re-review rule in the guide.
  • New quest/m0/worker-tests.md [S]: every Worker test passes alone and in any order.
  • New quest/m0/gate-bench.md [XS]: rerun the gate benchmark on an idle host.
  • New quest/m0/kix/github-fake.md [S]: one seeded fake GitHub that runs publication end to end.
  • New quest/m0/helpers/status-holds.md [XS]: quest status shows quest:* holds.
  • New quest/m1/history-pass.md [S]: incremental history passes.
  • Renamed and widened quest/m0/lifecycle-ebusy.md → quest/m0/lifecycle-flakes.md, adding the macOS queue timeout.
  • Edited quest/m0/kix/operator-setup.md: check a PR whose head branch Start over resets.

Search

No open PR touches quest/, and no existing or deleted quest covers these. Overlap noted: operator setup takes the reset check, and m1 review automation already pins reviews to a head.

Decisions

  1. Which follow-ups to plan now?
    • ✅ Runner fixes
    • ✅ Merge rules
    • Spawn briefs (left in their PRs)
    • Kix extras (left in their PRs)
  2. Smaller follow-ups?
    • Later
    • ✅ Plan them too
    • Drop
  3. Runner P1 fix?
    • ✅ One runner per home (exclusive lock)
    • Per-repository locks across processes
  4. Runner fixes placement?
    • ✅ [S] runner hardening first in Kix, plus a separate [S] m0 quest for the D1 test leak
    • One quest
    • Lower rank
  5. Merge method?
    • ✅ Both: root AGENTS.md and the squash-only setting
    • AGENTS.md only
    • Setting only
  6. Re-review of the final head?
    • ✅ Tighten, narrowed: only conflict-free base merges or a reviewer's suggested patch applied unchanged skip re-review; a base merge with a hand-resolved conflict is reviewed like any other change; otherwise wait, then ask the user (narrowed by the user on 2026-10-22 from Codex's finding)
    • Tighten: only base merges or a reviewer's suggested patch applied unchanged skip re-review (first answer)
    • Always re-review
    • Keep as is
  7. Merge rules placement and the setting?
    • ✅ [XS] first in helpers; the quest's agent applies the squash-only setting
    • The user sets it
  8. Smaller follow-up placements?
    • ✅ Accept all: gate bench [XS] m0; drop Bun upstream, macOS hostname, and token caching; seeded GitHub fake [S] in Kix; incremental history [S] m1; status holds [XS] helpers; macOS queue timeout folded into lifecycle flakes; branch-reset check folded into operator setup
    • Adjust

Review

Codex's review of the first head: the worker-tests proof now runs each test case alone (4c63c67); the re-review exemption is narrowed per decision 6 (4108a9e); hold-reader paging is left to the shared reader (replied on the thread).

Checks

quest check, just check, and just test pass.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

Plan runner hardening (one runner per home, paged review threads) first
in the Kix epic; squash-only merges and a stricter re-review rule first
in helpers; Worker test isolation and an idle-host gate benchmark in m0;
a shared seeded GitHub fake in Kix; quest status holds in helpers; and
incremental history passes in m1. Widen the lifecycle quest to cover the
macOS queue timeout, and add the branch-reset check to operator setup.

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

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T19:06:30.831712Z 4108a9e Manual request
🔒 Security Review ✅ Completed 2026-10-22T19:05:30.427249Z 4108a9e Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1b771025da

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m0/helpers/merge-rules.md Resolved
Comment on lines +15 to +16
- Read the hold the same way the state commands do, through the shared
GitHub client, and report a draft its starter still holds the same way.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Page the hold timeline before promising its event

On a PR with more than 100 relevant timeline events after a hold was taken, reusing the state-command reader cannot provide the promised age or event: src/cli/hold.ts:25 requests only timelineItems(last: 100), and holder() deliberately omits those details when the label-add event is absent. Require pagination (or a direct event lookup) here so quest status satisfies the stated output on long-lived PRs.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Disagree for this quest. The reader in src/cli/hold.ts filters the timeline to label, auto-merge, and merge-queue events, so falling off its last 100 needs 100 such events after the hold was taken, which no PR here comes close to. quest status deliberately shares that reader, so if paging is ever needed it belongs in the shared reader and fixes the state commands too, rather than in this quest.

(Written by Claude Opus 5.5)

Comment thread quest/m0/worker-tests.md Outdated
Comment on lines +20 to +21
- Prove it by running each Worker test file alone and the suite in a shuffled
order, and keep a check in CI that would catch a new order dependence.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Verify individual Worker tests in isolation

Running each test file alone does not establish the goal that each individual test passes alone: two tests in the same file can still depend on D1 state in their normal order, and one shuffled suite run may preserve that order by chance. Since the motivating failure was exactly a test depending on another test's row, the deterministic check should execute each test case independently (in addition to any order-shuffled suite check).

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Agreed: the Worker pool runs with isolate: false, so tests in one file share D1 state as well. Fixed in 4c63c67: the proof now runs each test case alone, plus the shuffled suite.

(Written by Claude Opus 5.5)

Addresses Codex's review: tests in one file share D1 state too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The user narrowed decision 6 from Codex's review: a base merge that
needed a hand-resolved conflict is reviewed like any other change.

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

Copy link
Copy Markdown
Collaborator Author

@codex review

(Written by Claude Opus 5.5)

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 4108a9e127

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 4108a9e127

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@kixelated
kixelated merged commit dbecbb7 into main Oct 22, 2026
5 checks passed
@kixelated
kixelated deleted the claude/plan-merge-wave-followups branch October 22, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant