Skip to content

refactor(rebuild): inject cancellable runner - #120

Merged
pablontiv merged 4 commits into
mainfrom
refactor/rebuild-runner
Oct 7, 2026
Merged

pablontiv merged 4 commits into
mainfrom
refactor/rebuild-runner

Conversation

@pablontiv

@pablontiv pablontiv commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Related to #48

Resumen

  • El runner recibe dependencias concretas por raíz.
  • El contexto del comando controla las fases FTS, backfill, fallback y registry.
  • El cambio elimina los globals mutables de rebuild.
  • El comando propaga todos los errores de escritura.
  • La salida de error o cancelación conserva el prefijo exacto de las fases iniciadas.
  • El comando libera el lease de mutación una sola vez.
  • El rebuild conserva search_items como fuente perenne.
  • Dos runners pueden operar en paralelo sin contaminación cruzada.
  • syncTransactionGate normaliza un rollback completado solo cuando la cancelación gana.
  • El gate conserva el mismo error de rollback cuando no existe cancelación.
  • La prueba SQLite confirma la cancelación de la escritura, el rollback automático y cero filas parciales.
  • AGENTS.md documenta el routing separado de messages_fts y tool_fts.
  • El rebuild FTS no usa el comando genérico 'rebuild'.

Validación

  • just ci pasó con 85.1% de cobertura total.
  • go test -race -count=1 -timeout=240s ./cmd/backscroll pasó.
  • go test -race ./internal/storage pasó.
  • El hook pre-push y su CI pasaron.
  • La revisión independiente dio ACCEPT.

@pablontiv
pablontiv merged commit 494ee3c into main Oct 7, 2026
14 checks passed
@pablontiv
pablontiv deleted the refactor/rebuild-runner branch October 7, 2026 15:37
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