fix(synthesis): enforce non-empty provenance + fix gap lead + clean index docstring
- Lead.__post_init__: raises ValueError on empty provenance list - find_gaps: no-chunk path now carries topic-marker Provenance instead of [] - _update_index: docstring corrected (rebuilds, not append-only) - test_model: test_lead_empty_provenance_raises covers the new invariant Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,19 @@ def test_lead_missing_provenance_field_raises() -> None:
|
||||
)
|
||||
|
||||
|
||||
def test_lead_empty_provenance_raises() -> None:
|
||||
"""Constructing Lead with empty provenance list raises ValueError."""
|
||||
with pytest.raises(ValueError, match="at least one Provenance"):
|
||||
Lead(
|
||||
id="L-0004",
|
||||
kind="connection",
|
||||
title="x",
|
||||
body="y",
|
||||
provenance=[],
|
||||
confidence=0.5,
|
||||
)
|
||||
|
||||
|
||||
def test_lead_id_format_helper() -> None:
|
||||
"""The internal _make_lead_id helper produces zero-padded L-XXXX strings."""
|
||||
from codex.synthesis import _make_lead_id
|
||||
|
||||
Reference in New Issue
Block a user