Skip to content

feat: require quests in Required; add deprioritize to quest-spawn - #28

Merged
kixelated merged 3 commits into
mainfrom
feat/gates
Sep 30, 2026
Merged

kixelated merged 3 commits into
mainfrom
feat/gates

Conversation

@kixelated

@kixelated kixelated commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Problem

A plain-text Required bullet is a condition outside the repository. The guide said to check periodically whether it had cleared, but nothing did. A blocked quest drops out of every quest ready listing, so these conditions get forgotten: moq-dev/moq's 2026-09-30 audit found two gates that had already cleared unnoticed (#4428, #4364).

This PR first added quest gates to list those bullets. It now takes the other approach: plain-text blockers are not allowed at all.

Change

  • quest check rejects any Required entry that doesn't open with a link to a quest document. That includes plain text, issue or release URLs, and non-quest files. The error is requires X, which is not a quest document; make an outside condition its own quest.
  • The guide says anything waiting on an outside party or a human action is its own quest. Its Goal names the condition and how to check or advance it, and the quest is deleted once the condition clears. Because it stays ready, it resurfaces at every /quest-spawn instead of stalling in the backlog.
  • /quest-spawn checks whether an outside condition has cleared before making a recommendation. It also gains a deprioritize option (start, plan, skip, deprioritize, delete), which /quest-plan carries out.
  • quest gates and its supporting refactor are removed, because a valid tree has no gates left to list.

Decisions

What does "deprioritize" do?

  • Next milestone
  • Bottom of its list
  • ✅ Leave it vague: /quest-plan decides

How does spawn land it?

  • One batched PR
  • ✅ Via /quest-plan

Migration

Trees with plain-text Required bullets fail quest check after upgrading. moq-dev/moq has 14 of them, and each needs to become its own quest before moq bumps quest.

Validation

just check and just test pass (77 tests). The tests cover rejecting a plain-text condition, a wrapped bullet, and an external issue link. Fixtures that used plain-text bullets now link quests.

🤖 Generated with Claude Code

(written by Claude Opus 5.5)

Prints every plain-text Required bullet, a condition outside the
repository, indented under the quest it blocks, in tree order and across
line branches on the remote. The CLI stays offline: judging whether a
gate cleared stays with the agent. The guide and quest-audit point at it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review September 30, 2026 15:37
@kixelated

Copy link
Copy Markdown
Owner Author

Merge summary

Changes: added quest gates [<path>] [--remote origin | --local]. It lists every plain-text Required bullet under the quest it blocks, in tree order, including gates on questline branches. ready and gates now share one tree-order walk. The guide and quest-audit point to the new command, and the README documents it.

Decisions:

  • A new subcommand rather than a flag on ready.
  • Grouped, indented output.
  • Both the audit skill and the guide mention it. The CLI only prints the list; the agent decides whether a gate has cleared.

Review: reviewed by the maintainer. CI is green.

Follow-ups: none. moq picks this up on its next routine quest bump.

(written by Claude Opus 5.5)

kixelated and others added 2 commits September 30, 2026 11:06
An outside condition written as a plain-text Required bullet hides the
quest it blocks from every ready listing, so it is forgotten. It is now
its own quest, which stays ready and resurfaces every triage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	assets/AGENTS.md
#	src/ready.rs
@kixelated kixelated changed the title feat: add quest gates to list plain-text Required conditions feat: require quests in Required; add deprioritize to quest-spawn Sep 30, 2026
@kixelated

Copy link
Copy Markdown
Owner Author

Repurposed. Plain-text Required bullets are now rejected, and every outside condition becomes its own quest, so quest gates is removed. The earlier merge summary no longer applies; the PR description is current. Migration note: moq-dev/moq's 14 gates must become quests before it bumps quest.

(written by Claude Opus 5.5)

@kixelated
kixelated merged commit 6529359 into main Sep 30, 2026
7 checks passed
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