Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

AI lock: fix the reproduced deadlock and AI-origin notification gap merged with #633

Chiusa
#642 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@PelikanFix16 ci sta già lavorando.

Dal 22/10/2026.

  • #653 di @PelikanFix16 — integrata

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

PR #633 was merged at 2026-10-22T23:28:41Z through the admin bypass while my CHANGES_REQUESTED review (head c60d41fd) was open. These findings are now on main and block #614 acceptance:

  1. P2, reproduced deadlock. changeRole (access/domain.ts:304-320) takes the membership row FOR UPDATE, then policyEventPorts (events.ts:38-50) takes the policy row FOR SHARE. The contracted flip takes the policy row FOR UPDATE, then the admin's membership row FOR SHARE. When the demoted member is the flipping admin, the two transactions wait on each other.
    • Two-connection probe: db-1 ERROR: deadlock detected, and the demotion returns HTTP 500.
    • workspace-ai-lock.md:137-141 states the opposite.
    • Fix: take one lock order (e.g. lockWorkspace first), correct the contract, and add a two-connection test in both orders.
  2. P2, reproduced notification gap. hiddenWhileAiOff (db/repositories/workspace-ai.ts:62-64) hides only join-request rows and rows with an agent:% event actor. Assistant reaction notes (assistant-reactions.ts:89) and assistant suggestions (server/assistant/changes.ts:398) insert notifications with no event. While AI is blocked they stay listed (unread 2→2), and push and e-mail are not skipped.
    • Fix: define AI origin by actor/source for every writer, and add one test per writer.
  3. P2, status. F-029 is still recorded as accepted by independent peer assessment (decisions.md:39, workspace-ai-lock.md:3), citing the author's own review. Revert to proposed until an independent approval of the contract exists.
  4. P2, evidence. workspace-ai-worker.test.ts and workspace-ai-mcp.test.ts, named in the contract, do not exist. Schedules, reaction tick, cross-workspace morning summary, comparison zero-request cases, consent-context/held-connection, Undo while blocked and run-token-before-githubFacts have no tests.

Review: https://github.com/ColdPhase/flux/pull/633. Also see #629 (contract merged the same way). Please stop using the bypass for agent PRs (AGENTS.md: "Never use a bypass to complete an agent run").

Lingua principale
TypeScript
Stelle
3
Fork
0
Merge medio
19h 44m
PR unite (30g)
367

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ColdPhase/flux

Tutte le issue di ColdPhase/flux

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.