Merge pull request 'fix: address post-merge review MEDIUM items for 3-lang depth (anti-unifier fallback, depth filter)' (#3) from feat/3lang-depth-proposition-graph-unification into main
Some checks failed
lane-shas / verify pinned lane SHAs (push) Failing after 13m20s
full-pytest / full pytest (-m "not quarantine" -n 2) (push) Failing after 21m20s

This commit is contained in:
Joshua Matthew-Catudio Shay 2026-07-08 15:33:37 +00:00
commit eb846e1ec1
2 changed files with 6 additions and 12 deletions

View file

@ -272,18 +272,12 @@ def recognize(
value, evidence = _lift_slot(slot, original_tokens, span)
feature_evidence[slot.feature_name] = (value, evidence)
# 3-lang root form for agent in proposition when depth (nid-keyed via agent_node_id if given; proof of canonical match).
# Uses canonicalize_token for consistency with derive path; no mutation.
if depths and 'agent' in feature_evidence:
# 3-lang root form for agent in proposition when depth (nid-keyed via agent_node_id).
# Only applied when explicit nid is provided (primary pipeline path always does).
# Without nid we do not guess a root (avoids unrelated root in proposition).
if depths and 'agent' in feature_evidence and agent_node_id and agent_node_id in depths:
val, ev = feature_evidence['agent']
nid = agent_node_id
if nid and nid in depths:
val = canonicalize_token(str(val), nid, depths)
else:
for d in depths.values():
if d.get('language') in ('he', 'grc') and d.get('root'):
val = d['root']
break
val = canonicalize_token(str(val), agent_node_id, depths)
feature_evidence['agent'] = (val, ev)
proposition = FeatureBundle.from_mapping(feature_evidence)

View file

@ -86,7 +86,7 @@ def build_node_depths(nodes: Sequence[Any]) -> dict[str, dict]:
}.items() if v is not None
}
for n in nodes
if getattr(n, "language", None) or getattr(n, "root", None)
if getattr(n, "language", None) in ("he", "grc") or getattr(n, "root", None)
}