Files
breakpilot-compliance/docs-src/architecture/journey-model-spec-v1.md
T

6.9 KiB
Raw Blame History

Journey Model — specification (PROPOSAL v1, decision pending)

  • Status: PROPOSAL / draft — to be VALIDATED before any code. Not an accepted ADR yet.
  • Datum: 2026-06-28
  • Typ: Konzeptionelles Datenmodell (KEIN Runtime-Modul, KEINE neue Architektur)
  • Bezug: ADR-003, ADR-004, ADR-009, ADR-010, transition-reasoning

1. Problem

Wir produzieren drei Artefakte je Transition: Transition Pattern, Playbook, Reference Scenario. Alle drei beschreiben dieselbe Geschichte aus verschiedenen Blickwinkeln. Wird derselbe Übergang (z. B. ISO 9001 → MaschinenVO) in Pattern + Playbook + Szenario + Interview je separat modelliert, duplizieren wir die Transition — genau das Problem, das wir bei Controls/Capabilities/ Requirements mit der Identitätsmaschine gelöst haben.

Damals: Controls nicht duplizieren. Heute: Transitionen nicht duplizieren.

2. Hypothese

Es gibt unter den Artefakten ein gemeinsames Objekt — die Journey — als Wissenseinheit; alles andere ist ein Renderer (rendered, not modeled). Diese Spezifikation prüft die Hypothese an der vorhandenen Transition ISO 27001 → CRA, bevor irgendetwas gebaut wird.

3. Die Wissenseinheit: Journey (Vorschlag)

Journey
  identity:        from (Ausgangszustand) → to (Zielzustand)        # = transition_goal
  source_variants: certified | introduced | expired | limited_scope  # Start-Zustands-Varianten
  likely_covered[]: { capability, relationship, confidence_source, verification, rationale, reviewable_claim, expected_evidence }
  delta[]:          { capability, why_missing, needed_information, expected_evidence, priority, dropped_if }
  rejected_assumptions[]
  # ── alles darunter ist ABGELEITET, nicht gespeichert ──
  (derived) questions       ← delta            (RS-005)
  (derived) measures        ← delta × leverage (Optimization)
  (derived) evidence_needs  ← likely_covered.expected_evidence + delta.expected_evidence
  (derived) verification    ← evidence × Reality        (Vision V2, künftig)

Wahrheits-Hierarchie: Atomic Requirement → Capability → Journey (× Company-Kontext bei Instanz). Alles andere wird gerendert.

4. Renderer (rendered, not modeled)

Renderer Was er zeigt Quelle
Transition Pattern die KURATIERTE generische Journey (likely_covered + delta + rationale) = der authored core der Journey (gespeichert/kuratiert)
Interview fehlende Informationen → Fragen Journey.delta (RS-005)
Roadmap Maßnahmen nach regulatorischem Hebel Journey.delta × Leverage (Optimization)
Reference Scenario erwartetes Ergebnis für ein Referenz-Unternehmen Journey × Company/Product-Kontext + Expected Outcome
Evidence-View welche Nachweise erfüllen die Anforderung Journey.evidence_needs × Reality
Rollen-Views Sales→Executive Summary · Auditor→Capability Delta · Developer→Evidence · GF→Roadmap gefilterte Projektionen DER EINEN Journey

Vier Rollen-Views, aber nur eine Journey.

5. Validierung an ISO 27001 → CRA (grounded, nicht hypothetisch)

Geprüft gegen die echten Artefakte: TP-ISO27001-CRA-v1.yaml, die Playbooks sbom_creation/ coordinated_vulnerability_disclosure, die Reference Scenarios RTS-001/002/003.

Artefakt Felder projiziert aus der Journey?
Transition Pattern transition_goal, source_state_variants, likely_covered[] (relationship/rationale/reviewable_claim/expected_evidence), delta_requirements[] (why_asked/needed_information/expected_evidence/priority/dropped_if), rejected_assumptions JA — IST der authored core der Journey (1:1).
Interview (RS-005) question_requests aus delta JA — derived. Kein eigenes Primärdatum.
Roadmap (Optimization) Maßnahmen nach Leverage aus delta JA — derived.
Reference Scenario reference_company{sector, certs, product_traits} + expected_outcome{cra, maschinenvo, data_act, convergence} TEILWEISE — Journey × Company-Kontext. Die Transition-Erkenntnis (likely_covered/delta) ist DIESELBE wie im Pattern; NEU ist nur der gebundene Company/Product-Kontext + die Expected-Outcome-Assertion (Regression). Kein dupliziertes Transitionswissen.
Playbook capability_id, why, tools, process_steps, expected_evidence, how_others_do_it NEIN — pro CAPABILITY, nicht pro Journey. sbom_creation wird von JEDER Journey wiederverwendet, deren Delta SBOM enthält. Bleibt capability-owned (ADR-004); die Journey aggregiert die Playbooks ihrer Delta-Capabilities, besitzt sie nicht.

6. Befund (ehrlich)

Die Vereinheitlichung HÄLT — mit zwei Präzisierungen, die eine voreilige Abstraktion VERMEIDEN:

  1. Pattern · Interview · Roadmap · Evidence · Rollen-Views = dieselbe Journey (Pattern = kuratierter Kern; der Rest derived). → rendered, not modeled gilt für die abgeleiteten Sichten.
  2. Reference Scenario = Journey × Company-Kontext + Expected Outcome — kein zweites Transitionsmodell, sondern die Journey instanziiert für ein Referenz-Unternehmen (Regression).
  3. Playbook = Capability-Renderer, NICHT Journey-Renderer (andere Achse: Capability, nicht Transition). Die Journey aggregiert, besitzt nicht. → das ist die früh erkannte Grenze, die verhindert, dass wir Playbooks fälschlich in die Journey zwingen.

Konsequenz: Die Transition wird genau EINMAL kuratiert (heute „Transition Pattern" = der Journey- Kern). Interview/Roadmap/Reference-Outcome/Rollen-Views werden daraus gerendert. Playbooks bleiben capability-owned und werden referenziert. Damit ist ISO 9001 → MaschinenVO (und jede weitere Transition) ein EINZIGES kuratiertes Objekt, kein vierfach gepflegtes.

7. Neues Prinzip (Vorschlag)

Neben computed, not stored und derived, not curated:

rendered, not modeled — Transition Pattern, Playbook-Aggregat, Roadmap, Interview, Rollen-View sind keine eigenständigen Modelle, sondern Sichten auf Journey (+ Capability + Company-Kontext).

8. Was das NICHT ist / nächste Schritte

  • Kein Code, kein Runtime-Modul, keine neue Architektur (Freeze unberührt). Diese Spec ist ein konzeptionelles Datenmodell zur Entscheidung.
  • Wenn akzeptiert: der „Transition Pattern" wird zum Journey-Dokument (gleiche YAML-Struktur, präziserer Name); Renderer bleiben abgeleitet; Playbook bleibt capability-owned. Dann ggf. ADR-011.
  • Wenn verworfen: die drei Artefakte bleiben getrennt — aber dieser Befund zeigt, dass sie sich zu ~90 % aus einer Journey ergeben; das Risiko liegt nur bei der Company-Kontext-Bindung (RTS) und der Capability-Achse (Playbook), die ohnehin schon getrennt sind.
  • Non-runtime → kein Deploy (ADR-001).