Repository navigation
chore(deps): alchemy beta.81, DO schema migrations, durable relay jobs - #1263
Merged
Merged
Maple Review Bot / Maple / review
succeeded
Oct 5, 2026 in 2m 49s
Confidence 4/5 · No issues found
🟢 Confidence 4/5 · likely safe to merge
F3's fix is proven by a test that fails without it; the job/callback paths still have no workerd coverage.
quality 100/100 · no findings · tests covered · risk medium · 1/2 new units observable
The alarm scan is replaced by alchemy callback jobs committed with each checkpoint, and the ChatSession schema moves to embedded SQL migrations. F3 is fixed at this head and I found no new defect in the changed files.
ConnectorRelaywrites a checkpoint and itsrelay-turnjob in one storage transactionturnDue/keepAliveDuereplace the alarm scan and thegetAlarm/setAlarmrace- A failed
forgetdrops the key fromrelayingso the surviving job settles the turn - Activation reschedules every stored
turn:checkpoint
Fixed since the last review
- ✅
F3 · A turn the relay fails to forget is revisited forever instead of settled
What was checked
turnDuecannot settle a live turn: the key stays inrelayinguntil the turn ends, so the job only callsrevisit(ConnectorRelay.ts:199)- The regenerated alchemy patch carries the same added/removed lines as beta.80's, reindented only (dumped both with
git showand diffed) - An orphaned checkpoint self-heals: activation schedules a job for every stored
turn:key (ConnectorRelay.ts:483)
Observability coverage: 1 of 2 changes observable
| Change | Kind | Observable | Evidence |
|---|---|---|---|
| relay-turn callback job | background job | yes | run.ts:45 Effect.fn("chat_bot.settle_turn") spans the unit of work; run.ts:310 flushes telemetry |
| relay-keep-alive callback job | background job | no | keepAliveDue only re-arms or lapses; no span or log |
7b94e3d · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.
Loading