ALVA deployment config
Guidad Felsökning / test-och-bygg (push) Has been cancelled
Guidad Felsökning / tjanster (push) Has been cancelled
Guidad Felsökning / terraform (push) Has been cancelled
Guidad Felsökning / leverantorskedja (push) Has been cancelled
Guidad Felsökning / aterstallning (push) Has been cancelled
Guidad Felsökning / publicera (push) Has been cancelled
Guidad Felsökning / driftsatt (push) Has been cancelled
Guidad Felsökning / test-och-bygg (push) Has been cancelled
Guidad Felsökning / tjanster (push) Has been cancelled
Guidad Felsökning / terraform (push) Has been cancelled
Guidad Felsökning / leverantorskedja (push) Has been cancelled
Guidad Felsökning / aterstallning (push) Has been cancelled
Guidad Felsökning / publicera (push) Has been cancelled
Guidad Felsökning / driftsatt (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
// ALVA-SPEC-071 · Säkerhetsnivåns tak.
|
||||
//
|
||||
// ---- Bakgrund (panelgranskningen, garantisätet) --------------------------
|
||||
//
|
||||
// Säkerhetsnivån i felorsaksanalysen — hög, medel, låg — valdes fritt av
|
||||
// teknikern. Ett självskattat värde som ser ut som en mätning är värre än
|
||||
// inget värde: en garantihandläggare kan inte prissätta det, och den som
|
||||
// har bråttom väljer "hög" av samma skäl som den skriver "klart".
|
||||
//
|
||||
// Panelens lösning, som blev regeln här: nivån HÄRLEDS ur underlaget och
|
||||
// sätter ett TAK. Teknikern kan sänka — den som vet något om fordonets
|
||||
// historia som underlaget inte visar ska kunna vara ärligt osäker — men
|
||||
// aldrig höja. Asymmetrin är poängen: ingen kan påstå högre säkerhet än
|
||||
// evidensen bär, och en sänkning är information i stället för misstanke.
|
||||
//
|
||||
// ---- Vad taket räknar på -------------------------------------------------
|
||||
//
|
||||
// HÖG kräver att orsakskedjan är sluten i båda ändar: symptomet
|
||||
// reproducerat (inte "delvis" — delvis är ett annat ord för att felet
|
||||
// inte är förstått) OCH minst ett spårbart mätvärde (mätdon ur registret,
|
||||
// alltså E4). En slutsats utan mätning kan vara rätt, men den kan inte
|
||||
// vara HÖG — det är precis skillnaden mellan att veta och att känna igen.
|
||||
//
|
||||
// MEDEL kräver evidens över E1: foto, video eller mätvärde. Enbart
|
||||
// observationer — teknikerns egna påståenden — bär inte medel.
|
||||
//
|
||||
// LÅG är alltid tillåten. Ett golv vore att tvinga fram falsk säkerhet.
|
||||
//
|
||||
// Taket är avsiktligt ETT MÅTT PÅ UNDERLAGET, inte på resonemanget.
|
||||
// Professorssätet varnade för att en formel som räknar foton utger sig
|
||||
// för att mäta diagnostisk säkerhet — det gör den inte, och det står
|
||||
// därför i både namn och dokumentation att det är ett TAK, inte ett
|
||||
// betyg. Formeln säger vad underlaget som mest kan bära; om slutsatsen
|
||||
// förtjänar det avgörs fortfarande av en människa.
|
||||
|
||||
const ORDNING = ["lag", "medel", "hog"];
|
||||
|
||||
/** Rangordnar nivåer; okänd nivå räknas som lägst. */
|
||||
const rang = (niva) => Math.max(0, ORDNING.indexOf(niva));
|
||||
|
||||
/**
|
||||
* Högsta säkerhetsnivå underlaget bär.
|
||||
*
|
||||
* @param handelser ärendets händelselogg (klartextform)
|
||||
* @returns "hog" | "medel" | "lag"
|
||||
*/
|
||||
export function sakerhetstak(handelser) {
|
||||
const av = (typ) => handelser.filter((h) => h?.typ === typ);
|
||||
|
||||
const reproducerat = av("reproducering").some((h) => h.status === "ja");
|
||||
// Spårbart = mätdonet kommer ur registret OCH kalibreringen gällde
|
||||
// när mätningen togs emot. Stämpeln `kalibreradVidMatning` sätts av
|
||||
// servern vid uppslaget (TÜV T-2, TÜV-2 T-13) — utan den räknade
|
||||
// taket ett instrument med utgången kalibrering som spårbart, och
|
||||
// "hög" gick att nå med ett mätdon som evidensmodellen själv graderar
|
||||
// E1. Fältet går inte att dikta från klienten: mätdonsFakta skriver
|
||||
// alltid över det.
|
||||
//
|
||||
// Strikt även bakåt: ett mätvärde utan stämpel (skrivet före
|
||||
// regeln) räknas INTE som spårbart. Samma princip som för påstådda
|
||||
// beteckningar — det som inte kan styrkas bär inte "hög".
|
||||
const sparbartMatvarde = av("matvarde").some((h) => h.matdonId && h.kalibreradVidMatning === true);
|
||||
const evidensOverE1 =
|
||||
sparbartMatvarde || av("matvarde").length > 0 || av("foto").length > 0 || av("video").length > 0;
|
||||
|
||||
if (reproducerat && sparbartMatvarde) return "hog";
|
||||
if (evidensOverE1) return "medel";
|
||||
return "lag";
|
||||
}
|
||||
|
||||
/** Är den påstådda nivån inom taket? Sänkning är alltid tillåten. */
|
||||
export function inomTak(pastadd, tak) {
|
||||
return rang(pastadd) <= rang(tak);
|
||||
}
|
||||
Reference in New Issue
Block a user