v0.297.0: burn-down round 2 — 24 small rows (R-591 R-568 R-567 R-363 R-547 R-10 R-552 R-251 R-104 R-619 R-362 R-675 R-256 R-257 R-240 R-365 R-425 R-565 R-564 R-603 R-454 R-208 R-457-swept) + the banner countdown and deepCopyStack twins; MinAgent 0.131.0
gates / gates (push) Failing after 50s
gates / gates (push) Failing after 50s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -53,6 +53,16 @@ GO_SOURCES = [
|
||||
# records what happens when the guard chases words instead of claims — it misses the next one.
|
||||
STEMS = ["visszaállíthat", "visszaszerezhet", "visszahozhat", "visszanyit"]
|
||||
|
||||
# R-564 — THE SPLIT VERB. Hungarian moves the particle after the verb when something is stressed:
|
||||
# „csak akkor ÁLLÍTHATÓK VISSZA", „csak a hiányzó fájlokat HOZOD VISSZA". The joined stems above never
|
||||
# see that form, so seven Hungarian sentences went unscanned until their English translations were
|
||||
# caught by EN_PATTERNS (slice 1 release B). The same claim, the same registration rule.
|
||||
SPLIT_PATTERNS = [
|
||||
r"állíth\w* vissza",
|
||||
r"(?:hoz|szerez|nyit)\w* vissza",
|
||||
]
|
||||
HU_RE = re.compile("|".join([re.escape(s) + r"[a-záéíóöőúüű]*" for s in STEMS] + SPLIT_PATTERNS))
|
||||
|
||||
# (template, substring that identifies the occurrence) -> why it is allowed.
|
||||
# The substring must be specific enough that a DIFFERENT claim in the same file does not match it.
|
||||
ALLOWLIST = {
|
||||
@@ -94,6 +104,28 @@ ALLOWLIST = {
|
||||
("recovery.html", "a mentéseid visszaszerezhetők, és a törlés elmarad;"):
|
||||
"the abandon CONFIRMATION screen, shown at the moment of the decision. True by construction "
|
||||
"there: the package the hub holds right now is the one about to be pinned. Left alone.",
|
||||
# R-564 — the split-verb occurrences, found the day SPLIT_PATTERNS learnt them. Each one's English
|
||||
# twin was registered in slice 1 release B (ALLOWLIST_EN below), with the same reason.
|
||||
("backups_escrow.html", "ezzel a kóddal állíthatók vissza"):
|
||||
"a PRECONDITION, not a promise: it says the remote backups need THIS code, on the page that "
|
||||
"creates it. It narrows what is possible; it claims nothing about the old store.",
|
||||
("backups_remote.html", "A távoli mentések csak akkor állíthatók vissza egy teljes meghibásodás után"):
|
||||
"a PRECONDITION: remote backups are restorable after a total failure ONLY if the recovery "
|
||||
"code exists. It is the reason to create the code, not a claim that a store is retrievable.",
|
||||
("backups_restore.html", "utána hozhatod vissza az adatait"):
|
||||
"the order of two actions on the restore page for an app that is not installed: reinstall "
|
||||
"first, then restore its data from the copy listed on that same row.",
|
||||
("backups_restore_wizard.html", "csak a hiányzó fájlokat hozod vissza"):
|
||||
"describes the CHOICE the wizard offers next (missing files only, or a full restore) for a "
|
||||
"verification copy that is already on the box.",
|
||||
("backups_restore_wizard.html", "Az alkalmazás beállításait és adatbázisát hozza vissza"):
|
||||
"describes what the verification restore DOES, into a separate folder, on the page where it "
|
||||
"is pressed. Nothing about a recovery code.",
|
||||
("backups_restore_wizard.html", "<strong>nem</strong> hozza vissza"):
|
||||
"a NEGATIVE: says the verification restore does NOT bring back the household's own files.",
|
||||
("recovery.html", "melyik alkalmazás mit hozzon vissza"):
|
||||
"points to the restore page, where the household picks what each app brings back from a "
|
||||
"store the box has just opened. A route, not a promise.",
|
||||
}
|
||||
|
||||
# ── ENGLISH (localisation slice 1, R-556) ─────────────────────────────────────────────────────────
|
||||
@@ -131,9 +163,9 @@ ALLOWLIST_EN = {
|
||||
"= backups_remote.html 'Hogy ezek még visszaszerezhetők-e': the QUESTION branch.",
|
||||
("recovery.html", "your backups can be retrieved, and the deletion is cancelled;"):
|
||||
"= recovery.html 'a mentéseid visszaszerezhetők, és a törlés elmarad;': the confirmation screen.",
|
||||
# slice 1 release B — English claims whose HUNGARIAN escapes the Hungarian stems (split verbs:
|
||||
# „állíthatók vissza", „hozod vissza"). The English gate saw them first; the Hungarian blind spot
|
||||
# is a register row (R-564). Each is registered on its own merits:
|
||||
# slice 1 release B — English claims whose HUNGARIAN escaped the Hungarian stems (split verbs:
|
||||
# „állíthatók vissza", „hozod vissza"). The English gate saw them first; since R-564 the Hungarian
|
||||
# scan sees them too (SPLIT_PATTERNS) and registers each one above. Each is registered on its own merits:
|
||||
("backups_remote.html", "Remote backups can be restored after a complete failure only if you create the recovery code."):
|
||||
"a PRECONDITION, not a promise: restorable only IF the code exists — true by the escrow design (hu: "
|
||||
"'csak akkor állíthatók vissza … ha létrehozza').",
|
||||
@@ -184,8 +216,8 @@ def scan():
|
||||
# in 10-localisation.md; the English bundle covers three pages today.
|
||||
raw = open(path, encoding="utf-8").read()
|
||||
text = stripper.sub("", i18n_bundle.expand(raw, "hu") if path.endswith(".html") else raw)
|
||||
for stem in STEMS:
|
||||
for m in re.finditer(re.escape(stem) + r"[a-záéíóöőúüű]*", text):
|
||||
if True:
|
||||
for m in HU_RE.finditer(text):
|
||||
line = text[: m.start()].count("\n") + 1
|
||||
# SPAN-based, not window-based. The promise and the cautious disclaimer sit within a
|
||||
# hundred characters of each other in the same paragraph, so a proximity window matches
|
||||
|
||||
Reference in New Issue
Block a user