Konsekvensanalys
Nordic står inför en till synes enkel fråga: kan xECM uppgraderas från 26.1.2 till 26.2.0?
Ett traditionellt gränssnitt kan svara med en graf där xECM har tolv grannar.
Ett annat kan visa att tre tenants binder den äldre versionen. Ett tredje kan
markera två kontrakt som skew. Alla tre kan vara korrekta och ändå besvara
olika frågor.
Matrix måste därför kunna säga mer än vad grafen når. Det måste kunna förklara:
- vilken förändring som analyserades,
- vilken modell och revision som användes,
- vilka objekt som kan exponeras för förändringen,
- vilka som sannolikt eller bekräftat påverkas,
- vilken evidens och täckning som stöder bedömningen,
- vilka luckor som förhindrar ett säkert svar,
- vilken handling som rekommenderas och vem som äger beslutet.
Konsekvensanalys är inte en färgad graf. Det är en granskningsbar argumentkedja.
1. En väg är inte en konsekvens
I en riktad graf betyder en väg att en sekvens av valda kanter förbinder två
noder. Resultatet beror på kantens riktning, vilka kanttyper som tillåts,
startnoder, maxdjup och hur vägar dedupliceras. Matrix graph-core använder
BFS och en global mängd redan sedda noder. Det ger i praktiken den första
hittade vägen per nod, inte alla möjliga argument för påverkan
(MATRIX-GRAPH-CORE).
Det är användbart för kandidatsökning men otillräckligt för kausalitet. En
DEPENDS_ON-kant kan betyda byggberoende, runtimeanrop, organisatoriskt ansvar
eller en historiskt deklarerad koppling. Att B är nåbar från A bevisar inte att
en förändring i A orsakar ett visst utfall i B. Kausal analys kräver ytterligare
antaganden om mekanism och alternativt förlopp (pearl2009causality,
CLAIM-IMPACT-001).
Det första språkliga skyddet är därför en progression:
- Reachable — nåbar: noden hittades med deklarerad frågesemantik.
- Exposed — exponerad: relationens betydelse gör att noden kan möta förändringen.
- Plausibly affected — troligen påverkad: scenario, version och mekanism ger ett trovärdigt påverkanargument.
- Confirmed affected — bekräftat påverkad: aktuell observation eller verifiering visar utfallet i relevant scope.
- Required action — krävd handling: policy, riskaptit och ägare gör en åtgärd nödvändig.
Varje förflyttning kräver mer än den föregående. En UI-badge får aldrig hoppa från reachable direkt till must fix utan att visa argumentet.
2. Tre olika impactbegrepp i Matrix
Den nuvarande implementationen innehåller minst tre meningsfulla former av impact.
2.1 Topologisk impact
graph-core kan traversera downstream, upstream eller båda riktningar och
returnera noder, kanter och vägar. Den rikare impactAnalysis kan också försöka
samla evidens. Matrix Command har en separat klientalgoritm där dependents
följer kanter baklänges och dependencies framåt (MATRIX-IMPACT-UI).
Denna analys svarar på: vilka grafobjekt ligger inom den valda beroendehorisonten?
2.2 Fleet- och versionsimpact
Fleet-analysen jämför tenantmanifest mot ett uppgraderingsscenario. En tenant
som binder paketet blir impacted; numerisk versionsjämförelse anger
behind, current, ahead eller unknown. Tenants utan paketbindning listas
som opåverkade för just paketfrågan (MATRIX-FLEET-IMPACT).
Denna analys svarar på: vilka tillåtna tenants är exponerade för den angivna
paketversionen? behind visar inte att verksamheten går sönder, bara att
bindningen ligger bakom målversionen.
2.3 Kontraktsimpact
Kontraktsanalysen går igenom CONSUMES-relationer och skiljer deklarerad från
observerad konsumtion. Resultatet är match, skew eller unknown; en okänd
runtimeversion blir inte grön (MATRIX-CONTRACT-SKEW).
Denna analys svarar på: stämmer den deklarerade och observerade kontraktsversionen för den konsumtion som faktiskt modellerats?
De tre resultaten bör visas bredvid varandra, inte pressas in i samma
odefinierade impactScore. Topologi kan finna en exponerad konsument, fleet
kan finna en tenant med äldre paket och kontraktsanalysen kan visa faktisk
skew. Tillsammans blir argumentet starkare, men de är fortfarande separata
claims.
3. Börja med förändringsscenariot
ATAM använder scenarier för att göra arkitekturkvaliteter och tradeoffs
konkreta (kazman1998atam). Samma princip behövs här. Frågan "vad påverkas av
xECM?" är för obestämd. Ett scenario ska åtminstone ange:
scenarioId
stimulus/changeType
subject: package, API, schema, policy, node eller process
beforeState + afterState
effectiveWindow
tenant/environment scope
assumptions
decisionQuestion
decisionThreshold
För Nordic kan scenariot vara:
subject: package xecm
before: 26.1.2
after: 26.2.0
scope: Nordic production och endast auktoriserade tenants
assumption: breaking-change-listan är komplett för använda operationer
question: vilka verifieringar krävs före rollout?
threshold: ingen blockerande contract skew och bekräftat kvittoflöde i canary
Matrix har redan konfigurerade fleet-scenarier med fromVersion och
toVersion (MATRIX-FLEET-SCENARIOS). Det är en bra kärna, men en fullständig
bedömning behöver också frågan, scope, tid, antaganden och beslutströskel
(CLAIM-IMPACT-002).
4. Bind också själva frågan
Samma scenario ger olika resultat om frågan körs med upstream i stället för downstream eller med djup två i stället för fem. Därför behöver resultatet ett frågekontrakt:
graphRevision + producer revisions
queriedAt
startNodeIds
direction
allowedEdgeKinds
maxDepth
pathPolicy: first | all | bounded-k
includeEvidence
tenant/zone authorization context
coverage policy version
engine + query semantics version
Om maxdjup nås ska resultatet bära en boundary: "ytterligare beroenden kan
finnas". Om en kant filtreras bort ska det gå att se vilken regel som gjorde
det. Om den globala visited-mängden bara bevarar första vägen får UI:t inte
formulera den som den enda orsaken (CLAIM-GRAPH-005).
RESEARCH-020 prövar därför ett additivt ImpactAssessment-envelope. Det ska
inte ersätta motorerna. Det ska göra deras svar jämförbara och
reproducerbara.
5. Från nåbar till exponerad
En nåbar nod klassificeras som exponerad först när kanttypen har definierad scenariosemantik. En enkel regelmatris kan se ut så här:
| Relation | Scenario | Exponeringsregel | Vad den inte bevisar |
|---|---|---|---|
CONSUMES |
API/schema ändras | konsumenten använder berörd kontraktsyta | att anropet misslyckas |
DEPENDS_ON |
package uppgraderas | beroendet ingår i berörd build/runtime | att inkompatibilitet finns |
EMITS |
eventformat ändras | mottagande flöde kan få nytt payload | att eventet faktiskt sänds |
OBSERVES |
probe ändras | observationstäckning kan ändras | att källsystemet är påverkat |
ATTESTS/PROVES |
kontroll ändras | evidensens relevans måste omprövas | att kontrollen fallerar |
OWNED_BY |
tjänst ändras | ägaren ska informeras eller besluta | teknisk runtimeeffekt |
Reglerna bör versionsbindas per kanttyp och scenariofamilj. En generisk "följ alla kanter" blandar teknisk propagation med ansvar, evidens och dokumentation.
6. Evidens måste följa sin egen semantik
I Matrix går en härledd PROVES-kant från observationen till definitionen:
endpointen bevisar ingressdefinitionen (MATRIX-PROVES-DERIVATION). I
processgrafen går även ATTESTS och VERIFIES från evidensbärande objekt mot
kontroll eller processobjekt.
Den rika impactmotorns kompletterande evidenssökning börjar däremot vid den
påverkade noden, söker utgående PROVES, VERIFIES, SUPPORTS och ATTESTS
och lägger bara målnoder av kind evidence i resultatet. Ett hermetiskt test
med evidence e --PROVES--> control c och startnod c gav:
{"evidence":[],"incoming":["e"]}
Grafen känner alltså den inkommande källan men evidensberikningen missar den.
RESEARCH-019 är en rekommenderad backlogkandidat med acceptanskriterier för
riktning och deduplicering. Felet betyder inte att all impactanalys är
ogiltig; det betyder att en tom evidence-lista i denna kodväg inte får
tolkas som "ingen evidens finns".
7. Okänt är ett eget resultat
Fem tillstånd måste hållas isär:
- unaffected: scenarioregel och tillräcklig täckning stödjer att objektet inte exponeras eller påverkas,
- affected: evidens och regel stödjer påverkan,
- not assessed: objektet låg utanför avsiktligt scope,
- unknown: nödvändig version, relation eller observation saknas,
- refused: analysen fick inte använda data på grund av tenant-, zon- eller policygräns.
Även truncated bör finnas som synlig egenskap när traversal eller
population avklippts. Okänd version, djupgräns och otillåten tenant får inte
hamna i unaffected (CLAIM-IMPACT-003).
Fleetkoden gör en viktig distinktion: okänd version får unknown, medan en
tenant som inte binder paketet kan bli opåverkad för just paketfrågan. Men
den senare slutsatsen gäller bara om manifestpopulationen och tenantfiltreringen
är tillräckligt täckta.
8. Coverage för impact
En impactbedömning behöver både grafcoverage och observationscoverage.
Grafcoverage frågar om alla relevanta producenter, tenants, relationstyper och revisionsintervall ingick. Observationscoverage frågar om de berörda runtimevägarna faktiskt observerades under relevant tid.
En minimal rapport kan innehålla:
expected producers/tenants/subjects
covered
missing
skipped with reason
refused
stale
unexpected
traversal boundaries
Matrix coverage-kontrakt ger redan dessa grundkategorier, men anroparen måste
definiera nämnaren (MATRIX-COVERAGE-CONTRACT). Utan nämnare kan "0 fel" betyda
att inget är fel eller att ingen tittade.
9. Deklarerad och observerad topologi
En deklarerad CONSUMES-kant kan vara gammal. En observerad span kan vara
samplad eller sakna sin andra halva. De ska därför inte skriva över varandra.
OpenTelemetry Collector service graph connector kan härleda servicekanter ur
parade client/server- eller producer/consumer-spans. Dokumentationen redovisar
också unpaired och dropped spans och komponenten är i alpha
(otel-servicegraph-connector). OpenLineage kan på motsvarande sätt uttrycka
observerade jobb, runs och datasetflöden (openlineage-spec).
Detta ger en användbar jämförelse:
| Deklarerat | Observerat | Tolkning |
|---|---|---|
| ja | ja | stödd aktiv relation inom observationsfönstret |
| ja | nej | kanske inaktiv, sällsynt, samplad eller feldeklarerad |
| nej | ja | möjlig shadow dependency eller saknad modellering |
| nej | nej | inget underlag; inte automatiskt opåverkad |
RESEARCH-021 föreslår en syntetisk pilot. Observerade kanter bör bli
tidsbundna claims med källor och coverage, inte automatiskt auktoritativ
arkitektur (CLAIM-IMPACT-005).
10. Tenant, fleet och informationsläckage
En fleetfråga är samtidigt en behörighetsfråga. Om en användare bara får se
Nordic får varken impacted, unaffectedTenantIds, totalsiffror eller
traversalvägar avslöja andra tenants. Filtrering efter att en global summary
räknats kan läcka själva existensen av skyddade objekt.
Den serverexponerade fleetfunktionen filtrerar impactresultat mot tillåtna
tenant-ID:n. Det är rätt principiell placering av gränsen
(MATRIX-FLEET-IMPACT, CLAIM-IMPACT-007). Ett generellt
ImpactAssessment måste bära vilket authorization scope som faktiskt
användes, utan att serialisera hemligheter.
För Nordic ska gränssnittet alltså inte säga "4 av 7 tenants påverkas" om operatören endast får se fyra. Det ska säga "4 av 4 auktoriserade tenants är exponerade; övrig population är inte synlig i detta beslutsscope".
11. Konsekvens i flera dimensioner
NIST SP 800-30 behandlar riskbedömning som stöd för val av handlingsalternativ,
med explicit osäkerhet och antaganden (nist80030r1). Matrix behöver ett
bredare verksamhetsperspektiv än enbart informationssäkerhet, men samma
disciplin: bryt ned innan du sammanväger.
| Dimension | Exempel i Nordic | Verifierbar fråga |
|---|---|---|
| Teknisk | API- eller schemaskev | passerar contract- och integrationstest? |
| Operativ | stopp i dokumentleverans | fungerar canary och rollback? |
| Kund | försenade eller avvisade dokument | vilka SLA/processer exponeras? |
| Data | ändrad metadata eller lineage | bevaras betydelse och härledning? |
| Säkerhet | nya scopes eller attackyta | ändras mandat eller kontroll? |
| Compliance | evidens eller retention bryts | kan kontrollen fortfarande attesteras? |
| Organisatorisk | nytt ägarskap/on-call-behov | vem fattar beslut och hanterar incident? |
En siffra som risk = sannolikhet × påverkan kan vara användbar för grov
rangordning när skalorna är definierade. Den får inte skapa låtsad precision.
Visa ursprungliga dimensioner, intervall, antaganden och vad som skulle ändra
bedömningen (CLAIM-IMPACT-004).
12. Simulation är ett villkorat påstående
Fleet-scenariot säger i praktiken: om paketet går till målversionen och dessa
manifest är aktuella, vilka tenantbindningar ligger då bakom? Det är en
kontrafaktisk fråga under modellantaganden. Det är inte en prognos om att en
incident säkert inträffar (CLAIM-IMPACT-006).
Ett simuleringsresultat bör därför uttryckas:
Under scenario S, modellrevision G och antaganden A
är objekt X exponerat via väg P.
Påverkan Y är trolig/bekräftad med evidens E.
Coverage är C; luckor är L.
Rekommenderad handling är H enligt policy R.
Efter canary eller rollout matas observerat utfall tillbaka som nya claims. Först då kan Matrix jämföra förväntad och faktisk påverkan och förbättra reglerna.
13. Ett gränssnitt som stödjer beslut
En användare ska kunna gå från fråga till förklaring utan att börja i en gigantisk graf.
Vy 1: scenario
Välj ändringstyp, före/efter, tid, tenant/miljö och beslut. Visa antaganden och vilken data som inte är åtkomlig.
Vy 2: sammanfattning
Visa separata mängder för nåbara, exponerade, troliga, bekräftade, unknown, refused och opåverkade. Bryt ned konsekvensdimensioner; använd inte ett ensamt rött antal.
Vy 3: varför
För varje objekt: relationstolkning, en eller flera kända vägar, källrevision, evidens, freshness, coverage och alternativa förklaringar. Markera uttryckligt när endast första BFS-vägen visas.
Vy 4: luckor och motbevis
Lista saknad version, avklippt traversal, stale observation, konflikt, otillåten tenant och test som skulle kunna ändra verdict.
Vy 5: handlingsalternativ
Jämför genomför, canary, skjut upp, isolera eller samla mer evidens. Visa tradeoffs, ägare, approval och verifieringsplan. Verkställighet hör fortsatt till ActionGateway, inte till impactvyn.
Vy 6: utfall
Efter förändringen jämförs förväntad och observerad konsekvens. Avvikelsen blir underlag för modell-, kontrakts- och processförbättring.
Figur FIG-08-01 sammanfattar denna kedja.
| FIG-08-01 — Från ändringsscenario till beslutbar konsekvensbedömning |
Visa diagramdefinition
flowchart LR
S[Ändringsscenario<br/>före → efter, scope, tid] --> R[Nåbarhet<br/>kanter, riktning, djup]
R --> E[Exponering<br/>vilka kan möta förändringen?]
E --> P[Trolig påverkan<br/>semantik + antaganden]
P --> C[Bekräftad påverkan<br/>observation + evidens]
C --> A[Krävd handling<br/>ägarbeslut + grind]
Q[Frågekontrakt<br/>grafrevision, filter, tenant] --> R
V[Evidens och coverage<br/>färskhet, luckor, konflikter] --> P
V --> C
U[Okänt eller avklippt] -. får inte bli opåverkat .-> A
A --> D{Beslut}
D -->|genomför| M[Mät utfall och uppdatera claims]
D -->|vägra eller utred| X[Ny evidens eller nytt scenario]
M --> N[Ny evidens för nästa analyscykel]
X --> N
14. När Matrix analyserar Matrix
Samma krav gäller systemets eget kontrollplan. En ändring i coordinatorns leasepolicy kan vara nåbar till agentkörningar, men påverkan måste skilja:
- levande agenter som exponerats för policyn,
- pausade agenter vars lease löper ut under fönstret,
- döda eller saknade workers,
- jobb vars resultat är stale eller saknar attestering,
- tenants och köer som inte får visas i aktuellt scope,
- prestandaförändring före och efter deployment.
Matrix kan inte trovärdigt förklara andra system om det inte lika tydligt kan förklara sitt eget tillstånd. En själv-impactvy bör använda samma scenario-, coverage-, evidens- och unknownmodell som kundlandskapet — inte en separat dashboard med andra sanningsregler.
15. Fallstudien som beslutsunderlag
Nordics xECM-uppgradering kan nu bedömas stegvis:
- Lås scenario 26.1.2 → 26.2.0 och Nordic production.
- Kör fleetanalys för auktoriserade tenantmanifest.
- Traversera relevanta
CONSUMES,DEPENDS_ON,EMITSoch kontrollrelationer med deklarerat djup och kantfilter. - Klassificera nåbara objekt som exponerade eller irrelevant nåbara.
- Jämför deklarerade och observerade kontraktsversioner.
- Hämta evidens i relationernas kanoniska riktning och redovisa den kända implementationsluckan tills den är åtgärdad.
- Kontrollera coverage, freshness, conflicts och authorization scope.
- Bedöm konsekvens per dimension och jämför rolloutalternativ.
- Kräv canary receipt, rollbackplan och namngiven ägare före handling.
- Läs tillbaka utfallet och uppdatera bedömningen.
Det trovärdiga svaret är kanske inte "ja" eller "nej". Det kan vara:
Två auktoriserade tenants är exponerade via deklarerad konsumtion. En har bekräftad kontraktsskew, en har okänd runtimeversion. Dokumentflödets observation är färsk men populationstäckningen saknas. Genomför inte full rollout; samla versionsevidens och kör canary med kvitto- och rollbacktest.
Detta är Matrix värde: inte fler noder, utan ett beslut där det går att se vad systemet vet, varför det tror det och vad som fortfarande kan motbevisa det.
Sammanfattning
- Reachability är kandidatsökning, inte kausalitet eller konsekvens.
- Scenario, modellrevision och frågesemantik är del av resultatet.
- Exponering, trolig påverkan, bekräftad påverkan och handling är olika claims.
- Unknown, refused, not assessed och truncated får inte bli unaffected.
- Graf-, fleet- och contract-impact är komplementära bevislinjer.
- Deklarerad och observerad topologi ska jämföras med synlig coverage.
- Konsekvens bryts ned i dimensioner innan risk eller prioritet sammanvägs.
- Simulation är villkorad; verkligt utfall måste läsas tillbaka.
- Matrix egen coordinator ska kunna analyseras med exakt samma ärlighet.
Fördjupningsmaterial
Övningar och laboration
Övningar och laboration
Övning 1: fem klassificeringsnivåer
För följande objekt i Nordic-fallet — API-konsument, dokumentprocess, monitoringprobe, kontrollägare och tenantmanifest — avgör om det är nåbart, exponerat, troligen påverkat, bekräftat påverkat eller kräver handling. Dokumentera vilket ytterligare belägg som krävs för nästa nivå.
Övning 2: två vägar, två argument
Rita två vägar från xECM till samma dokumentprocess: en via CONSUMES och en
via OBSERVES. Förklara varför vägarna inte är utbytbara och hur en global
visited-mängd kan dölja den andra vägen.
Övning 3: unknown är inte grönt
Klassificera följande: saknad runtimeversion, tenant utanför behörighet,
traversal som når maxdjup, stale span, manifest utan paketbindning och komplett
verifierad negativ canary. Använd exakt ett av unaffected, affected,
not-assessed, unknown, refused; lägg till truncated när relevant.
Övning 4: tradeoffs
Jämför full rollout, canary, uppskjuten rollout och isolerad kompatibilitetsnod för xECM 26.2. Bedöm teknisk, operativ, kund-, data-, säkerhets-, compliance- och organisatorisk konsekvens utan att börja med ett totalscore.
Laboration: bygg ett reproducerbart ImpactAssessment
Scenario
Nordic överväger xECM 26.1.2 → 26.2.0. Grafen innehåller paket, API-kontrakt, konsumenter, dokumentprocess, monitoring, kontroll och evidens. Fleet-fixturen innehåller minst tre syntetiska tenants med current, behind och unknown version.
Leverabler
- versionsbundet scenario med före/efter, scope, antaganden och beslutströskel,
- query envelope med grafrevision, riktning, kantfilter, maxdjup och pathpolicy,
- separata reachable-, exposed-, plausible-, confirmed- och action-mängder,
- contract- och fleetresultat som egna claims,
- evidence- och coverage report,
- konsekvensmatris i sju dimensioner,
- minst två handlingsalternativ och deras tradeoffs,
- maskinläsbart assessment plus mänsklig beslutsförklaring,
- plan för read-back av faktiskt utfall.
Obligatoriska mutationer
- reversera en
CONSUMES-kant, - ändra
maxDepthså att en process precis hamnar utanför, - lägg till en andra väg till samma nod,
- ta bort en tenant ur populationen utan att ändra count-texten,
- sätt en runtimeversion till
unknown, - gör observationen stale,
- lägg
evidence --PROVES--> controloch starta analysen vid kontrollen, - låt en tenant ligga utanför operatörens behörighet,
- lägg in deklarerad kant utan observerad trafik,
- lägg in observerad trafik utan deklarerad kant.
För varje mutation ska studenten ange vilka mängder som förändras, vilka som inte får förändras och om bedömningen ska bli unknown, refused eller truncated. En tom evidenslista får inte tolkas som frånvaro innan riktningen kontrollerats.
Acceptanskriterier
- Samma input och revisionslås ger samma assessment-digest.
- Reachable presenteras aldrig automatiskt som affected.
- Unknown/refused/truncated räknas aldrig som unaffected.
- Minst två vägar kan redovisas eller resultatet deklarerar first-path-policy.
- Tenantfilter tillämpas före counts och serialisering.
- Evidensens riktning testas mot den kanoniska
PROVES-relationen. - Beslutsförklaringen innehåller ett möjligt motbevis och nästa verifierbara handling.
Bedömning, 24 poäng
| Del | Poäng |
|---|---|
| Scenario, revisionslås och frågekontrakt | 4 |
| Klassificering från reachable till action | 4 |
| Kantsemantik, vägar och evidens | 4 |
| Coverage, unknown och tenantgräns | 4 |
| Konsekvensdimensioner och tradeoffs | 4 |
| Reproducerbar förklaring och read-back | 4 |
Godkänt kräver minst 15 poäng samt att tenantläckage, unknown-as-unaffected och evidensriktningsfelet fångas.
Källor och begränsningar
Kapitelkällor
| Cite-key/käll-ID | Funktion | Begränsning |
|---|---|---|
angles2008graphmodels |
Formell bakgrund till grafmodeller och traversal. | Ger inte domänsemantik eller kausalitet. |
pearl2009causality |
Avgränsar kausala modeller från vanlig association och nåbarhet. | Matrix har inte därmed en färdig kausal modell. |
kazman1998atam |
Scenariodriven arkitekturbedömning och tradeoff points. | ATAM är en metod, inte en runtime-impactmotor. |
nist80030r1 |
Riskbedömning som beslutsunderlag med hot, sårbarhet, sannolikhet och påverkan. | Säkerhetsriskperspektiv; kapitlets dimensioner är bredare. |
otel-servicegraph-connector |
Härleder observerade servicekanter ur parade spans. | Alpha; sampling och oparade spans kan göra bilden ofullständig. |
openlineage-spec |
Observerade jobb-, run- och datasetrelationer. | Täcker inte alla tekniska eller organisatoriska beroenden. |
| MATRIX-GRAPH-CORE | Faktisk traversal, impact-BFS och evidensberikning. | BFS behåller första väg per nod; rik evidenssökning har verifierad riktningslucka. |
| MATRIX-IMPACT-UI | Dependents/dependencies-semantik och uttrycklig honesty note. | Klientsidig, saknar gemensamt versionsbundet assessment-envelope. |
| MATRIX-FLEET-IMPACT / MATRIX-FLEET-SCENARIOS | Tenantbindning och versionsskew för uppgraderingsscenario. | Modellerar exponering/version, inte alla konsekvensdimensioner. |
| MATRIX-CONTRACT-SKEW | Skiljer declared/observed och match/skew/unknown. | Kontraktsavvikelse är en dimension, inte total påverkan. |
| MATRIX-PROVES-DERIVATION | Kanonisk riktning evidence/observation → definition. | En PROVES-kant behöver fortfarande bedömas i sitt scope. |
Argumentkarta
Argumentkarta: konsekvensanalys
Huvudtes
Konsekvensanalys är en versionsbunden argumentkedja från förändringsscenario till beslut. Grafnåbarhet avgränsar kandidater men blir först beslutbar när relationernas betydelse, evidens, coverage, tenantgräns och konsekvensdimension redovisas.
Kedja
- En grafväg visar nåbarhet, inte kausal effekt (
CLAIM-IMPACT-001). - Scenario och frågekontrakt måste bindas till resultatet
(
CLAIM-IMPACT-002). - Okänt och avklippt hålls skilda från opåverkat (
CLAIM-IMPACT-003). - Konsekvens bryts ned innan prioritering (
CLAIM-IMPACT-004). - Deklarerad och observerad topologi jämförs utan att blandas ihop
(
CLAIM-IMPACT-005). - Simulation är villkorad analys, inte säker prognos (
CLAIM-IMPACT-006). - Behörighet verkställs innan aggregation (
CLAIM-IMPACT-007).
Motbevisande test
Om ett node-count från standard-BFS ensamt kan reproducera samma beslut efter reverserad kant, ändrat maxdjup, okänd version, saknad observation, alternativ väg och tenantfilter behövs inte det rikare kontraktet. Laborationen visar varför resultatet förändras eller måste bli okänt.
Faktagranskning och öppna beslut
Kapitelgranskning
Status: första manusutkast 2026-08-11. Intern implementations-, risk-, säkerhets-, observability- och pedagogisk granskning gjord. Extern arkitektur-/riskgranskning och körbar assessment-fixture återstår.
Faktagranskning
graph-coreanvänder BFS med global seen-mängd och bevarar i praktiken första funna väg per nod.- Den rika impactanalysen söker extra evidens via utgående
PROVES/VERIFIES/SUPPORTS/ATTESTSoch kräver målnod kindevidence. - Kanonisk
PROVES-derivering går observation/evidens → definition. - Hermetiskt test 2026-08-11 bekräftar tom evidenslista för inkommande
evidence e --PROVES--> control c, trots attesyns som incoming. - Fleetimpact skiljer behind/current/ahead/unknown och gissar inte okända versioner.
- Kontraktsanalysen skiljer declared/observed och skew/match/unknown.
- Matrix Command beskriver sina resultat som producerad grafdata, inte automatiskt runtime status.
Akademisk och metodmässig granskning
- Grafteori används för nåbarhet, inte som kausalitetsbevis.
- Pearl används för avgränsningen kausal modell, inte för påståendet att Matrix redan implementerar en sådan.
- ATAM används för scenario och tradeoffdisciplin, inte som impactalgoritm.
- NIST SP 800-30 används som riskbedömningsram; Matrix dimensioner är bredare.
- Inga precisa riskpoäng rekommenderas utan definierade skalor och kalibrering.
Arkitektur- och säkerhetsgranskning
RESEARCH-019är rekommenderad först efter reproducerat riktningsfel; ingen Matrix-fil ändras.RESEARCH-020är ett additivt envelope-experiment, inte beslut om ny kärna.RESEARCH-021kräver syntetisk pilot och beaktar alpha-status, sampling, oparade spans, retention och tenantgräns.- Server-side tenantfilter måste föregå counts, paths och sammanfattning.
- Impactvyn får föreslå men inte kringgå ActionGateway.
Pedagogisk granskning
- Nordic följer samma case genom graf-, fleet- och contract-impact.
- Mutationerna prövar riktning, djup, alternativ väg, coverage, freshness, evidens och tenantgräns.
- Bedömningen kräver motbevis och nästa handling, inte bara korrekt node-count.
Öppna beslut
- Vilka edge kinds har stabil exponeringssemantik per scenariofamilj?
- Ska pathpolicy stödja all-paths, bounded-k eller förklaringsspecifik sökning?
- Vem äger
ImpactAssessmentoch dess revisions-/digestkontrakt? - Hur visas authorization-luckor utan att existensen av andra tenants läcker?
- Vilka observerade topologisignaler har tillräcklig coverage för produktbruk?
Kapitelkontrakt
Syfte
Göra konsekvensanalys till ett granskningsbart beslutsunderlag i stället för en grafvisualisering. Kapitlet visar hur ett förändringsscenario stegvis går från nåbarhet till exponering, trolig och bekräftad påverkan samt krävd handling.
Lärandemål
Studenten ska kunna specificera ett reproducerbart impactscenario, skilja beroende från kausalitet, behandla evidens och coverage explicit, analysera tenant- och kontraktspåverkan samt formulera beslut med synliga antaganden och kunskapsluckor.
Fallstudiehändelse
Nordic överväger att uppgradera xECM från 26.1.2 till 26.2.0. Studenten ska avgöra vilka integrationer, processer, kontroller och tenants som är kandidater för påverkan, vad som faktiskt är belagt och vilka verifieringar som krävs före beslut.