Skip to content

Commit 2fadd14

Browse files
fix(english-gonol): view four reduces to derivation; one two three are the thing
- view4 canonical-witness lift marked derived: 157 + residue, with residue already carried by view2 phase and view3 provenance lift - Synthesis is now views one, two, and three together (4-tuple); view4 reported separately as derived and excluded from the synthesis - 20k-word adjudication unchanged for the thing: synthesis 15838 distinct, provenance lift 12424, angle 314, inner-product density 76; view4 derived with 157 distinct values - hmmm recorded: view four reduces to derivation; views one, two, and three together are the thing - Receipt 0bb012e58383540ca26f0edddbeb9e13de129eacc3908af6b01909a449381087
1 parent 1f9a35e commit 2fadd14

2 files changed

Lines changed: 33 additions & 11 deletions

File tree

‎research/english-gonol/english_gonol/hyperspace_views.py‎

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# rollback: remove this module, facade exports, tests, and candidate documentation
1717
# requires: english_gonol_hyperspace_construct, english_gonol_hyperspace_geometry, ucns_lift_selection_candidates (via ucns source)
1818
# since: 2026-09-21
19-
# unresolved: one doctor or four - whether any single view or the differential synthesis is most useful remains hmmm
19+
# unresolved: view four reduces to derivation; views one, two, and three together are the thing
2020
# === END MODULE_BUILD ===
2121

2222
# === CONTRACTS ===
@@ -141,9 +141,17 @@ def word_views(
141141
)
142142
view2 = {"phase": angle["end_phase"], "frame": angle["end_frame"]}
143143
view3 = {"deck": deck, "residue": residue, "lift": deck * _MODULUS + residue}
144-
view4 = {"residue": residue, "lift": _MODULUS + residue}
144+
view4 = {
145+
"residue": residue,
146+
"lift": _MODULUS + residue,
147+
"derived": True,
148+
"derivation": (
149+
"157 + residue, where residue is the phase numerator mod 157 "
150+
"already carried by view2 and view3; view four reduces to derivation"
151+
),
152+
}
145153

146-
synthesis = (view1, view2["phase"], view2["frame"], view3["lift"], view4["lift"])
154+
synthesis = (view1, view2["phase"], view2["frame"], view3["lift"])
147155
payload = {
148156
"schema": SCHEMA,
149157
"version": VERSION,
@@ -159,8 +167,8 @@ def word_views(
159167
view2["phase"],
160168
view2["frame"],
161169
view3["lift"],
162-
view4["lift"],
163170
],
171+
"synthesis_composition": "views one, two, and three together",
164172
}
165173
payload["receipt_sha256"] = _receipt(payload)
166174
return payload
@@ -182,11 +190,11 @@ def run_view_adjudication(
182190
"view1_definition_inner_product_density": set(),
183191
"view2_word_axis_angle": set(),
184192
"view3_provenance_interval_lift": set(),
185-
"view4_canonical_witness_lift": set(),
186193
"synthesis": set(),
187194
}
188195
collisions: dict[str, int] = {name: 0 for name in seen}
189196
view_names = [name for name in seen if name != "synthesis"]
197+
view4_values: set[str] = set()
190198
for word_id in words:
191199
record = word_views(db, word_id, ucns_source_root)
192200
for name in view_names:
@@ -195,6 +203,13 @@ def run_view_adjudication(
195203
if key in seen[name]:
196204
collisions[name] += 1
197205
seen[name].add(key)
206+
view4_values.add(
207+
json.dumps(
208+
record["views"]["view4_canonical_witness_lift"],
209+
sort_keys=True,
210+
separators=(",", ":"),
211+
)
212+
)
198213
synthesis_key = json.dumps(
199214
record["synthesis"], sort_keys=True, separators=(",", ":")
200215
)
@@ -219,14 +234,19 @@ def run_view_adjudication(
219234
"word_count": len(words),
220235
"distinct_values": {name: len(values) for name, values in seen.items()},
221236
"collisions": collisions,
237+
"view4_canonical_witness_lift": {
238+
"derived": True,
239+
"distinct": len(view4_values),
240+
"note": "view four reduces to derivation; excluded from the synthesis",
241+
},
242+
"synthesis_composition": "views one, two, and three together",
222243
"ranking_by_distinctness": [
223244
{"view": name, "distinct": distinct, "collisions": collision}
224245
for name, distinct, collision in ranking
225246
],
226247
"hmmm": (
227-
"one doctor or four? The corpus adjudicates which views merit "
228-
"retainment or whether the differential synthesis is most "
229-
"useful; this report ranks, it does not select"
248+
"view four reduces to derivation; views one, two, and three "
249+
"together are the thing. This report ranks, it does not select"
230250
),
231251
}
232252
payload["receipt_sha256"] = _receipt(payload)

‎research/english-gonol/tests/test_hyperspace_views.py‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ def test_views_are_four_plus_synthesis(tmp_path: Path) -> None:
107107
"view3_provenance_interval_lift",
108108
"view4_canonical_witness_lift",
109109
}
110-
assert len(record["synthesis"]) == 5
110+
assert len(record["synthesis"]) == 4
111+
assert record["synthesis_composition"] == "views one, two, and three together"
112+
assert record["views"]["view4_canonical_witness_lift"]["derived"] is True
111113
assert record["views"]["view3_provenance_interval_lift"]["deck"] == 0
112114
assert record["views"]["view4_canonical_witness_lift"]["lift"] == 157 + record["views"]["view4_canonical_witness_lift"]["residue"]
113115

@@ -120,9 +122,9 @@ def test_adjudication_counts_are_exact(tmp_path: Path) -> None:
120122
"view1_definition_inner_product_density",
121123
"view2_word_axis_angle",
122124
"view3_provenance_interval_lift",
123-
"view4_canonical_witness_lift",
124125
"synthesis",
125126
}
127+
assert report["view4_canonical_witness_lift"]["derived"] is True
126128
for name, distinct in report["distinct_values"].items():
127129
assert distinct <= report["word_count"]
128130

@@ -132,6 +134,6 @@ def test_views_do_not_select(tmp_path: Path) -> None:
132134
report = run_view_adjudication(state_dir, UCNS_SOURCE_ROOT)
133135
assert "ranking_by_distinctness" in report
134136
assert "select" not in report or report.get("selected") is None
135-
assert "one doctor or four" in report["hmmm"]
137+
assert "view four reduces to derivation" in report["hmmm"]
136138
again = run_view_adjudication(state_dir, UCNS_SOURCE_ROOT)
137139
assert again["receipt_sha256"] == report["receipt_sha256"]

0 commit comments

Comments
 (0)