fix: migrate missed _resolve_value callsites in _build_compare_additive + dual-unit extractor
Two remaining sites that used _resolve_value() as a raw numeric operand: 1. _build_compare_additive (line 924): `delta_value = _resolve_value(delta_value_raw)` passed a _ResolvedValue to Quantity, swallowed by the try/except — caused 7 G.2 additive-comparative tests to silently return zero candidates. 2. Dual-unit initial extractor (line 1385): `_resolve_value(value_raw).value` with type: ignore — replaced with explicit rv = ...; if rv is None: return [] pattern for clarity. Regenerates G2 comparatives report.json (24/24 pass, wrong=0 unchanged).
This commit is contained in:
parent
5853b189b2
commit
3587d5c4d7
1 changed files with 9 additions and 3 deletions
|
|
@ -921,8 +921,11 @@ def _build_compare_additive(
|
||||||
reference_canon, reference_head = _resolve_reference_token(reference_raw)
|
reference_canon, reference_head = _resolve_reference_token(reference_raw)
|
||||||
if reference_canon == actor:
|
if reference_canon == actor:
|
||||||
return None # self-reference; constructor would refuse anyway
|
return None # self-reference; constructor would refuse anyway
|
||||||
delta_value = _resolve_value(delta_value_raw)
|
rv = _resolve_value(delta_value_raw)
|
||||||
unit = _canonicalize_unit(unit_raw)
|
if rv is None:
|
||||||
|
return None
|
||||||
|
delta_value = rv.value
|
||||||
|
unit = rv.unit_override if rv.unit_override is not None else _canonicalize_unit(unit_raw)
|
||||||
try:
|
try:
|
||||||
op = Operation(
|
op = Operation(
|
||||||
actor=actor,
|
actor=actor,
|
||||||
|
|
@ -1377,12 +1380,15 @@ def _conj_object_candidates(sentence: str) -> list[CandidateInitial]:
|
||||||
(v1_raw, u1_raw, u1),
|
(v1_raw, u1_raw, u1),
|
||||||
(v2_raw, u2_raw, u2),
|
(v2_raw, u2_raw, u2),
|
||||||
):
|
):
|
||||||
|
rv = _resolve_value(value_raw)
|
||||||
|
if rv is None:
|
||||||
|
return []
|
||||||
try:
|
try:
|
||||||
out.append(
|
out.append(
|
||||||
CandidateInitial(
|
CandidateInitial(
|
||||||
initial=InitialPossession(
|
initial=InitialPossession(
|
||||||
entity=entity,
|
entity=entity,
|
||||||
quantity=Quantity(value=_resolve_value(value_raw).value, unit=unit), # type: ignore[union-attr]
|
quantity=Quantity(value=rv.value, unit=unit),
|
||||||
),
|
),
|
||||||
source_span=sentence,
|
source_span=sentence,
|
||||||
matched_anchor=anchor,
|
matched_anchor=anchor,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue