fix(F-15): address Opus review findings (CRITICAL + WARN)
CRITICAL: - cli.py: invert cite-boost formula: divide distance by (1 + alpha*pr) instead of multiply — high-PageRank papers now correctly rank higher - cli.py: wire graph_min_corpus_size config into graph report; warning emitted to stderr so JSON stdout stays parseable WARN: - graph.py: document that damping is ignored in small-graph uniform branch - cli.py: sort dangling citations before slicing for stable output - cli.py: replace raise typer.Exit(0) with return in empty-graph path - tests: fix *extra_args helper signatures; add cite-boost ordering test and small-corpus warning test Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -64,9 +64,13 @@ def citation_pagerank(graph: nx.DiGraph, *, damping: float = 0.85) -> dict[str,
|
||||
-------
|
||||
``{paper_id: score}`` dict. Scores sum to approximately 1.0.
|
||||
|
||||
When ``graph`` has fewer than :data:`_MIN_PAGERANK_NODES` nodes,
|
||||
returns a uniform distribution and logs a warning — the signal is
|
||||
too thin to be meaningful.
|
||||
When ``graph`` has fewer than :data:`_MIN_PAGERANK_NODES` (5) nodes,
|
||||
returns a uniform distribution and logs a warning — the graph is too
|
||||
sparse for the random-walk model to converge meaningfully. The
|
||||
``damping`` parameter is ignored in this branch. The user-facing
|
||||
corpus-size threshold (default 15) lives in
|
||||
:attr:`codex.config.Settings.graph_min_corpus_size` and is surfaced
|
||||
by ``codex graph report``.
|
||||
"""
|
||||
n = graph.number_of_nodes()
|
||||
if n == 0:
|
||||
|
||||
Reference in New Issue
Block a user