fix(curate): filter no rechaza papers accepted (ADR 0044, #233)#257
Open
complexluise wants to merge 6 commits into
Open
fix(curate): filter no rechaza papers accepted (ADR 0044, #233)#257complexluise wants to merge 6 commits into
complexluise wants to merge 6 commits into
Conversation
`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
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumen
Cierra el footgun invisible de #233:
curate filter(criterio PRISMA) reclasificaba arejectedpapers que el investigador había marcadoaccepteda mano, sin aviso. Ahora la inclusión manual gana: el filtro nunca mueve unaccepted→rejected(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
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 endev.)filters/prisma.py— el guard deids_to_rejectahora omiteACCEPTEDademás deREJECTED.acceptedque no cumple → sigueaccepted;candidateque no cumple →rejected.API.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 passeduv run ruff format --check .→ 151 files already formatteduv run mypy src→ Success: no issues found in 81 source filesuv run pytest→ 1215 passed, 1 skipped, 5 deselectedPlan 0.12.0 (Nota 29)
acceptedmanuales sin avisar (footgun) #233 (este PR), feat(ax): Agentic Experience operando b2g 0.10.0 — caso de uso + fricciones (backward chain, co-citación, footguns invisibles) #204 P1, feat(cli): gruporead(ADR 0037) — list/stats/top/show + último kilómetro de síntesis #221, feat(cli)!: poda 0038 + cierre de la ventana de deprecación (breaking) #207Difiere: #256 multi-proveedor, #205 colaboración Git, #245 back-merge CI.
Closes #233
Refs #196, #204, #207, #221, #203, #188, #193, #187, #208