Skip to content

fix(curate): filter no rechaza papers accepted (ADR 0044, #233)#257

Open
complexluise wants to merge 6 commits into
devfrom
feat/233-curate-precedencia-manual
Open

fix(curate): filter no rechaza papers accepted (ADR 0044, #233)#257
complexluise wants to merge 6 commits into
devfrom
feat/233-curate-precedencia-manual

Conversation

@complexluise

@complexluise complexluise commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Resumen

Cierra el footgun invisible de #233: curate filter (criterio PRISMA) reclasificaba a rejected papers que el investigador había marcado accepted a mano, sin aviso. Ahora la inclusión manual gana: el filtro nunca mueve un acceptedrejected (actúa solo sobre no-aceptados).

Suma la Nota 29 con el plan 0.12.0 completo (3 olas + sinergias + decisiones del PO).

Cambios

Fix #233

  • ADR 0044 (Aceptada) — precedencia de inclusión manual en curate; precisa 0020 §C sin revertirlo. (Renumerado de 0043 por colisión con el ADR de docs(adr): 0043 posiciona el contrato agent-native del CLI #248 ya en dev.)
  • fix en filters/prisma.py — el guard de ids_to_reject ahora omite ACCEPTED además de REJECTED.
  • tests de regresión — accepted que no cumple → sigue accepted; candidate que no cumple → rejected.
  • docsAPI.md §curate + notas de contrato del ADR 0020.

Nota 29

  • docs/Notas/29-backlog-sinergias-plan-0_12_0.md — nota de planificación (no ADR ni doc canónico) con el mapa del backlog, las 5 sinergias detectadas, las decisiones del PO y el orden de merge propuesto para 0.12.0. Sirve de base para abrir sub-issues y escribir la ADR 0045 paraguas.

Validación local

  • uv run ruff check . → All checks passed
  • uv run ruff format --check . → 151 files already formatted
  • uv run mypy src → Success: no issues found in 81 source files
  • uv run pytest → 1215 passed, 1 skipped, 5 deselected

Plan 0.12.0 (Nota 29)

Difiere: #256 multi-proveedor, #205 colaboración Git, #245 back-merge CI.

Closes #233
Refs #196, #204, #207, #221, #203, #188, #193, #187, #208

complexluise and others added 5 commits June 30, 2026 19:09
`curate filter` (criterio PRISMA) nunca mueve un paper `accepted`→`rejected`:
la inclusión manual gana sobre el criterio automático. Cierra el footgun
invisible de #233 (reclasificación silenciosa de decisiones humanas).
Precisa 0020 §C (acota el scope del filtro, sin revertir el marcado
`rejected`-no-borra). Relaciona 0016/0037/0022. Deja el `--force` como
evolución futura, no decidido.

Refs #233
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`apply_filter` excluía solo los ya-`rejected` del set a rechazar; un paper
`accepted` a mano que no cumplía el criterio PRISMA pasaba a `rejected` sin
aviso (footgun invisible #233). Ahora el guard también omite `ACCEPTED`: la
inclusión manual gana sobre el criterio automático. Sin cambios en el
marcado rejected-no-borra ni en el conteo PRISMA.

Tests de regresión en TestApplyFilterPrecedenciaInclusionManual: accepted
que no cumple → sigue accepted; candidate que no cumple → rejected.

Closes #233
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
§curate y las notas de contrato del ADR 0020 ahora declaran que el filtro
PRISMA nunca mueve un paper `accepted`→`rejected` (la inclusión manual gana);
el conteo por paso aclara que los `accepted` no abandonan el conjunto
no-rejected por efecto de un filtro.

Refs #233
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mientras esta rama acumulaba, #248 mergeó a dev un ADR numerado 0043
(contrato agent-native). Este ADR pasa a 0044 para no romper la numeración
correlativa. Solo cambia el número: archivo, título, índice y refs en
prisma.py/API.md/tests.
…encia-manual

# Conflicts:
#	docs/decisiones/README.md
@complexluise complexluise added this to the 0.12.0 milestone Jul 1, 2026
Nota de planificación que mapea el backlog vivo (10 issues en milestone
0.12.0 + backlog sin milestone), detecta 5 sinergias (grietas agent-native,
cerrar el lazo, salida amable, skill multi-proveedor, docs no-técnicas) y
consolida el plan 0.12.0 en 3 olas validadas con el PO:

  Ola 1 — cerrar el lazo (#233 #204 #221 #207)
  Ola 2 — agent-native real (#258 #259 #260 + ADR 0045 paraguas)
  Ola 3 — salida amable + skill multi-proveedor + docs (#203 #193 + ADR 0046)

Difiere #256 multi-proveedor, #205 colaboración Git, #245 back-merge CI
(toil manual documentado).

Refs #233 (la nota documenta el plan que este fix habilita)
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.

curate filter pisa decisiones accepted manuales sin avisar (footgun)

1 participant