Skip to content

feat(screening): add global top-percent selection for deep analysis#7

Merged
spignotti merged 1 commit intomainfrom
feat/global-screening-selection
Mar 23, 2026
Merged

feat(screening): add global top-percent selection for deep analysis#7
spignotti merged 1 commit intomainfrom
feat/global-screening-selection

Conversation

@spignotti
Copy link
Copy Markdown
Owner

Summary

  • add configurable screening selection modes in settings:
    • top_percent (default)
    • top_k
    • threshold
  • default deep-analysis selection now uses screening_top_percent = 0.3
  • refactor stage-4 analysis to screen first, then select globally by ranked screening results
  • keep threshold mode supported for backward compatibility
  • add deterministic tie-breaking for global selection (score, citation count, year, then original order)
  • update example config with new screening-selection settings
  • expand screening tests to cover:
    • top-percent selection
    • top-k selection
    • threshold mode
    • invalid top-percent validation
    • existing no-abstract behavior

Why

A static threshold can over/under-select depending on topic difficulty and candidate quality. Global top-percent selection makes deep-analysis volume adaptive while preserving a simple global workflow.

Validation

  • uv run nox -s lint typecheck test
  • all sessions passed
  • tests: 28 passed

Introduce configurable screening selection modes (top_percent, top_k,
threshold) with top_percent defaulting to 30%. Refactor analysis stage
to rank screened papers globally before deep analysis and add tests for
mode behavior, tie-breaking, and config validation.
@spignotti spignotti merged commit 6cd98f0 into main Mar 23, 2026
2 checks passed
@spignotti spignotti deleted the feat/global-screening-selection branch March 23, 2026 16:58
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