Het volledige uitgewerkte voorbeeld staat hieronder per eis-ID. Iedere rij bewaart eis, rationale, eigenaar, interface, proef, bewijsbestand, criterium en besluit. De interfaces verwijzen naar precies het S2-programma; hardware- en systeemvalidatie blijven apart. De 26 betekenisvaste IDs vormen samen de baseline. De aanvullende CSV-bijlage maakt de matrix bewerkbaar zonder de oplossing van het handboek te laten afhangen.
A-01 — Twee rails, één station plus één module; geen verborgen converter.
Rationale: Voorkom energie uit een verborgen converter of dubbele module.
Eigenaar: systeemverantwoordelijke; interface: ARCH / accu / twee rails
Proef: Alle weekruns; twee afzonderlijke saldi; bewijs: config.json en resultaten.json
Criterium: Geen 12↔48 V-pad; beide residuen <10⁻⁷ kWh.
Besluit: modelgrens gecontroleerd.
A-02 — Elke eis heeft eigenaar, proef, bewijs en besluit.
Rationale: Een reviewer moet iedere beslissing terugvinden.
Eigenaar: reviewer; interface: V-model / deze traceermatrix
Proef: Inspectie van alle 26 betekenisvaste IDs; bewijs: traceermatrix_e49.csv
Criterium: Elke ID heeft alle traceervelden en expliciet besluit.
Besluit: projectprocedure.
E-01 — Opslag blijft binnen SOC-venster; tekorten blijven zichtbaar.
Rationale: Voorraad is geen vrij vermogen buiten haar venster.
Eigenaar: elektrisch beheer; interface: accu
Proef: Leeg/vol/alle volledige SOC-banen; bewijs: scenario.csv / resultaten.json
Criterium: Module SOC 0,20–1,00; station 0,20–0,90; geen verborgen clipping.
Besluit: model geslaagd; autonomie niet.
E-02 — 4 kVA continu, 8 kVA maximaal 5 s; P/Q/S en bankstroom samen.
Rationale: Apparaten en diensten hebben gelijktijdige grenzen.
Eigenaar: elektrisch beheer; interface: pq / kies_lasten / accu
Proef: 4.48kVA verzoek; twee 5 s-selecties; bewijs: contracttests in resultaten.json
Criterium: Continu S≤4000 VA; piek≤8000 VA/5 s; bank≤100/130 A; iedere geweigerde dienst gelogd.
Besluit: continue selectie geslaagd; aanloop niet.
E-03 — Laadstroom apart: 80 A module, 60 A station; koude-interlock.
Rationale: Laad- en ontlaadrating zijn verschillende paden.
Eigenaar: elektrisch beheer; interface: laad_toegestaan / accu
Proef: Koud/vol; 7000 W-bron met laadlimiet; bewijs: koud_leeg.csv en contracttests
Criterium: Laad≤80/60 A; module onder 0 °C geen lading; stationproef onder 5 °C geen lading.
Besluit: logica geslaagd; fabrikantbewijs open.
E-04 — 16S-venster 44,8–55,2 V; iedere cel 2,8–3,45 V.
Rationale: 16S-fullcharge kan buiten de rail vallen.
Eigenaar: cel-/BMSselectie; interface: laad_toegestaan
Proef: 58,4 V en één cel 3,6 V; bewijs: contracttests in resultaten.json
Criterium: Pack 44,8–55,2 V en iedere cel 2,8–3,45 V; anders weigeren. Fabrikantbewijs apart.
Besluit: weigering geslaagd; celselectie open.
E-05 — Windafregeling bewaakt 3 kW-dump en echte remgrenzen.
Rationale: Overtoeren en thermische overbelasting zijn fysisch.
Eigenaar: aandrijfbeheer; interface: nominale dumpboekhouding
Proef: Vol-week; 245²/16,6; later remproef; bewijs: vol.csv / contracttests
Criterium: Nominaal ≤3000 W. De 245 V-rekening overschrijdt de 3 kW-grens; fysieke thermiek/remproef blijft open.
Besluit: nominaal model geslaagd; fysiek open.
T-01 — Vier warmtevoorraden, transporttekens en residu sluiten.
Rationale: Interne fluxen mogen geen warmte creëren.
Eigenaar: fysica/data; interface: warmtestap / vier knopen
Proef: Iedere stap en week; plant60/30/15; bewijs: balansen en stapverfijning in JSON
Criterium: Stapresidu<10⁻⁵ J; week<10⁻⁷ kWh; 15/30 s verschil<0,02 K. Kalibratie apart.
Besluit: numeriek geslaagd; niet gekalibreerd.
T-02 — Convector maximaal 800 W; warmte hangt van buffertemperatuur af.
Rationale: Transport moet bij een echte thermische voorraad passen.
Eigenaar: lokaal klimaatbeheer; interface: PID.vraag / warmtestap
Proef: Temperatuurverschil en vraagbegrenzing; bewijs: qmodule_W / vierknopen
Criterium: Reeds begrensde vraag≤800 W; qm≤80·max(Tw−Ta,0), nul zonder hulpvoeding.
Besluit: modelgrens geslaagd.
T-03 — Woondeel ≥19 °C; module ≥17,5 °C van 07–22 h, anders ≥15,5 °C.
Rationale: Energie is alleen nuttig als dienst op tijd bestaat.
Eigenaar: systeemverantwoordelijke; interface: pm / ph / plant
Proef: Alle comforttellers; normale startup; bewijs: normaal.csv / alle scenario-totalen
Criterium: Geen minuten onder 19 °C woon; module onder 17,5 °C van 07–22 h, anders 15,5 °C. Normaal module faalt 0,5 h.
Besluit: module normaal 0,5 h niet gehaald.
T-04 — Tracking gebruikt werkelijk geleverde actuatorwarmte.
Rationale: Een geweigerde actie mag geen I-opbouw verbergen.
Eigenaar: regelsoftware; interface: PID.terug met flux
Proef: 2 h actuatoruitval en WP-storing; bewijs: antiwindup / wp_storing.csv
Criterium: Werkelijke flux terugkoppelen; na opgelegde proef geen ongewenste 800 W-herstelactie.
Besluit: logica geslaagd.
W-01 — NFT en drinkvoorraad apart; recirculatie is geen verbruik.
Rationale: Doorzet, verbruik en watertypes zijn niet hetzelfde.
Eigenaar: waterbeheer; interface: nft/drink afzonderlijke voorraad
Proef: Normaal en drink_leeg; bewijs: resultaten.json / nft_L / drink_L
Criterium: Massaresidu<10⁻⁷ L; doorzet 8064 L versus netto 30,1 L; tekorten zichtbaar. Kwaliteit open.
Besluit: model geslaagd; waterkwaliteit open.
W-02 — 24 L-vlotter onafhankelijk; flowverlies stopt pomp.
Rationale: Droogloop vraagt een onafhankelijk lokaal contact.
Eigenaar: lokaal waterbeheer; interface: vlotter / flowalarm
Proef: Waterlek 31 L / 2 L/min; pompfout met flow 0; bewijs: waterlek_events.json / pompfout_events.json
Criterium: Ideaal contact opent bij tank 24 L vóór droogloop; flowmodel stopt ≤120 s. Echte contactretour/vertraging open.
Besluit: ideaal contact geslaagd; hardware open.
H-01 — Elektrolyse alleen uit bereikbaar 48 V-overschot.
Rationale: Alleen bereikbare energie kan de keten voeden.
Eigenaar: procesbeheer; interface: 48 V-dispatch / el / fc
Proef: Normaal, vol en h2_reserve; bewijs: H₂-totalen / scenario-logs
Criterium: Geen elektrolyse uit 12 V; voorraad ≤12 kg; geen gelijktijdige cel/elektrolyse; massa en deelenergie sluiten.
Besluit: model geslaagd.
H-02 — Gezuiverde voeding begrenst H₂-productie.
Rationale: Elektrolyse vraagt eigen gezuiverde materiaalvoeding.
Eigenaar: procesbeheer; interface: proceswater / productieclamp
Proef: Normaal en h2_water_leeg; bewijs: proceswater_L / h2_water_verbruik_L
Criterium: Voorraad≥0; minimaal 9 L/kg in model; leeg →0 kg. Spoelen/zuivering/retourkwaliteit open.
Besluit: minimumvoeding geslaagd; praktijk open.
D-01 — Identiteit, leeftijd ≤90 s, kwaliteit, eindigheid en innovatie.
Rationale: Een slechte meting geeft geen geldige regelbevoegdheid.
Eigenaar: meetbeheer; interface: MeetPoort
Proef: None/stale/NaN/modelNaN/freeze/bias/gedeelde bias; bewijs: contracttests / sensorbias.csv
Criterium: Waarde null met reden; leeftijd≤90 s; innovatie≤0,8 K. Gedeelde bias toont ontbrekende absolute juistheid.
Besluit: logica geslaagd; gedeelde bias ontsnapt.
D-02 — Voorstel heeft boot/seq/tijd/TTL/mode/ACK en begrensd doel.
Rationale: Ontvangst alleen geeft geen actuatierecht.
Eigenaar: lokale software; interface: LokaleEigenaar.voorstel
Proef: Geldig/duplicaat/mode/boot/NaN/tijd/limiet; bewijs: contracttests en ACK-resultaten
Criterium: Alle tien velden, juiste identiteit/seq/mode/kwaliteit/TTL; setpoint 19–21 °C; afwijzing vernieuwt lease niet.
Besluit: logica geslaagd.
D-03 — Verlopen lease valt lokaal terug naar 20 °C.
Rationale: Afwezig netwerk mag een lease niet oneindig houden.
Eigenaar: lokale software; interface: LokaleEigenaar.doel
Proef: 19,5→20 °C op t=60 s; broker 24 h weg; bewijs: contracttests / broker.csv
Criterium: Na leaseverloop lokaal 20 °C; 1440 terugvalminuten. Geen besparingsclaim uit identieke curve.
Besluit: 1440 min terugval; geen besparingsbewijs.
D-04 — Oud voorstel wordt na herstart opnieuw geweigerd.
Rationale: Replay mag een eigenaarherstart niet overleven.
Eigenaar: software-/opslagbeheer; interface: register / ownerboot
Proef: JSON-roundtrip en nieuwe ownerboot; bewijs: contracttests
Criterium: Oud seq blijft geweigerd na reboot; echte powercut/atomische opslag apart aantonen.
Besluit: logica geslaagd; duurzame opslag open.
V-01 — Stop/voedingsverlies vergrendelt; gezonde resetflank met verzoek/contact uit.
Rationale: Een stop moet dominant blijven bij herstel.
Eigenaar: bevoegd veiligheidsontwerper; interface: StopVrijgave / contactfeedback
Proef: Stop/loslaten/powerreturn/resetvoorwaarden; bewijs: stop_herstel.csv / contracttrace
Criterium: Geen automatische herstart; nieuwe gezonde menselijke flank met verzoek/contact uit. Reactietijd/lastbewijs open.
Besluit: logica geslaagd; hardware open.
V-02 — Ventilatie heeft een afzonderlijke risicogestuurde tak.
Rationale: Stopbeleid moet de essentiële risicodienst behouden.
Eigenaar: systeem-/veiligheidsbeheer; interface: afzonderlijke crit48 W-tak
Proef: Stopweek en koude lege banken; bewijs: kritiek_DC_W / vent_tekort
Criterium: Stopweek voedt tak; koud_leeg toont tekort. Luchtkwaliteit/verblijfcontext nog niet gevalideerd.
Besluit: stopweek gevoed; koude lege proef faalt.
AI-01 — Alle features vóór dezelfde 24 h-doelhorizon beschikbaar.
Rationale: Toekomstinformatie mag de score niet vervalsen.
Eigenaar: data-eigenaar; interface: features / train-only schaal/lstsq
Proef: Tijdsplit en gelijke 35 testdagen; bewijs: forecast_archief.csv / forecast-JSON
Criterium: Fit tot 27-12-2020; alleen prognosefeatures; baseline/horizon gelijk 24 h; achterafscores als synthetisch labelen.
Besluit: synthetische demonstratie geslaagd.
AI-02 — Onthouding bij ontbrekende/ongeldige prognose; lokale terugval.
Rationale: Een buitengebiedmodel moet kunnen zwijgen.
Eigenaar: supervisor + lokale owner; interface: predict / begrensd voorstel
Proef: Ontbrekende T en −25 °C-prognose; bewijs: ai_onthouding in JSON
Criterium: null/status; lokaal 20 °C, nooit wijzigen van veiligheidsinstellingen.
Besluit: logica geslaagd.
L-01 — E47-S1-grens, 20 jaar, station plus één module; S2 expliciet.
Rationale: Impact vraagt een vaste grens en gelijke dienst.
Eigenaar: impactbeheer; interface: lca / S1→S2
Proef: B=8/12/16 × I=200/500/1000 × leven 8/10; bewijs: lca in resultaten.json
Criterium: S2=873,68 kg/jaar bij B=12/I=500/L=10; geen i38 extra/jaarweekfactor; jaardienst en bronkwaliteit open.
Besluit: screening geslaagd; jaarfunctie open.
B-01 — Geen PCR-/teelt-/ademgas-/medische claim zonder passend bewijs.
Rationale: Model- of targetbewijs geeft geen bredere voorziening.
Eigenaar: inhoudelijke reviewer; interface: onderzoeks-/acceptatiestatus
Proef: Claims e29–e33 tegen bewijsgrens lezen; bewijs: restonderzoek en eindrapport
Criterium: Geen onbewezen ras, potabiliteit/infectiviteit, ademgas/voedsel, diagnose/dosering/behandeling vrijgeven.
Besluit: geen behaalde stationsvoorziening.
Q-01 — Code, config, invoer en logs zelfstandig reproduceerbaar.
Rationale: Een andere leerling moet dezelfde proef kunnen draaien.
Eigenaar: reproduceerbeheer; interface: CLI/API / ingesloten bron
Proef: Schone map; twee runs; invoergenerator; bewijs: 26 uitvoerbestanden / SHA’s
Criterium: Alle 26 bestanden byte-identiek; invoer idem; geen verborgen imports/wallclock/NaN; tijd/eenheden/schema beschreven.
Besluit: behaald voor dit pakket.