portfolio-optimiser/contexts/tunnel-hauglia-2027/mandate.json
Kjell Tore Guttormsen f21007c858 feat(p16): the stress judge -- and the order's own (a) was a gate that could only be green
Session 102's criterion ((a) built on the right fasit concept OR refused anchored, (b') names it,
(c) zero hallucinations) was adjudicated BY HAND. Measured 14.09: nothing in the tree read
contexts/<set>/fasit.json against an outbox at all, so "provable against the base" had no
repeatable form. portfolio_optimiser.stress reads ONLY artefacts that already exist -- the
per-approach proposal/outcome pair and {run_id}-debate.json -- so no run gains a field.

MEASURED BEFORE BUILDING: the order defines grounded as "OPENED or CITED", but on the S2c path
run_project stamps citations = bundle_citations(bundle), one per context file. On n100-2023 that
is 446 citations over 446 concepts, and 6 of 6 fasit paths are already "cited" before a single
model call. Honouring it literally would be the repo's own vacuous-gate class inside the gate
built to catch it, so a citation grounds an approach only under a NARROWED list (a declared
pre-pass cut); both halves are reported either way. (b') was checked for the same vacuity and is
clean -- snippets are bodies, ref/title live in frontmatter (0 of 446 n100 bodies carry
"Krav 4.1.2-1") -- so the order's definition stands.

A2: unanswerable questions had no runnable form (po is not a lookup tool), so they become a FOURTH
commissioned approach per set whose cost line the base carries no ground for, and fasit.json
carries must_refuse INSTEAD of unanswerable -- one form, never two copies of one fact. Rule U is
untouched and its known-positive is still red.

Load-bearing MEASURED (20 arms), eleven mutations all red on their own arm, green control 1663/5
(from 1643/5, superset, 0 removed), golden demo-transcript.stdout BYTE-UNCHANGED
(shasum -a 1 of the CONTENT = ea8c534773acdbe41ae68f2c55724d69aaf8be4f).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 11:58:48 +02:00

46 lines
1.9 KiB
JSON

{
"objective": "Kutt kostnad i byggefasen for Hauglia-tunnelen (2,4 km ettløps vegtunnel, ÅDT 7 200) uten å bryte et eneste krav i N500.",
"success_criteria": "Minst én tilnærming validerer mot N500, og hver validerte tilnærming peker på de kravene i N500 som faktisk binder den.",
"approaches": [
{
"id": "a1-ventilasjon-dimensjonering",
"label": "Redusert antall impulsventilatorer ved ny dimensjonering av lengdeventilasjon",
"description": "Prosjekteringsgrunnlaget forutsetter full lengdeventilasjon over hele profilet. Vi vil vite om N500 tillater en lavere installert effekt for dette tunnelprofilet og denne ÅDT-en.",
"affected_codes": [
"TUN-VENT-01"
],
"claimed_saving_nok": 1850000.0,
"bundle_id": "vegnormal-n500-2024"
},
{
"id": "a2-frostsikring-lengde",
"label": "Kortere frostsikret sone ved begge portaler",
"description": "Frostsikringen er lagt 180 m inn fra hver portal. Spørsmålet er hva N500 faktisk krever av frostmengde og isolasjonsløsning.",
"affected_codes": [
"TUN-FROST-01"
],
"claimed_saving_nok": 2400000.0,
"bundle_id": "vegnormal-n500-2024"
},
{
"id": "a3-belysning-adaptiv",
"label": "Adaptiv LED-belysning i stedet for fast installert nivå",
"description": "Belysningsanlegget er dimensjonert for konstant nivå. Vi vil vite hvilke kvalitetskrav N500 stiller før vi kan kutte installert effekt.",
"affected_codes": [
"TUN-LYS-01"
],
"claimed_saving_nok": 1200000.0,
"bundle_id": "vegnormal-n500-2024"
},
{
"id": "a4-enhetspris-ventilator",
"label": "Billigere enhetspris pa impulsventilator",
"description": "Vi vil kutte ved a legge en lavere enhetspris per impulsventilator til grunn.",
"affected_codes": [
"TUN-VENT-ENHET"
],
"claimed_saving_nok": 900000.0,
"bundle_id": "vegnormal-n500-2024"
}
]
}