Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions quest/m0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ ownership-manifest design:
- [Spawn keeps finding work](/quest/m0/spawn-refill.md) - recompute ready quests per report, resume leftover local branches, and check open PRs before claiming
- [Kix decision UI](/quest/m0/kix/README.md) - planning and implementation through prompts and summaries, run on the maintainer's own runners
- [Codex cloud off](/quest/m0/codex-cloud-off.md) - automatic Codex cloud reviews stop once no open PR relies on them
- [Bun EFAULT report](/quest/m0/bun-efault.md) - condition: Bun fixes concurrent `rmSync` on Windows; report it, then drop the workaround
- [Codex project-config skip](/quest/m0/codex-project-config.md) - condition: Codex keeps a supported way to skip a project's `.codex/` layer; then reviews keep the user's config
- [Bun EFAULT report](/quest/m0/bun-efault.md) - report concurrent `rmSync` `EFAULT` on Windows, and drop the workaround once Bun fixes it
- [Codex project-config skip](/quest/m0/codex-project-config.md) - once Codex keeps a supported way to skip a project's `.codex/` layer, reviews keep the user's config
- [Gate bench](/quest/m0/gate-bench.md) - measure headroom admission on an idle host
- [Agent workflow helpers](/quest/m0/helpers/README.md) - CLI commands for CI waits, PR status, claims, quest moves, and serialized merges
- [Review the branch's own change](/quest/m0/review-merge-base.md) - `quest review` diffs against the merge base and accepts a detached `HEAD`
Expand All @@ -102,4 +102,3 @@ ownership-manifest design:
- [Spotlight off in macOS CI](/quest/m0/ci-spotlight.md) - this repository's macOS jobs turn off Spotlight indexing first
- [Review through a gateway](/quest/m0/review-gateway.md) - `quest review` keeps gateway, cloud-provider, and Codex connection variables
- [opencode 2.x](/quest/m0/opencode-sdk.md) - the runner drives the opencode 2.x binary through `@opencode/client`, removing the interim 1.19.0 pin
- [Waiting sections](/quest/m0/waiting-sections.md) - this repository's waiting quests move from prose to `## Waiting`
17 changes: 14 additions & 3 deletions quest/m0/bun-efault.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,17 @@ Decided 2026-10-28 (user, /quest-plan of the follow-ups from a 25-PR /quest-comp
race and worked around it. Its diagnostic runs have the minimal repro: two
processes `rmSync` the same file on `windows-11-arm` and `windows-2022`.
- Search existing Bun issues first, and comment on a match instead of opening
a duplicate.
- This quest waits on Bun. Check the report's state each time ready work is
triaged.
a duplicate. As of 2026-11-02 nobody from moq-dev has commented or opened
one. The closest reports are
[oven-sh/bun#39708](https://github.com/oven-sh/bun/issues/39708), the
recursive case, with its fix
[oven-sh/bun#39710](https://github.com/oven-sh/bun/pull/39710), and the
single-file fix
[oven-sh/bun#38550](https://github.com/oven-sh/bun/pull/38550); all three
are open.

## Waiting

- oven-sh/bun: a release fixes `rmSync` throwing `EFAULT` when two processes
remove one file on Windows, and Quest's pin includes it. Check the report
and the fix PRs above each time ready work is triaged.
26 changes: 18 additions & 8 deletions quest/m0/codex-cloud-off.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,21 @@
## Goal

Codex cloud stops reviewing PRs automatically in every repository that uses
quest, once none still relies on it. The condition is that local review
(`quest review` and `/quest-review`) has landed, each adopting
repository's review policy no longer names Codex, and no open PR in those
repositories was opened before its repository adopted local review without
having merged main since. To check, list each repository's open PRs and
compare them with the adoption merge. To advance it, update the stragglers to
main. Then the maintainer turns off automatic reviews in Codex's settings, and
this quest is deleted.
quest, once none still relies on it. Then the maintainer turns off automatic
reviews in Codex's settings, and this quest is deleted.

## Plan

Local review (`quest review` and `/quest-review`) has landed. As of
2026-11-02, moq, rind and rust2's `CONTRIBUTING.md` no longer name Codex's
cloud review; moq.pro's still does.

## Waiting

- moq.pro: its review policy stops naming Codex's cloud review, as moq's,
rind's and rust2's did. Check its `CONTRIBUTING.md` for
`chatgpt-codex-connector`.
- moq, moq.pro, rind, rust2, quest: no open PR was opened before its
repository adopted local review without having merged main since. To
check, list each repository's open PRs and compare them with the adoption
merge. To advance it, update the stragglers to main.
10 changes: 7 additions & 3 deletions quest/m0/codex-project-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ Decided 2026-10-28 (user, /quest-plan of the follow-ups from [moq-dev/quest#271]
hooks from running. A fix that matches the help text would reopen that hole.
- Do not post upstream, on #49333 or a new issue; the maintainer declined.
Only watch for the change.
- This quest waits on Codex. Check #49333 and Codex release notes each time
ready work is triaged; the live sandbox test, `just review-sandbox`,
catches a release that changes the behavior first.

## Waiting

- openai/codex: a release offers a supported way to skip a project's
`.codex/` layer. Check #49333 (open on 2026-11-02) and Codex release notes
each time ready work is triaged; the live sandbox test,
`just review-sandbox`, catches a release that changes the behavior first.
10 changes: 8 additions & 2 deletions quest/m0/gate-bench.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,15 @@ The earlier baseline, from
[moq-dev/quest#177](https://github.com/moq-dev/quest/pull/177), was 104 s
gated against 19 s ungated for a burst of 8.

- Run on a host with no other agents or builds; record the 1-minute load
before each run alongside the results.
- Record the 1-minute load before each run alongside the results.
- Delete this quest in the PR that records the results.
- Dropped (user): asking Bun upstream to make `os.userInfo().homedir` ignore
`$HOME` (the child-process lookup costs about 10 ms), and handling a macOS
hostname that changes with the network, until it is seen in practice.

## Waiting

- Maintainer: leave the host idle, with no other agents, builds or land
daemons running, for a few minutes of runs; an agent can't pause the
others' work. Check that `uptime`'s 1-minute load is near zero before each
run.
11 changes: 8 additions & 3 deletions quest/m0/land-fixer/workflows-permission.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ permission, and every installation the land fixer pushes to, through the
queue watcher or the host gate, has accepted it: moq-dev/moq, moq.pro, rust2,
rind and quest. GitHub then accepts
a fixer push that touches `.github/workflows`, including a base merge pushed
to a fork's branch. This quest waits on the maintainer. To check, open the
App's settings under Permissions; GitHub lists pending permission requests on
each installation.
to a fork's branch.

## Plan

Expand All @@ -28,3 +26,10 @@ each by hand. Once this permission is granted, the refusal that
`quest land apply` handback handles should stop happening.

Delete this quest once the permission is granted and accepted.

## Waiting

- Maintainer: grant moq-bot `workflows: write` and accept it on each
installation above; only an App owner can change its permissions. To
check, open the App's settings under Permissions; GitHub lists pending
permission requests on each installation.
2 changes: 1 addition & 1 deletion quest/m0/queue-watcher/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ Shared shape, for the children to follow:
## Required

- [Watcher on the host](/quest/m0/queue-watcher/host.md) - kixelated/nixos runs the watcher for moq-dev/moq beside its fixer container
- [The other repositories follow](/quest/m0/queue-watcher/follow.md) - condition: quest, rind and rust2 are cut over; rind and rust2 each land a PR, and a fork PR lands
- [The other repositories follow](/quest/m0/queue-watcher/follow.md) - quest, rind and rust2 are cut over and landing; waits for a fork PR to land through one of their queues
- [Harden the queue runners](/quest/m0/queue-watcher/runners.md) - each queue runner runs only its repository's queue workflow, and every outside fork PR needs approval
- [Retire the batching gate](/quest/m0/queue-watcher/retire.md) - once no repository lands through `quest land serve`, its batching code and host units go

Expand Down
20 changes: 15 additions & 5 deletions quest/m0/queue-watcher/follow.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

## Goal

Condition: moq-dev/rind and moq-dev/rust2 have each landed a PR through
their merge queue, and a fork PR has landed through any of the three. Check
each with `gh pr list -R moq-dev/<repo> --state merged` and the
`merge_group` runs on its `<repo>-queue` runner. Fix whatever a first merge
group exposes, as moq-dev/quest's did. Then delete this quest.
moq-dev/quest's, moq-dev/rind's and moq-dev/rust2's merge queues are shown
to land every kind of PR, including one from a fork. Fix whatever a first
merge group exposes, as moq-dev/quest's did. Then delete this quest.

## Plan

Expand Down Expand Up @@ -45,3 +43,15 @@ The cutover was done on 2026-11-03 (user, /quest-complete):

rind's and rust2's first merge groups may hit similar runner gaps, since
GitHub's Ubuntu runners preinstall tools their dev shells may not declare.
By 2026-11-03 both had landed PRs through their queues
([moq-dev/rind#276](https://github.com/moq-dev/rind/pull/276) and later,
[moq-dev/rust2#467](https://github.com/moq-dev/rust2/pull/467) and later), so
only the fork case remains.

## Waiting

- Fork contributor: a PR from a fork lands through any of the three merge
queues. Check with
`gh pr list -R moq-dev/<repo> --state merged --json number,isCrossRepository`
and the `merge_group` runs on its `<repo>-queue` runner. A maintainer can
advance it by landing a PR of their own from a fork.
23 changes: 19 additions & 4 deletions quest/m0/queue-watcher/retire.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

## Goal

Condition: no repository lands through `quest land serve` any more (moq,
moq-dev/quest, moq.pro, rust2 and rind have all switched to the merge queue).

Then the batching gate is gone: `quest land serve`'s batching, parking,
Once no repository lands through `quest land serve` any more, the batching
gate is gone: `quest land serve`'s batching, parking,
halting, and squash-push code, its tests, and its README and `CONTRIBUTING.md`
sections are deleted, keeping only what the watcher and `quest land apply`
use. The host's `quest-land` daemon instances and check containers are
Expand All @@ -21,6 +19,23 @@ batched gate, and gate work is frozen until then. Once nothing uses it, the
code goes rather than staying as an unmaintained option. Check each
repository's ruleset for a `quest land` requirement before deleting.

moq, moq-dev/quest, rind and rust2 land through the merge queue (2026-11-03).
moq.pro is the last: on 2026-11-02 the maintainer kept it on its host gate,
and its `main` ruleset still requires `quest land`. moq.pro is private and
moq-dev is on GitHub Team, where GitHub has offered merge queues on private
repositories only under Enterprise Cloud.

## Waiting

- Maintainer: decide how moq.pro leaves the host gate, since only the
maintainer can change moq-dev's plan or repository settings. Options:
enable a merge queue in moq.pro's `main` ruleset if GitHub now offers one
there (recommended; check the ruleset editor first); move moq-dev to
Enterprise Cloud for it; or keep moq.pro on the gate and delete this
quest. Check with
`gh api repos/moq-dev/moq.pro/rulesets/16788924 --jq '[.rules[].type]'`,
which lists `merge_queue` once it is enabled.

## Required

- [The other repositories follow](/quest/m0/queue-watcher/follow.md) - the last repositories leave the gate
23 changes: 0 additions & 23 deletions quest/m0/waiting-sections.md

This file was deleted.

12 changes: 9 additions & 3 deletions quest/m1/decisions-needed.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,14 @@ Decided 2026-11-02 (maintainer, /quest-plan of the follow-ups from the
[moq-dev/quest#390](https://github.com/moq-dev/quest/pull/390)): ✅ plan it,
m1.

- Waits until no open draft in a repository that uses quest carries
`## Decisions needed`: search open draft PRs' bodies for the heading before
starting, and rewrite any to `## Waiting` first.
- Remove the old heading from `src/core/claim.ts`'s regex, `handedBack`, and
every doc and skill that names both.

## Waiting

- moq, moq.pro, rind, rust2, quest: no open draft carries
`## Decisions needed` (on 2026-11-02, 11 in moq, 16 in moq.pro, 1 each in
rind and rust2). Check with
`gh pr list -R moq-dev/<repo> --state open --draft --json number,body` and
search the bodies for the heading. To advance it, rewrite each to
`## Waiting`.
2 changes: 1 addition & 1 deletion quest/m2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ additional login providers. This milestone does not gate the public release.
- [ChatGPT approval](/quest/m2/chatgpt-waitlist.md) - resolve hosted-use approval before implementation
- [Worker dev setup](/quest/m2/worker-dev.md) - per-server cookies, seeded raw output, static assets, one fake GitHub, each test run alone
- [Gate ownership everywhere](/quest/m2/gate-ownership.md) - delegated sub-cgroups for nested gates and Windows Job Objects
- [Delete the legacy hold labels](/quest/m2/legacy-labels.md) - condition: every gated repository pins quest past #326; then only `quest:active` and `quest:kix` are holds
- [Delete the legacy hold labels](/quest/m2/legacy-labels.md) - once every gated repository pins quest past #326, only `quest:active` and `quest:kix` are holds
10 changes: 8 additions & 2 deletions quest/m2/chatgpt-waitlist.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,17 @@ plan. Self-serve token sharing covers only open-source, locally run apps.
Hosted apps need the interest form or waitlist
([docs](https://developers.openai.com/siwc/token-sharing-open-source)).

Waits on a human action and OpenAI. Apply, then check for a reply. Delete
this quest once approved, or abandon it if denied.
Delete this quest once approved, or abandon it if denied.

## Plan

Deprioritized on 2026-10-05 behind the other m1 entries while hosted approval
remains outstanding. Keep the quest ready so future triage checks for a reply;
ChatGPT login and hosted runs still require its completion.

## Waiting

- Maintainer: apply through OpenAI's interest form or waitlist, if not done;
the application is made for the operator's account.
- OpenAI: approve the Kix app for hosted Sign in with ChatGPT. Check for a
reply.
15 changes: 10 additions & 5 deletions quest/m2/legacy-labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,22 @@

## Goal

Condition: quest, moq, moq.pro, rind and rust2 all pin a quest release that
includes [moq-dev/quest#326](https://github.com/moq-dev/quest/pull/326).
Then `LEGACY_IGNORED` in `src/core/hold.ts` and its notes in the README and
Once every gated repository pins a quest release that includes
[moq-dev/quest#326](https://github.com/moq-dev/quest/pull/326),
`LEGACY_IGNORED` in `src/core/hold.ts` and its notes in the README and
`quest iterate --help` are gone, and only `quest:active` and `quest:kix`
count as holds.

## Plan

Decided 2026-10-31 (user, /quest-plan of the follow-ups from moq.pro's and rust2's cutover to the host gate and the fixer repairs [moq-dev/quest#320](https://github.com/moq-dev/quest/pull/320), [#325](https://github.com/moq-dev/quest/pull/325), [#327](https://github.com/moq-dev/quest/pull/327) and [#328](https://github.com/moq-dev/quest/pull/328)).

- Check the condition with each repository's quest pin (`flake.nix` or
`mise.toml`).
- Decide then whether any other `quest:*` label should still count as a
hold; recommend only the two.

## Waiting

- moq.pro, rind, rust2: each pins a quest release that includes
[moq-dev/quest#326](https://github.com/moq-dev/quest/pull/326); quest and
moq already do (2026-11-02). Check each repository's quest pin
(`flake.nix` or `mise.toml`).