Fixed
entity_types= was guidance only, not enforced: if the model returned a type outside the caller-supplied list (even with prompt guidance nudging it toward that list), the out-of-vocabulary type was accepted as-is.
Now enforced: any type not in entity_types= is coerced to "UNKNOWN", the same value regex-extracted entities already use when there's no reliable type available — consistent behavior, not a new special case. Enforcement only applies when entity_types= is actually set; without it, any type the model returns is still accepted as-is (unchanged default).
Verified
Regression test added first, confirmed failing (assert 'Employee' == 'UNKNOWN'), then confirmed passing after the fix. A second regression-guard test confirms the unchanged default behavior (no entity_types= set) still accepts any type.
Full suite: 84 passed, 1 skipped (unrelated), zero regressions.
PyPI: https://pypi.org/project/ragleap-graph/0.6.3/
Full CHANGELOG: https://github.com/antonyrag/ragleap-core/blob/main/packages/ragleap-graph/CHANGELOG.md