Fractus-Vorax v1.0.0 — the takeover: sealed CTE brain + ingestion organs + mechanical speech (199 tests, honest floors)
1da7ac7 verified | # tests/test_inauguration.py | |
| """Tâche 3 (le relais) — L'INAUGURATION : la démo du takeover. | |
| Un SEUL test (inauguration() est coûteuse quand le noyau 1B vit dans le | |
| python) qui doit passer dans les DEUX venvs : | |
| - mingw sans torch : le cerveau se dégrade en une ligne honnête d'absence, | |
| les organes portent toute la démo (marqueurs 2/3/4/5 + finale) ; | |
| - torch + brain/FRACTUS_BIRTH.pt : en plus, le statut réel du cerveau | |
| (strict 440/440) et la parole du noyau rapportée VERBATIM (word salad | |
| accepté et documenté — docs/NAISSANCE.md). | |
| """ | |
| import re | |
| from demo.inauguration import inauguration | |
| FINAL = "[FRACTUS-VORAX] Le relais est pris. L'entraînement est fini. Il mange." | |
| def _n_atomes(status_line: str) -> int: | |
| """Extrait le compteur d'une ligne ``[VORAX] brain: N atomes, ...``.""" | |
| m = re.search(r"(\d+) atomes", status_line) | |
| assert m, f"ligne sans compteur d'atomes: {status_line!r}" | |
| return int(m.group(1)) | |
| def test_inauguration(): | |
| lines = inauguration() | |
| out = "\n".join(lines) | |
| # --- marqueurs TOUJOURS présents (organes — les deux venvs) --- | |
| assert "[FRACTUS-VORAX] 1/7 noyau de naissance" in out # statut du cerveau | |
| assert "[FRACTUS-VORAX] 2/7 ingestion" in out | |
| assert "[FRACTUS-VORAX] 3/7 question exacte" in out | |
| assert "tokyo" in out and "FAIT" in out # japon -> carte FAIT | |
| assert "[FRACTUS-VORAX] 4/7 typo" in out | |
| assert "ANALOGIE" in out and "paris" in out # 'franc' -> analogie | |
| assert "[FRACTUS-VORAX] 5/7 session REPL scriptée" in out | |
| assert lines[-1] == FINAL # la ligne du relais pris | |
| # --- la session écrit : n atomes CROÎT d'un :status à l'autre --- | |
| statuses = [l for l in lines if l.startswith("[VORAX] brain:")] | |
| assert len(statuses) == 2, "deux :status attendus (avant/après la question)" | |
| assert _n_atomes(statuses[1]) > _n_atomes(statuses[0]) | |
| # --- branche noyau : skip-friendly (dépend de l'environnement) --- | |
| if "cerveau: cte" in out: # torch + tokenizers + cerveau de naissance présents | |
| assert "strict 440/440" in out | |
| assert "[FRACTUS-VORAX] 6/7 la parole du noyau" in out | |
| # la parole, VERBATIM et honnête (word salad accepté) — ou l'aveu | |
| # muet si le tokenizer BPE est indisponible dans cet environnement. | |
| assert '[FRACTUS-VORAX] noyau: "' in out or "noyau muet" in out | |
| else: # mingw sans torch (ou cerveau absent) — les organes portent la démo | |
| assert "cerveau absent dans cet environnement" in out | |
| assert "6/7" not in out | |
| # --- console-safe : jamais → ni — (cp1252-hostiles) --- | |
| assert all("→" not in l and "—" not in l for l in lines) | |