Fix test_holonomy_resonance: unpack (manifold, id_map) from compile_entries_to_manifold

compile_entries_to_manifold now returns a 2-tuple; the test that calls
it directly must unpack [0] to get the VocabManifold before calling
.get_versor().
This commit is contained in:
Shay 2026-05-13 15:41:18 -07:00
parent db7eabd62f
commit eeb9a69f69

View file

@ -19,9 +19,9 @@ def test_aligned_clauses_have_higher_similarity_than_unrelated():
_, grc = load_pack("grc_logos_micro_v1")
en_clause = _encode(en, ["word", "beginning", "with", "truth"])
he_clause = _encode(he, ["דבר", "ראשית", "אמת"])
grc_clause = _encode(grc, ["λόγος", "ἀρχή", "ἀλήθεια"])
grc_unrelated = _encode(grc, ["λόγος", "ἀρχή", "ζωή"])
he_clause = _encode(he, ["\u05d3\u05d1\u05e8", "\u05e8\u05d0\u05e9\u05d9\u05ea", "\u05d0\u05de\u05ea"])
grc_clause = _encode(grc, ["\u03bb\u03cc\u03b3\u03bf\u03c2", "\u1f00\u03c1\u03c7\u03ae", "\u1f00\u03bb\u03ae\u03b8\u03b5\u03b9\u03b1"])
grc_unrelated = _encode(grc, ["\u03bb\u03cc\u03b3\u03bf\u03c2", "\u1f00\u03c1\u03c7\u03ae", "\u03b6\u03c9\u03ae"])
aligned = (np.linalg.norm(en_clause - he_clause) + np.linalg.norm(en_clause - grc_clause)) / 2.0
unrelated = np.linalg.norm(en_clause - grc_unrelated)
@ -35,16 +35,16 @@ def test_triple_alignment_closer_than_other_triples():
aligned_score = np.mean(
[
cga_inner(en.get_versor("word"), he.get_versor("דבר")),
cga_inner(en.get_versor("word"), grc.get_versor("λόγος")),
cga_inner(he.get_versor("דבר"), grc.get_versor("λόγος")),
cga_inner(en.get_versor("word"), he.get_versor("\u05d3\u05d1\u05e8")),
cga_inner(en.get_versor("word"), grc.get_versor("\u03bb\u03cc\u03b3\u03bf\u03c2")),
cga_inner(he.get_versor("\u05d3\u05d1\u05e8"), grc.get_versor("\u03bb\u03cc\u03b3\u03bf\u03c2")),
]
)
misaligned_score = np.mean(
[
cga_inner(en.get_versor("word"), he.get_versor("ראשית")),
cga_inner(en.get_versor("word"), grc.get_versor("πνεῦμα")),
cga_inner(he.get_versor("דבר"), grc.get_versor("ἀρχή")),
cga_inner(en.get_versor("word"), he.get_versor("\u05e8\u05d0\u05e9\u05d9\u05ea")),
cga_inner(en.get_versor("word"), grc.get_versor("\u03c0\u03bd\u03b5\u1fe6\u03bc\u03b1")),
cga_inner(he.get_versor("\u05d3\u05d1\u05e8"), grc.get_versor("\u1f00\u03c1\u03c7\u03ae")),
]
)
assert aligned_score > misaligned_score
@ -60,20 +60,20 @@ def test_word_order_permutation_changes_holonomy():
def test_same_root_hebrew_forms_land_closer_than_unrelated_noun():
_, he = load_pack("he_logos_micro_v1")
singular = he.get_versor("דבר")
plural = he.get_versor("דברים")
unrelated = he.get_versor("ראשית")
singular = he.get_versor("\u05d3\u05d1\u05e8")
plural = he.get_versor("\u05d3\u05d1\u05e8\u05d9\u05dd")
unrelated = he.get_versor("\u05e8\u05d0\u05e9\u05d9\u05ea")
assert cga_inner(singular, plural) > cga_inner(singular, unrelated)
def test_structured_morphology_improves_same_root_hebrew_resonance():
entries = load_pack_entries("he_logos_micro_v1")
no_morphology = compile_entries_to_manifold(entries)
structured = compile_entries_to_manifold(entries, load_morphology("he_logos_micro_v1"))
no_morphology, _ = compile_entries_to_manifold(entries)
structured, _ = compile_entries_to_manifold(entries, load_morphology("he_logos_micro_v1"))
no_morph_score = cga_inner(no_morphology.get_versor("דבר"), no_morphology.get_versor("דברים"))
structured_score = cga_inner(structured.get_versor("דבר"), structured.get_versor("דברים"))
no_morph_score = cga_inner(no_morphology.get_versor("\u05d3\u05d1\u05e8"), no_morphology.get_versor("\u05d3\u05d1\u05e8\u05d9\u05dd"))
structured_score = cga_inner(structured.get_versor("\u05d3\u05d1\u05e8"), structured.get_versor("\u05d3\u05d1\u05e8\u05d9\u05dd"))
assert structured_score > no_morph_score, (
f"Structured morphology should bring same-root forms closer: "