Read a short subject's only number as its reading
A two-character Chinese subject — 温度, 室温, 设定, 预算 — is the common way to state a reading, and the rename rule was swallowing its number: 「温度 22 度」 became a thing called 温度22 with nothing left to report, so the lane recorded no conflict at all and no later memory could disagree with it. A bare number written onto the subject is a name only while the memory still has another number waiting behind it; with nothing after it, it is the reading. Measured across 33 pairs: 6 change — five missed conflicts now recorded, plus one new disclosed boundary (「Room 3 is big」 and 「Room 4 is big」 read as one quantity that moved, because a label cannot tell an identifier from a reading). Everything else is byte-equal. Also corrected: a memory that is only a number does have a subject — the number itself — so 「22 度」 and 「24 度」 record nothing because they name two different things, not because the store found nothing to compare. The smoke script now refuses an answer from a server that predates the memory tiers: it requires recall_count in the remember response, a field the pre-p2-3 Go build never emits.
This commit is contained in:
1 parent
8bed319848
commit
11e31eb7e3
4 files changed
+73
-14
No files matched your search
@@ -172,6 +172,11 @@ for required in ("remember", "supersede_memory", "forget_memory", "mounted_cartr
|
||||
|
||||
statement = "keys are in the hall drawer"
|
||||
remembered = tool("remember", {"text": statement, "scenario": "home"})["atom"]
|
||||
if "recall_count" not in remembered:
|
||||
raise SystemExit(
|
||||
"FAIL: the API answered with no recall_count; a server left over from before the memory tiers "
|
||||
"took the port after our guard passed — stop it and re-run"
|
||||
)
|
||||
if not remembered["holder_id"]:
|
||||
raise SystemExit(f"FAIL: the server stamped no holder: {remembered}")
|
||||
atom_id = remembered["atom_id"]
|
||||
|
||||
Reference in new issue
Block a user