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
1 change: 1 addition & 0 deletions quest/m0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ ownership-manifest design:

## Required

- [Lifecycle EBUSY](/quest/m0/lifecycle-ebusy.md) - the Windows lifecycle check stops failing at random while removing its temp directory
- [Agent lifecycle integration](/quest/m0/worktree-agents.md) - reclaim completed and suspended checkouts through their harness
- [Agent workflow helpers](/quest/m0/helpers/README.md) - CLI commands for CI waits, PR status, claims, quest moves, and serialized merges

Expand Down
1 change: 1 addition & 0 deletions quest/m0/kix/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,4 @@ operator-paid-hosting decisions:
- [Web planning](/quest/m0/kix/planning.md) - issue-to-quest interviews produce draft planning PRs
- [Web execution](/quest/m0/kix/execution.md) - spawn and iterate through the UI, ending in contribution PRs
- [Onboarding guide](/quest/m0/kix/guide.md) - a complete maintainer path, from runner setup through a reviewed PR
- [Merged claims](/quest/m0/kix/merged-claims.md) - the board ignores branches whose pull request merged, as the CLI does
27 changes: 27 additions & 0 deletions quest/m0/kix/merged-claims.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# [XS] Ignore merged branches on the board

## Goal

The kix board and inbox agree with `quest unblocked --unclaimed` about which
quests are claimed: a `quest/*` branch whose tip is the head of a merged pull
request no longer counts as a claim, while a branch whose pull request closed
unmerged still does.

## Plan

Decided 2026-10-22 (user) as a follow-up of
[kixelated/quest#192](https://github.com/kixelated/quest/pull/192), which
gave the CLI this rule:

- `cloudflare/src/github/state.ts` maps every observed `quest/*` ref to a
claim (`associatedQuest`). Apply the same merged-head rule when reading
those refs, and keep the CLI and Worker on one definition of it rather
than a second copy.
- Ranked last in the epic: moq-dev/moq, moq-dev/moq.pro, and kixelated/quest
all delete head branches on merge, so only projects without that setting
see stale claims today.
- Test a merged-head branch, a closed-unmerged branch, and a merged branch
with commits pushed after the merge, with the seeded fake GitHub
(`cloudflare/dev/github.ts`).
- Dropped (user): a CLI sweep that reports or deletes merged quest branches,
since every current repository deletes them on merge.
21 changes: 21 additions & 0 deletions quest/m0/lifecycle-ebusy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# [S] Stop the Windows lifecycle check failing with EBUSY

## Goal

The lifecycle check (`scripts/lifecycle-check.mjs`) never fails a Windows CI
job with `EBUSY` while removing its temporary directory, because nothing still
holds that directory when the check deletes it.

## Plan

Decided 2026-10-22 (user) as a follow-up of
[kixelated/quest#192](https://github.com/kixelated/quest/pull/192):

- The Windows arm64 Release job failed after its own checks passed, in the
final `rmSync(work, { recursive: true, force: true })`, on #192 and on the
`quest/m0/worktree` branch (run 39679528766). A rerun passed both times.
- Find which process or handle still holds the directory (for example a
child process the check started, or a file it left open) and fix that
cause. No retries, sleeps, or ignored errors.
- Reproduce it on a native Windows runner before fixing, and keep the fix
covered by the existing lifecycle jobs.
Loading