Skip to content

chore(hold): delete the legacy hold labels - #546

Merged
kixelated merged 2 commits into
mainfrom
quest/m2/legacy-labels
Nov 7, 2026
Merged

kixelated merged 2 commits into
mainfrom
quest/m2/legacy-labels

Conversation

@kixelated

@kixelated kixelated commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Finishes quest/m2/legacy-labels.md, which this PR deletes along with its link in quest/m2/README.md.

  • isHoldLabel now counts only quest:active and quest:kix. LEGACY_IGNORED is gone. quest:iterate, quest:ready, quest:merge, and any other quest:* label hold nothing, so iterate, ready, release, merge --land, status, and the land watcher no longer refuse or hold on them.
  • KIX_LABEL moves into src/core/hold.ts and is exported from quest/core. The Worker imports it instead of defining its own copy.
  • quest iterate <token> refuses a token that names kix's hold instead of removing it. The swap of a token-named label for quest:active existed only for older quest versions' labels, so it is removed rather than left to reach kix's hold.
  • The README and quest iterate --help drop the notes on older labels, and the OWNERSHIP text names quest:active or quest:kix.

Waiting item cleared

The Waiting item (every gated repository pins a quest release that includes #326) is verified and dropped. Checked 2026-11-07: rind's flake.nix pins 99eb7f25 and rust2's pins a3789c7b. GitHub's compare shows both contain #326's merge commit ba0cf190 (behind_by: 0). quest, moq and moq.pro were already past it.

Public API and wire impact

  • quest/core exports KIX_LABEL. isHoldLabel accepts two labels instead of every quest:* label except quest:merge.
  • CLI behavior: a PR still labelled quest:iterate, quest:ready, quest:merge, or a custom quest:* label is no longer held or refused by it.
  • Wire: no GitHub label names or event shapes change. kix's quest:kix is the same string.
  • Migration: none. Every gated repository already pins past feat(hold): one quest:active hold; quest merge takes no label #326, and a leftover legacy label is ignored. Removing it by hand is optional.

Choices made without asking

  • Hold set is exactly quest:active and quest:kix. The Goal says so, and the Plan's "recommend only the two" is taken as the decision. The alternative, keeping every quest:* label except quest:merge, contradicts the Goal.
  • No token swap. After this change the only non-quest:active hold is kix's, so keeping the swap would let a token remove kix's hold. Refusing is simpler and safer.
  • KIX_LABEL in core. One definition for the CLI and the Worker, instead of two.
  • Quest deleted with its link. Finishing the quest removes quest/m2/legacy-labels.md and its line in quest/m2/README.md.

Validation

  • just install, just fix, just check: exit 0. quest check --base origin/main: 81 documents ok.
  • just test: exit 0. Root vitest 30 files, 1100 passed, 6 skipped. Worker 21 files, 539 passed.
  • New tests: a token naming a label that holds nothing (quest:ready) is refused; a token naming kix's hold is refused and writes nothing.

Models

Size: XS
Implementer: Claude Code, claude-haiku-5-5, high effort

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, low effort
  • Session: 01a1b767-5ab6-7090-aad5-7ce25412915c, round 1
  • Head: 2991a38
  • Base: origin/main at 1c3cf6a
  • Score: 10/10, The specified diff consistently limits holds to quest:active and quest:kix and prevents acquisition from taking over kix's hold; no actionable regressions were found, though tests were not run in the read-only environment.
  • Findings: none

Quest-Claim: bbb98b1c236305a8
@pullfrog

pullfrog Bot commented Nov 7, 2026

Copy link
Copy Markdown

Pullfrog  | Review this ➔

Only quest:active and quest:kix hold a PR now. quest:iterate, quest:ready,
quest:merge, and other quest:* labels hold nothing, and a token naming kix's
hold is refused rather than swapped for quest:active.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title Delete the legacy hold labels chore(hold): delete the legacy hold labels Nov 7, 2026
@kixelated
kixelated marked this pull request as ready for review November 7, 2026 19:06
@coderabbitai

coderabbitai Bot commented Nov 7, 2026

Copy link
Copy Markdown

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

Check out review usage here.

View limit details

Limit details: You’ve used the included review 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: c86be49d-4832-4fee-b0d8-dc1f4c0c20e6
Commits

Reviewing files that changed from the base of the PR and between 1c3cf6a and 2991a38.

Files selected for processing: 12

  • README.md
  • cloudflare/src/github/service.ts
  • quest/m2/README.md
  • quest/m2/legacy-labels.md
  • src/cli/hold.ts
  • src/cli/main.ts
  • src/core/hold.ts
  • src/core/index.ts
  • test/hold-policy.test.ts
  • test/hold.test.ts
  • test/land-watch.test.ts
  • test/status.test.ts
  • 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

@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 head 2991a38 against base 1c3cf6a.

No actionable findings. The two-label policy is shared by CLI and Worker consumers, and acquisition refuses a token naming kix's hold before making label writes. The named rind and rust2 Quest pins both contain #326, matching the deleted quest's remaining prerequisite. Direction: the narrower hold policy and removal of the legacy token swap fit the stated goal; no revision suggested.

Verification: GitHub-only static review of the changed files, hold callers, tests and relevant commit history. No tests or live GitHub label races were executed. quest context and quest guide were read from their base-revision sources rather than run.

(Written by review (OpenAI))

@kixelated
kixelated added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit 6b6ce22 Nov 7, 2026
22 checks passed
@kixelated
kixelated deleted the quest/m2/legacy-labels branch November 7, 2026 19:58
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