R-325 (controller half): retrieval_promise_gate imports the shared stem list
STEMS now comes from felhom.eu/scripts/customer_copy_vocab.py (RETRIEVAL_STEMS), read the way controller_gates.py reads the other shared checkers (CI clones felhom.eu beside this repo); an absent or empty vocabulary is INCONCLUSIVE (exit 2), never a pass. Decoys: vocabulary absent -> rc 2; an invented stem in a doctored shared list convicts a template using it. hub_copy_gate.check_drift on this file now reads 'ok — single source'. 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:
@@ -51,7 +51,24 @@ GO_SOURCES = [
|
||||
# R-311 adds `visszanyit`: the honest new message says a customer needs support's help „a régebbi
|
||||
# előzményed visszanyitásához". That is the SAME claim in a fourth verb, and the docstring above
|
||||
# records what happens when the guard chases words instead of claims — it misses the next one.
|
||||
STEMS = ["visszaállíthat", "visszaszerezhet", "visszahozhat", "visszanyit"]
|
||||
#
|
||||
# R-325: the list is NOT kept here. It lives ONCE in felhom.eu/scripts/customer_copy_vocab.py, which
|
||||
# the hub's copy gate imports too — two copies of a word list is the R-299 defect exactly. The
|
||||
# sibling clone is read the way controller_gates.py reads reuse_refs_check.py: CI clones felhom.eu
|
||||
# beside this repo, and an ABSENT clone is INCONCLUSIVE (exit 2) — never a pass on an empty list.
|
||||
# FELHOM_SHARED_SCRIPTS overrides the directory (the decoy suite uses it; nothing else should).
|
||||
_SHARED_SCRIPTS = os.environ.get("FELHOM_SHARED_SCRIPTS") or os.path.normpath(
|
||||
os.path.join(_HERE, "..", "..", "..", "felhom.eu", "scripts"))
|
||||
if not os.path.isfile(os.path.join(_SHARED_SCRIPTS, "customer_copy_vocab.py")):
|
||||
print("retrieval-promise gate INCONCLUSIVE: the shared vocabulary is missing (%s) — the felhom.eu "
|
||||
"clone must sit beside this repo; without the stems nothing can be judged" %
|
||||
os.path.join(_SHARED_SCRIPTS, "customer_copy_vocab.py"))
|
||||
sys.exit(2)
|
||||
sys.path.insert(0, _SHARED_SCRIPTS)
|
||||
from customer_copy_vocab import RETRIEVAL_STEMS as STEMS # noqa: E402
|
||||
if not STEMS:
|
||||
print("retrieval-promise gate INCONCLUSIVE: customer_copy_vocab.RETRIEVAL_STEMS is empty")
|
||||
sys.exit(2)
|
||||
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user