test(verdict-gate): read_file skal nekte verdict-laget - fire armer roede FOER impl

Iron Law-steget. Testene foerst; produksjonskoden her er KUN den nakne
exception-deklarasjonen, saa hver arm kan observeres roed for seg i stedet for
aa skjules bak en collection-feil. Ingen gate er bygget.

MAALT foer noe ble skrevet: read_file(bygg-energi-mikro, verdict-led-fro.md)
returnerer alle 2 883 tegn av dommen, og i en debattkjoering der proposeren ber
om den ved sti naar kroppen prompt 1 og 3.

Roedt observert paa fire armer:
  (1) utforskningsveien nekter ikke        DID NOT RAISE
  (2) debattveien nekter ikke              DID NOT RAISE
  (4) kroppen lekker til prompt [1, 3]     - lekkasje-halvdelen, ikke sporet
  (5) ulenket dom nektes ikke              DID NOT RAISE

Groent, som forventet, paa de to bevaringsarmene: (3) den gatede ExpeL-ruten
naar fortsatt hypotese-prompten, og (6) index.md leses fortsatt hel. De er
ikke vakuoese - de er dét som skiller en gate fra en vegg, og de maa staa
groenne baade foer og etter.

Sporet er maalt separat: en nekt fanges av MAF og kjoeringen fortsetter, mens
recorderen registrerer FOER call_next - saa mutasjonen "registrer etter
call_next" toemmer sporet for nettopp et nektet kall (maalt: trace = ()).
Det gjoer arm 4s spor-halvdel til en egen gate, ikke en passasjer paa nekten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-04 20:10:29 +02:00
commit e7d1a31ecf
2 changed files with 349 additions and 0 deletions

View file

@ -214,6 +214,10 @@ class ExplorationError(RuntimeError):
"""The exploration cannot be honoured as configured, or produced something unreadable."""
class VerdictLayerRefused(ValueError):
"""PLACEHOLDER for the red observation — declared, not yet enforced anywhere."""
class DimensionScopeRefused(ValueError):
"""A navigator asked for a document belonging to ANOTHER dimension than the run is scoped to.