fix(synthesis): make coverage-map gaps opt-in (audit R-8)
find_gaps defaulted its probe topics to paper titles, so a title — which retrieves mostly its own single bibkey — fell below synthesis_gap_min_coverage and flagged almost every paper as a 'gap'. Coverage-map gaps now run only for explicitly-requested topics; the CLI gains a repeatable --topic option. The code-vs-corpus gap path (precise) is unchanged and still default. Tests: the two cases that relied on default-title coverage gaps now pass explicit topics; added a regression that no coverage gaps appear without --topic. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
12
codex/cli.py
12
codex/cli.py
@@ -422,7 +422,15 @@ def synthesis_leads(
|
||||
"--lib-path",
|
||||
help=(
|
||||
"Path to a C++ source tree. Enables improvement leads (@cite-aware) and "
|
||||
"code-vs-corpus gap detection. Without it only connection + topic gaps run."
|
||||
"code-vs-corpus gap detection."
|
||||
),
|
||||
),
|
||||
topic: list[str] | None = typer.Option( # noqa: B008
|
||||
None,
|
||||
"--topic",
|
||||
help=(
|
||||
"Topic to check for coverage gaps (repeatable). Opt-in: without --topic "
|
||||
"no coverage-map gaps run (avoids per-paper false positives, audit R-8)."
|
||||
),
|
||||
),
|
||||
output_dir: Optional[str] = typer.Option( # noqa: UP045
|
||||
@@ -444,7 +452,7 @@ def synthesis_leads(
|
||||
llm = default_llm_client()
|
||||
|
||||
connections = find_connections(top_k=settings.synthesis_top_k, llm=llm)
|
||||
gaps = find_gaps(lib_path=lib_path, llm=llm)
|
||||
gaps = find_gaps(lib_path=lib_path, llm=llm, topics=topic or None)
|
||||
improvements = (
|
||||
find_improvements(lib_path, top_k=settings.synthesis_top_k, llm=llm) if lib_path else []
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user