Skip to content

fix: Scribe makes a board move it couldn't check on a later tick, from where it meant it - #112

Merged
sloweyyy merged 1 commit into
mainfrom
fix/scribe-retries-a-move-it-could-not-check
Oct 8, 2026
Merged

sloweyyy merged 1 commit into
mainfrom
fix/scribe-retries-a-move-it-could-not-check

Conversation

@sloweyyy

@sloweyyy sloweyyy commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Fixes R7-6 from the review of #102–#104.

The bug. Since #104, moveTo doesn't move a ticket whose live status it couldn't read, so it never overrides a column a person just chose. But the skipped move was never retried:

  • A drag to Approved by someone who can't approve was refused ("couldn't tell who approved"), but the move back to In Review hit a failed read.
  • The ticket stayed in Approved, and the end of the tick recorded Approved as the baseline.
  • No later tick judged it or moved it, so the board kept saying an approval had counted.

The fix

  • A move whose status read fails, or whose transition fails, is kept in the ledger as pendingMove: { to, from }. from is the column the agent meant to move it from.
  • At the start of each tick, before the "nothing changed" gate, a pending move is made if the ticket is still in from, and dropped once someone has moved it elsewhere.
  • Any later move that settles clears it. Nothing is ever moved blind.

Evals (jira-board, with new hooks that fail the next issue read or transition):

  • A refused board move whose read failed is put back on the next tick.
  • The same when the transition failed. Neither repeats the refusal or publishes.
  • A move that was put off is dropped once a person moves the ticket on.

4 new mutants, 2 repointed (408). All context.ts mutants are red.

Gate: typecheck clean, 779 evals passed.

Co-Authored-By: Truong Le Vinh Phuc truonglevinhphuc2006@gmail.com

…m where it meant it

From review R7 of #104: when the status read before a move failed, the move was skipped
and never retried. A drag to Approved by someone who can't approve was refused, but stayed
in Approved, and the end of the tick took that as the baseline. The board said an approval
had counted.

A move whose status read, or whose transition, fails is now kept with the column it was
meant from. A later tick makes it while the ticket is still there, and drops it once
someone has moved the ticket on. It is still never moved blind.

Co-Authored-By: Truong Le Vinh Phuc <truonglevinhphuc2006@gmail.com>
@vercel

vercel Bot commented Oct 8, 2026

Copy link
Copy Markdown

Deployment failed for project scriptorium with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/sloweyyy?upgradeToPro=build-rate-limit

@sloweyyy
sloweyyy merged commit 24064c2 into main Oct 8, 2026
1 of 2 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