WILLOSCAR avatar

dedupe-rank

Dedupe and rank a raw paper set (`papers/papers_raw.jsonl`) to produce `papers/papers_dedup.jsonl` a

by WILLOSCAR|Open Source

Dedupe + Rank

Turns a raw candidate pool into a deduped pool and a stable core set.

Input

  • papers/papers_raw.jsonl

Outputs

  • papers/papers_dedup.jsonl
  • papers/core_set.csv

Script boundary

scripts/run.py should own only:

  • title/year deduplication
  • deterministic ranking
  • stable paper_id generation

Use shared domain packs or pipeline contract metadata for topic-specific or product-specific behavior.

Contract-driven behavior

The script should prefer pipeline contract metadata over profile-name branching.

Current important field:

  • quality_contract.candidate_pool_policy.keep_full_deduped_pool
  • quality_contract.candidate_pool_policy.include_domain_pins
  • quality_contract.candidate_pool_policy.minimum_domain_surveys
  • quality_contract.candidate_pool_policy.survey_title_bonus

If true, the script keeps the full deduped pool in papers/core_set.csv unless the user explicitly overrides core size. Focused briefing Workflows can disable unconditional domain pins, reserve a smaller survey floor, and remove the generic survey-title bonus without changing broad Survey defaults.

Acceptance

  • deduped JSONL exists
  • core-set CSV exists
  • reruns are stable for the same inputs

Non-goals

  • retrieval
  • screening
  • manual topic authoring inside the script