Skip to content

chore(quest): adopt the quest merge driver - #6728

Merged
kixelated merged 2 commits into
mainfrom
quest/m0/quest-resolve
Oct 25, 2026
Merged

kixelated merged 2 commits into
mainfrom
quest/m0/quest-resolve

Conversation

@kixelated

@kixelated kixelated commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Finishes quest/m0/quest-resolve.md and deletes it.

Problem

Concurrent PRs conflict on quest link lists (mostly quest/m1/README.md's Required list) whenever main deletes a finished quest's line next to a line the branch inserts. A replay of 280 merges of main into PR branches found 29 of 128 conflicted merges conflicted only in quest files.

Approach

  • Bump the quest flake input to kixelated/quest@42c49e8 (current main), which includes quest resolve from kixelated/quest#219.
  • Run quest init, which wrote .gitattributes (quest/** merge=quest) and refreshed the skill stubs. Other clones need no setup: any quest command registers merge.quest.driver once .gitattributes names it, and the driver falls back to git merge-file when quest is missing or too old.
  • Reproduced with the real quest/m1/README.md: deleting one Required entry on one side and inserting a new entry right after it on the other gives one conflict under git merge-file; quest resolve merges it cleanly (exit 0, no markers, entry placed correctly).

Choices made without asking

  • Pinned to quest main, not the add flake.nix, export moq packages, overlay and nixosModule #219 merge commit. It also picks up the newer skills (such as the new quest-afk stub), which "bump the rev to upgrade them" intends.
  • Replaced the stale quest-recurring stub. quest init refuses to overwrite a stub whose text differs from what it generates; only its description changed upstream, so I deleted it and let init write it again.

Impact

  • No public API or wire change. Dev tooling only: new .gitattributes, quest CLI bump, new /quest-afk skill stub.
  • GitHub's merges ignore merge drivers, so a PR still shows as conflicting until someone pushes a local merge from main. That merge now resolves itself.

Alternatives

  • merge=union was rejected: it brings back lines for quests that main deleted.

Checks

  • quest check --base origin/main: pass.
  • just check (sequential): obs_compile, js (check + test), markdown, gh, workers, quest, shell, large_files, toml, nix, justfile pass. flake fails locally only while building the github-runner VM image (unshare: write failed /proc/self/uid_map: Operation not permitted, so the agent sandbox blocks user namespaces). The image includes the dev tools, so the quest bump changes its hash and it has to be rebuilt instead of fetched from cache. CI needs to confirm it.

Follow-ups

  • Replay the 280 merges through the driver to measure how many of the 29 quest-only conflicts it now resolves.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

kixelated and others added 2 commits October 24, 2026 22:41
Quest-Claim: 0ae241c9650ea781
Bump the quest input to moq-dev/quest@42c49e8, which ships `quest resolve`,
and run `quest init`: `.gitattributes` routes quest/** through the merge.quest
driver, and the skill stubs refresh (new quest-afk, updated quest-recurring
description). Deletes the finished quest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review October 25, 2026 05:51
@kixelated kixelated changed the title Adopt the quest merge driver chore(quest): adopt the quest merge driver Oct 25, 2026
@coderabbitai

coderabbitai Bot commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

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 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews 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: 35a8611e-c5e0-4716-823f-3d26997469b6
Commits

Reviewing files that changed from the base of the PR and between c8b426b and 2ede2eb.

Files ignored due to path filters: 1
  • flake.lock is excluded by !**/*.lock
Files selected for processing: 6
  • .claude/skills/quest-afk/SKILL.md
  • .claude/skills/quest-recurring/SKILL.md
  • .gitattributes
  • flake.nix
  • quest/m0/README.md
  • quest/m0/quest-resolve.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

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 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-25T05:53:08.621605Z — Draft marked ready
ℹ️ 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.

@kixelated kixelated left a comment

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.

Automated review by review (OpenAI)

Reviewed commit: 2ede2eb

No actionable bugs found in the repository-side integration. The flake source and lock agree on the pinned revision, and merge-driver attribution stays confined to quest files. Adopting the purpose-built driver is preferable to union merging, which could resurrect deleted quest entries.

Verification: static review only. I did not execute the driver, reproduce the merge or run Nix checks. The upstream quest implementation was not reviewed because this automation is scoped to moq-dev/moq.

@kixelated
kixelated added this pull request to the merge queue Oct 25, 2026
Merged via the queue into main with commit b7cf045 Oct 25, 2026
11 checks passed
@kixelated
kixelated deleted the quest/m0/quest-resolve branch October 25, 2026 17:55
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