MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-3718

Planning bug: MOTIR-3230 deferred its filing-time limb with NO card — the prerequisite has since landed, and the duplicate that limb exists to prevent was filed two hours later

Done
Description

Repo · motir-meta. Found by motir run MOTIR-3715, which halted on the duplicate this limb would have prevented.

The orphaned deferral

MOTIR-3230 widened validate_work_item's subsumption advisory to see OPEN pull requests, not only merged ones. It is done. Its own body then defers the other half, verbatim, under a "Not in scope" heading:

"The filing-time call — having log-bug.md run validate_work_item (or a path lookup) before it writes a bug card — is the prose limb that consumes this one. It is deliberately left out: it is a motir-meta change and this card is pinned to motir-core (ONE SUBTASK = ONE REPO = ONE PR). Once criterion 1 lands there is something for the protocol to call; today there is not."

The repo split was correct. The deferral named no card, which plan-rules/core.md's a deferral is a card rule forbids — and the sentence that defers it is the one that also states its own release condition. That condition is now met: criterion 1 landed, MOTIR-3230 is done, and nothing was ever filed. search_work_items for log-bug returns 36 items and none of them is this limb.

What it cost, 7 days later

MOTIR-3713 was filed 2026-08-27T15:35:23Z for MOTIR-1135's re-consent regression on main. MOTIR-3715 was filed 17:16:29Z — 1 h 41 m later, by a second session, for the identical defect: same root cause (usersService.createUser bypasses better-auth's user.create.after), same settleOnHome timeout, same two candidate remedies, no cross-reference either way. Its run claimed it at 20:12Z and halted; MOTIR-3713's fix had merged at 20:01:02Z.

The filing pass had everything it needed and asked nothing. MOTIR-3713's card had existed for 101 minutes and its title carries this card's own subject nearly word for word ("The re-consent gate bounces every E2E signIn to /re-consent — the acceptance lane is RED on main"). This is not the hard case MOTIR-3230 was about — an open PR invisible for 84 minutes — it is the easy one: an existing CARD, findable by a one-line text search, that nothing in the protocol asks for.

And the duplicate is not adjacent to its twin

Worth stating because it is why "look at the siblings" cannot substitute. Both sessions applied log-bug.md's parent rule correctly and landed in different places: MOTIR-3713 under Story MOTIR-657 (8.4 Legal — the gate's own story), MOTIR-3715 under Epic MOTIR-653 directly (the epic the finding session was working in). A correct routing rule is exactly what puts one card's duplicate out of the other's sibling set, so the search has to be over the whole project, not scoped to a parent.

Acceptance criteria

  1. (motir-meta) log-bug.md's pre-file step requires a project-wide prior-art read before a bug card is written — search_work_items on the defect's own words plus validate_work_item's subsumption advisory, which now answers for OPEN pull requests as well as merged ones — and says what to do on a hit: add the evidence to the existing card as a comment, and do not file a second.
  2. (motir-meta) The step states that the read is project-wide, never scoped to the parent the new bug would hang under, with the reason: two sessions applying the parenting rule correctly to one defect route it to different parents.
  3. (motir-meta) It names the surfaces a tracker read cannot reach and is cheapest first — local worktrees and remote branches (git worktree list, git branch -r), then pull requests in every state — because a fix branch can exist before any card or PR does.
  4. (motir-meta) MOTIR-3230's "Not in scope" paragraph is amended to cite this card by key, so the deferral is discharged where it was made and a reader of that card is not left re-deriving whether the limb exists.
  5. The rule is added, not re-worded around: no existing log-bug.md sentence changes meaning (plan-rules/plan-rules-additions-not-rewordings discipline), and the addition is one place, not mirrored into run.md.

Not in scope

Widening the advisory further — to a sibling card at implemented on an unpushed branch — is a motir-core change and a different mechanism; it is already described on MOTIR-3230 and is not re-opened here.

Context refs

  • MOTIR-3230 — the card that shipped the advisory half and deferred this one
  • MOTIR-3715 / MOTIR-3713 — the duplicate pair that measures the cost
  • motir-meta/prompts/log-bug.md — the pre-file step
  • motir-meta/prompts/plan-rules/core.mda deferral is a card