[
    {
        "key": "baseline_freeze",
        "seq": 10,
        "phase": "foundation",
        "milestone": "0.79.0",
        "pl": "Baseline i freeze zakresu",
        "en": "Baseline and scope freeze",
        "purposePl": "Zamrożenie zakresu, właścicieli, konfiguracji bezpieczeństwa i punktu odniesienia przed walidacją.",
        "purposeEn": "Freeze scope, owners, safety configuration and baseline before validation.",
        "owner": "release_owner",
        "reviewer": "operations_owner",
        "start": -140,
        "end": -126,
        "tasks": [
            {
                "key": "baseline_inventory",
                "seq": 10,
                "pl": "Inwentaryzacja środowisk i modułów",
                "en": "Environment and module inventory",
                "descPl": "Udokumentuj staging, UAT i produkcję, wersje, domeny, integracje oraz właścicieli.",
                "descEn": "Document staging, UAT and production, versions, domains, integrations and owners.",
                "owner": "release_owner",
                "reviewer": "infrastructure_owner",
                "start": -140,
                "end": -136,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "baseline_backup",
                "seq": 20,
                "pl": "Pełny backup punktu startowego",
                "en": "Full baseline backup",
                "descPl": "Wykonaj dump bazy, backup kodu i storage poza hostingiem.",
                "descEn": "Create database dump, code backup and storage backup outside the hosting account.",
                "owner": "infrastructure_owner",
                "reviewer": "release_owner",
                "start": -140,
                "end": -136,
                "blocking": true,
                "severity": "critical",
                "check": "backup_evidence_present",
                "dependencies": [
                    "baseline_inventory"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "scope_freeze",
                "seq": 30,
                "pl": "Freeze zakresu funkcjonalnego",
                "en": "Functional scope freeze",
                "descPl": "Od tej chwili tylko poprawki P0/P1 i zmiany zatwierdzone przez change control.",
                "descEn": "From this point only P0/P1 fixes and change-controlled changes are permitted.",
                "owner": "release_owner",
                "reviewer": "clinical_owner",
                "start": -138,
                "end": -132,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "baseline_inventory"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "appoint_program_owners",
                "seq": 40,
                "pl": "Przypisanie właścicieli programu",
                "en": "Assign programme owners",
                "descPl": "Przypisz clinical, operations, release, security, privacy, data, document, support i infrastructure owners.",
                "descEn": "Assign clinical, operations, release, security, privacy, data, document, support and infrastructure owners.",
                "owner": "release_owner",
                "reviewer": "management",
                "start": -138,
                "end": -128,
                "blocking": true,
                "severity": "critical",
                "check": "program_roles_assigned",
                "dependencies": [
                    "scope_freeze"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "safety_guard_baseline",
                "seq": 50,
                "pl": "Baseline guardów bezpieczeństwa",
                "en": "Safety guard baseline",
                "descPl": "Potwierdź wyłączone auto-send, auto-sign, auto-GO, auto-stage move, auto-discharge i Digital Twin auto-apply.",
                "descEn": "Confirm auto-send, auto-sign, auto-GO, auto-stage move, auto-discharge and Digital Twin auto-apply are disabled.",
                "owner": "security_owner",
                "reviewer": "clinical_owner",
                "start": -136,
                "end": -126,
                "blocking": true,
                "severity": "critical",
                "check": "safety_guards_off",
                "dependencies": [
                    "appoint_program_owners"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "regulatory_intended_use",
        "seq": 20,
        "phase": "regulatory",
        "milestone": "0.79.4",
        "pl": "Przeznaczenie, MDR i AI Act",
        "en": "Intended purpose, MDR and AI Act",
        "purposePl": "Formalna klasyfikacja przeznaczenia klinicznego, oprogramowania medycznego i komponentów AI.",
        "purposeEn": "Formal classification of intended purpose, medical-device software and AI components.",
        "owner": "clinical_owner",
        "reviewer": "privacy_owner",
        "start": -136,
        "end": -105,
        "tasks": [
            {
                "key": "intended_use_statement",
                "seq": 10,
                "pl": "Zatwierdzone przeznaczenie systemu",
                "en": "Approved intended-purpose statement",
                "descPl": "Zdefiniuj, które funkcje są administracyjne, informacyjne i klinicznie decyzyjne.",
                "descEn": "Define which functions are administrative, informational and clinically decision-supporting.",
                "owner": "clinical_owner",
                "reviewer": "medical_director",
                "start": -136,
                "end": -128,
                "blocking": true,
                "severity": "critical",
                "check": "regulatory_intended_use_complete",
                "dependencies": [
                    "safety_guard_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "mdr_qualification",
                "seq": 20,
                "pl": "Ocena kwalifikacji MDSW",
                "en": "MDSW qualification assessment",
                "descPl": "Oceń każdą funkcję AI/clinical decision support według MDR i aktualnej MDCG 2019-11.",
                "descEn": "Assess every AI/clinical decision-support function under MDR and current MDCG 2019-11.",
                "owner": "regulatory_owner",
                "reviewer": "clinical_owner",
                "start": -132,
                "end": -118,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "intended_use_statement"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "mdr_rule11_classification",
                "seq": 30,
                "pl": "Klasyfikacja MDR Rule 11",
                "en": "MDR Rule 11 classification",
                "descPl": "Jeśli funkcja jest MDSW, ustal klasę i ścieżkę oceny zgodności.",
                "descEn": "If a function qualifies as MDSW, determine class and conformity-assessment path.",
                "owner": "regulatory_owner",
                "reviewer": "medical_director",
                "start": -125,
                "end": -112,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "mdr_qualification"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "ai_act_assessment",
                "seq": 40,
                "pl": "Ocena AI Act",
                "en": "AI Act assessment",
                "descPl": "Ustal, czy komponent AI jest systemem wysokiego ryzyka lub komponentem urządzenia medycznego.",
                "descEn": "Determine whether an AI component is high-risk or part of a medical device.",
                "owner": "regulatory_owner",
                "reviewer": "security_owner",
                "start": -125,
                "end": -112,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "intended_use_statement"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "clinical_safety_case_plan",
                "seq": 50,
                "pl": "Plan clinical safety case",
                "en": "Clinical safety case plan",
                "descPl": "Zdefiniuj hazard log, kontrolę ryzyka, human oversight i kryteria residual risk.",
                "descEn": "Define hazard log, risk controls, human oversight and residual-risk criteria.",
                "owner": "clinical_owner",
                "reviewer": "medical_director",
                "start": -120,
                "end": -105,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "intended_use_statement"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "privacy_data_governance",
        "seq": 30,
        "phase": "regulatory",
        "milestone": "0.79.2",
        "pl": "RODO, DPIA i governance danych",
        "en": "GDPR, DPIA and data governance",
        "purposePl": "Ocena skutków, minimalizacja danych, retencja, procesorzy i prawa pacjenta.",
        "purposeEn": "Impact assessment, data minimisation, retention, processors and patient rights.",
        "owner": "privacy_owner",
        "reviewer": "security_owner",
        "start": -132,
        "end": -98,
        "tasks": [
            {
                "key": "data_flow_map",
                "seq": 10,
                "pl": "Mapa przepływu danych",
                "en": "Data-flow map",
                "descPl": "Zmapuj dane od intake, OCR i portalu przez dokumenty, komunikację, laboratoria, OR i aftercare.",
                "descEn": "Map data from intake, OCR and portal through documents, communication, labs, OR and aftercare.",
                "owner": "privacy_owner",
                "reviewer": "data_owner",
                "start": -132,
                "end": -122,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "scope_freeze"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "dpia",
                "seq": 20,
                "pl": "DPIA dla danych zdrowotnych i AI",
                "en": "DPIA for health data and AI",
                "descPl": "Wykonaj i zatwierdź ocenę skutków dla ochrony danych, w tym OCR, AI, kamerę, mobile i social media.",
                "descEn": "Perform and approve a data protection impact assessment covering OCR, AI, camera, mobile and social media.",
                "owner": "privacy_owner",
                "reviewer": "dpo",
                "start": -126,
                "end": -108,
                "blocking": true,
                "severity": "critical",
                "check": "dpia_approved",
                "dependencies": [
                    "data_flow_map"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "legal_basis_register",
                "seq": 30,
                "pl": "Rejestr podstaw prawnych",
                "en": "Legal-basis register",
                "descPl": "Przypisz podstawę prawną, cel, retencję i odbiorców do każdej kategorii danych.",
                "descEn": "Assign legal basis, purpose, retention and recipients to each data category.",
                "owner": "privacy_owner",
                "reviewer": "legal_owner",
                "start": -124,
                "end": -105,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "data_flow_map"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "processor_agreements",
                "seq": 40,
                "pl": "Umowy powierzenia i subprocesorzy",
                "en": "Processor agreements and subprocessors",
                "descPl": "Zweryfikuj hosting, e-mail, SMS, push, AI/OCR i store services.",
                "descEn": "Verify hosting, e-mail, SMS, push, AI/OCR and app-store services.",
                "owner": "privacy_owner",
                "reviewer": "legal_owner",
                "start": -118,
                "end": -102,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "data_flow_map"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "data_subject_rights",
                "seq": 50,
                "pl": "Obsługa praw pacjenta",
                "en": "Patient rights workflow",
                "descPl": "Przetestuj dostęp, sprostowanie, eksport, ograniczenie i audyt udostępnień.",
                "descEn": "Test access, correction, export, restriction and disclosure audit.",
                "owner": "privacy_owner",
                "reviewer": "operations_owner",
                "start": -112,
                "end": -98,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "legal_basis_register"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "security_infrastructure",
        "seq": 40,
        "phase": "technical",
        "milestone": "0.79.2",
        "pl": "Bezpieczeństwo i infrastruktura produkcyjna",
        "en": "Security and production infrastructure",
        "purposePl": "Kwalifikacja hostingu, bazy, sieci, urządzeń, monitoringu, kopii zapasowych i DR.",
        "purposeEn": "Qualification of hosting, database, network, devices, monitoring, backup and DR.",
        "owner": "infrastructure_owner",
        "reviewer": "security_owner",
        "start": -126,
        "end": -70,
        "tasks": [
            {
                "key": "staging_clone",
                "seq": 10,
                "pl": "Izolowane środowisko staging/UAT",
                "en": "Isolated staging/UAT environment",
                "descPl": "Utwórz odseparowane środowisko z kopią schematu i danymi syntetycznymi.",
                "descEn": "Create an isolated environment with schema copy and synthetic data.",
                "owner": "infrastructure_owner",
                "reviewer": "security_owner",
                "start": -126,
                "end": -118,
                "blocking": true,
                "severity": "critical",
                "check": "staging_qualified",
                "dependencies": [
                    "baseline_backup"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "production_capacity_decision",
                "seq": 20,
                "pl": "Decyzja o bazie produkcyjnej",
                "en": "Production database capacity decision",
                "descPl": "Na podstawie alertów OVH zdecyduj o Web Cloud Databases lub równoważnej instancji.",
                "descEn": "Based on OVH alerts, decide on Web Cloud Databases or an equivalent managed instance.",
                "owner": "infrastructure_owner",
                "reviewer": "management",
                "start": -120,
                "end": -105,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "baseline_inventory"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "backup_restore_drill",
                "seq": 30,
                "pl": "Próba backup/restore",
                "en": "Backup/restore drill",
                "descPl": "Odtwórz bazę, kod i storage na osobnym środowisku i udokumentuj RPO/RTO.",
                "descEn": "Restore database, code and storage into a separate environment and document RPO/RTO.",
                "owner": "infrastructure_owner",
                "reviewer": "release_owner",
                "start": -118,
                "end": -98,
                "blocking": true,
                "severity": "critical",
                "check": "backup_restore_proof",
                "dependencies": [
                    "staging_clone"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "rbac_security_test",
                "seq": 40,
                "pl": "Test RBAC i bezpośrednich URL",
                "en": "RBAC and direct-URL test",
                "descPl": "Przetestuj wszystkie role, break-glass, sesje i dostęp do danych medycznych.",
                "descEn": "Test all roles, break-glass access, sessions and medical-data access.",
                "owner": "security_owner",
                "reviewer": "privacy_owner",
                "start": -110,
                "end": -90,
                "blocking": true,
                "severity": "critical",
                "check": "security_critical_zero",
                "dependencies": [
                    "staging_clone"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "vulnerability_review",
                "seq": 50,
                "pl": "Przegląd podatności i konfiguracji",
                "en": "Vulnerability and configuration review",
                "descPl": "Sprawdź zależności, nagłówki, TLS, sekrety, uploady, CSRF, XSS, SQLi i rate limiting.",
                "descEn": "Review dependencies, headers, TLS, secrets, uploads, CSRF, XSS, SQLi and rate limiting.",
                "owner": "security_owner",
                "reviewer": "release_owner",
                "start": -106,
                "end": -86,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "rbac_security_test"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "performance_load_test",
                "seq": 60,
                "pl": "Test wydajności i współbieżności",
                "en": "Performance and concurrency test",
                "descPl": "Przetestuj krytyczne ścieżki przy docelowej liczbie równoległych użytkowników i budżecie zapytań.",
                "descEn": "Test critical paths at target concurrency and query budget.",
                "owner": "infrastructure_owner",
                "reviewer": "operations_owner",
                "start": -100,
                "end": -78,
                "blocking": true,
                "severity": "critical",
                "check": "performance_qualified",
                "dependencies": [
                    "production_capacity_decision"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "observability_alerting",
                "seq": 70,
                "pl": "Monitoring, alerty i dyżury",
                "en": "Monitoring, alerts and on-call",
                "descPl": "Skonfiguruj błędy 500, slow queries, backup, dostępność, logi i eskalację.",
                "descEn": "Configure 500 errors, slow queries, backup, availability, logs and escalation.",
                "owner": "support_owner",
                "reviewer": "infrastructure_owner",
                "start": -96,
                "end": -70,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "staging_clone"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "data_content_configuration",
        "seq": 50,
        "phase": "configuration",
        "milestone": "0.79.3",
        "pl": "Dane, treści i konfiguracja kliniczna",
        "en": "Data, content and clinical configuration",
        "purposePl": "Normalizacja master data, migracja próbna, treści PL/EN i reguły kliniczne.",
        "purposeEn": "Master-data normalisation, migration rehearsal, PL/EN content and clinical rules.",
        "owner": "data_owner",
        "reviewer": "clinical_owner",
        "start": -112,
        "end": -63,
        "tasks": [
            {
                "key": "master_data_clean",
                "seq": 10,
                "pl": "Master Data Clean Room zakończony",
                "en": "Master Data Clean Room completed",
                "descPl": "Zatwierdź procedury, role, lokalizacje, statusy, typy dokumentów, implanty i mapowania legacy.",
                "descEn": "Approve procedures, roles, sites, statuses, document types, implants and legacy mappings.",
                "owner": "data_owner",
                "reviewer": "operations_owner",
                "start": -112,
                "end": -96,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "scope_freeze"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "migration_dry_run",
                "seq": 20,
                "pl": "Data Migration Dry Run",
                "en": "Data Migration Dry Run",
                "descPl": "Wykonaj migrację na kopii danych oraz rekonsyliację count/hash/manual review.",
                "descEn": "Run migration on a data copy and reconcile count/hash/manual review.",
                "owner": "data_owner",
                "reviewer": "release_owner",
                "start": -105,
                "end": -82,
                "blocking": true,
                "severity": "critical",
                "check": "migration_reconciled",
                "dependencies": [
                    "master_data_clean",
                    "staging_clone"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "content_blocks_pl",
                "seq": 30,
                "pl": "Zatwierdzone Content Blocks PL",
                "en": "Approved PL Content Blocks",
                "descPl": "Zatwierdź polskie zgody, informacje, zalecenia, wypisy, powikłania i FAQ.",
                "descEn": "Approve Polish consents, information, instructions, discharge documents, complications and FAQ.",
                "owner": "document_owner",
                "reviewer": "clinical_owner",
                "start": -100,
                "end": -78,
                "blocking": true,
                "severity": "critical",
                "check": "documents_pl_approved",
                "dependencies": [
                    "intended_use_statement"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "content_blocks_en",
                "seq": 40,
                "pl": "Zatwierdzone Content Blocks EN",
                "en": "Approved EN Content Blocks",
                "descPl": "Zatwierdź osobne angielskie wersje prawno-kliniczne; bez automatycznego tłumaczenia jako źródła prawdy.",
                "descEn": "Approve separate English legal/clinical versions; no machine translation as source of truth.",
                "owner": "document_owner",
                "reviewer": "legal_owner",
                "start": -96,
                "end": -74,
                "blocking": true,
                "severity": "critical",
                "check": "documents_en_approved",
                "dependencies": [
                    "content_blocks_pl"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "clinical_rule_signoff",
                "seq": 50,
                "pl": "Sign-off reguł klinicznych",
                "en": "Clinical-rule sign-off",
                "descPl": "Zatwierdź badania, anestezjologię, GO/HOLD, dokumenty, płatności, implanty, PACU, wypis i aftercare.",
                "descEn": "Approve labs, anaesthesia, GO/HOLD, documents, payments, implants, PACU, discharge and aftercare.",
                "owner": "clinical_owner",
                "reviewer": "medical_director",
                "start": -96,
                "end": -70,
                "blocking": true,
                "severity": "critical",
                "check": "clinical_governance_complete",
                "dependencies": [
                    "clinical_safety_case_plan",
                    "content_blocks_pl"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "communication_templates",
                "seq": 60,
                "pl": "QA komunikacji PL/EN",
                "en": "PL/EN communication QA",
                "descPl": "Zatwierdź szablony, tokeny, zgody, kanały i brak auto-send.",
                "descEn": "Approve templates, tokens, consents, channels and no-auto-send policy.",
                "owner": "patient_experience_owner",
                "reviewer": "privacy_owner",
                "start": -90,
                "end": -68,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "dpia",
                    "content_blocks_pl",
                    "content_blocks_en"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "site_inventory_capacity",
                "seq": 70,
                "pl": "Konfiguracja SITE/OR/PACU/magazynu",
                "en": "SITE/OR/PACU/inventory configuration",
                "descPl": "Zweryfikuj lokalizacje, sale, łóżka, PACU, magazyny, implanty, LOT/SN i recall.",
                "descEn": "Verify sites, rooms, beds, PACU, warehouses, implants, lot/SN and recall.",
                "owner": "operations_owner",
                "reviewer": "or_manager",
                "start": -88,
                "end": -63,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "master_data_clean"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "technical_verification",
        "seq": 60,
        "phase": "verification",
        "milestone": "0.79.2",
        "pl": "Weryfikacja techniczna i automatyczna",
        "en": "Technical and automated verification",
        "purposePl": "Lint, testy regresji, API, browser/mobile, migracje, integralność i bezpieczeństwo.",
        "purposeEn": "Lint, regression, API, browser/mobile, migrations, integrity and security.",
        "owner": "release_owner",
        "reviewer": "security_owner",
        "start": -98,
        "end": -55,
        "tasks": [
            {
                "key": "static_validation",
                "seq": 10,
                "pl": "Pełna walidacja PHP/JS/CSS/SQL",
                "en": "Full PHP/JS/CSS/SQL validation",
                "descPl": "Uruchom walidatory na skumulowanym drzewie i finalnym ZIP.",
                "descEn": "Run validators on the cumulative tree and final ZIP.",
                "owner": "release_owner",
                "reviewer": "security_owner",
                "start": -98,
                "end": -84,
                "blocking": true,
                "severity": "critical",
                "check": "static_validation_pass",
                "dependencies": [
                    "scope_freeze"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "schema_diff",
                "seq": 20,
                "pl": "Schema diff i ledger migracji",
                "en": "Schema diff and migration ledger",
                "descPl": "Porównaj staging z oczekiwanym schematem i potwierdź ledger/checksum.",
                "descEn": "Compare staging with expected schema and confirm ledger/checksums.",
                "owner": "data_owner",
                "reviewer": "release_owner",
                "start": -94,
                "end": -80,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "static_validation"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "api_integration_tests",
                "seq": 30,
                "pl": "Testy API i integracji",
                "en": "API and integration tests",
                "descPl": "Przetestuj Portal, Communication Hub, OCR, laboratoria, płatności, mobile i push w trybie testowym.",
                "descEn": "Test Portal, Communication Hub, OCR, labs, payments, mobile and push in test mode.",
                "owner": "release_owner",
                "reviewer": "operations_owner",
                "start": -90,
                "end": -72,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "schema_diff",
                    "staging_clone"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "browser_device_matrix",
                "seq": 40,
                "pl": "Browser i device matrix",
                "en": "Browser and device matrix",
                "descPl": "Przetestuj Chrome, Edge, Safari, iOS, Android, tablet, kamera, jasny/ciemny motyw i PL/EN.",
                "descEn": "Test Chrome, Edge, Safari, iOS, Android, tablet, camera, light/dark theme and PL/EN.",
                "owner": "training_owner",
                "reviewer": "release_owner",
                "start": -86,
                "end": -66,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "static_validation"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "immutable_document_test",
                "seq": 50,
                "pl": "Test immutable signed snapshot",
                "en": "Immutable signed-snapshot test",
                "descPl": "Potwierdź manifest, hash, Content Blocks, podpis, Consent Vault i eksport PDF.",
                "descEn": "Confirm manifest, hash, Content Blocks, signature, Consent Vault and PDF export.",
                "owner": "document_owner",
                "reviewer": "privacy_owner",
                "start": -80,
                "end": -60,
                "blocking": true,
                "severity": "critical",
                "check": "immutable_document_proof",
                "dependencies": [
                    "content_blocks_pl",
                    "schema_diff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "runtime_preflight_go",
                "seq": 60,
                "pl": "Runtime Preflight bez critical fail",
                "en": "Runtime Preflight without critical fail",
                "descPl": "Wykonaj pojedynczy pełny run i zamknij wszystkie critical fail.",
                "descEn": "Run one full preflight and close all critical failures.",
                "owner": "release_owner",
                "reviewer": "operations_owner",
                "start": -65,
                "end": -55,
                "blocking": true,
                "severity": "critical",
                "check": "runtime_preflight_go",
                "dependencies": [
                    "api_integration_tests",
                    "rbac_security_test",
                    "observability_alerting"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "clinical_sandbox",
        "seq": 70,
        "phase": "validation",
        "milestone": "0.79.0",
        "pl": "Clinical Sandbox Beta",
        "en": "Clinical Sandbox Beta",
        "purposePl": "Wykonanie syntetycznych ścieżek pozytywnych i negatywnych bez danych realnych.",
        "purposeEn": "Execution of positive and negative synthetic pathways without real data.",
        "owner": "clinical_owner",
        "reviewer": "release_owner",
        "start": -72,
        "end": -50,
        "tasks": [
            {
                "key": "sandbox_campaign",
                "seq": 10,
                "pl": "Pełna kampania scenariuszy syntetycznych",
                "en": "Complete synthetic-scenario campaign",
                "descPl": "Wykonaj wszystkie scenariusze 2.4.1 z właściwymi rolami i dowodami.",
                "descEn": "Execute all 2.4.1 scenarios with proper roles and evidence.",
                "owner": "training_owner",
                "reviewer": "clinical_owner",
                "start": -72,
                "end": -58,
                "blocking": true,
                "severity": "critical",
                "check": "sandbox_campaign_pass",
                "dependencies": [
                    "runtime_preflight_go",
                    "clinical_rule_signoff",
                    "immutable_document_test"
                ],
                "evidence": "test_results",
                "milestone": "0.79.0"
            },
            {
                "key": "sandbox_defects_closed",
                "seq": 20,
                "pl": "Defekty P0/P1 z Sandbox zamknięte",
                "en": "Sandbox P0/P1 defects closed",
                "descPl": "Wszystkie błędy blokujące bezpieczeństwo i workflow muszą zostać naprawione i zretestowane.",
                "descEn": "All safety and workflow blocking defects must be fixed and retested.",
                "owner": "release_owner",
                "reviewer": "clinical_owner",
                "start": -64,
                "end": -50,
                "blocking": true,
                "severity": "critical",
                "check": "sandbox_p0_p1_closed",
                "dependencies": [
                    "sandbox_campaign"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "role_uat",
        "seq": 80,
        "phase": "validation",
        "milestone": "0.79.1",
        "pl": "UAT wszystkich ról",
        "en": "All-role UAT",
        "purposePl": "Realne wykonanie scenariuszy przez personel według roli, bez fikcyjnego auto-pass.",
        "purposeEn": "Real execution of scenarios by staff by role, without synthetic auto-pass.",
        "owner": "training_owner",
        "reviewer": "operations_owner",
        "start": -60,
        "end": -35,
        "tasks": [
            {
                "key": "uat_assign_roles",
                "seq": 10,
                "pl": "Przypisano 8 krytycznych ról",
                "en": "Eight critical roles assigned",
                "descPl": "Przypisz recepcję, koordynację, chirurga, anestezjologa, pielęgniarkę, OR, magazyn i dyrekcję.",
                "descEn": "Assign reception, coordination, surgeon, anaesthesia, nurse, OR, supply and management.",
                "owner": "training_owner",
                "reviewer": "operations_owner",
                "start": -60,
                "end": -55,
                "blocking": true,
                "severity": "critical",
                "check": "uat_roles_assigned",
                "dependencies": [
                    "sandbox_defects_closed",
                    "appoint_program_owners"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "uat_executable_run",
                "seq": 20,
                "pl": "Wykonywalny run role_uat",
                "en": "Executable role_uat run",
                "descPl": "Każda rola wykonuje własny przypadek, a wynik i dowód zapisują się w bazie.",
                "descEn": "Each role executes its own case and stores result and evidence in the database.",
                "owner": "training_owner",
                "reviewer": "clinical_owner",
                "start": -56,
                "end": -42,
                "blocking": true,
                "severity": "critical",
                "check": "uat_role_coverage",
                "dependencies": [
                    "uat_assign_roles"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "uat_findings_triaged",
                "seq": 30,
                "pl": "Ustalenia UAT sklasyfikowane",
                "en": "UAT findings triaged",
                "descPl": "Każde ustalenie ma P0–P3, właściciela, termin, status i retest.",
                "descEn": "Every finding has P0–P3, owner, due date, status and retest.",
                "owner": "operations_owner",
                "reviewer": "release_owner",
                "start": -50,
                "end": -38,
                "blocking": true,
                "severity": "critical",
                "check": "uat_findings_triaged",
                "dependencies": [
                    "uat_executable_run"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "uat_signoffs",
                "seq": 40,
                "pl": "Sign-off wszystkich ról",
                "en": "All-role sign-off",
                "descPl": "Właściwi właściciele potwierdzają gotowość lub dokumentują blocker.",
                "descEn": "Appropriate owners confirm readiness or document a blocker.",
                "owner": "operations_owner",
                "reviewer": "clinical_owner",
                "start": -44,
                "end": -35,
                "blocking": true,
                "severity": "critical",
                "check": "uat_signoffs_complete",
                "dependencies": [
                    "uat_findings_triaged"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "shadow_mode",
        "seq": 90,
        "phase": "pilot",
        "milestone": "0.80.0",
        "pl": "Shadow Mode Pilot",
        "en": "Shadow Mode Pilot",
        "purposePl": "Porównanie Baltique OS z aktualnym procesem bez przejęcia odpowiedzialności produkcyjnej.",
        "purposeEn": "Compare Baltique OS with the current process without production authority.",
        "owner": "operations_owner",
        "reviewer": "clinical_owner",
        "start": -35,
        "end": -21,
        "tasks": [
            {
                "key": "shadow_cohort",
                "seq": 10,
                "pl": "Zatwierdzona kohorta shadow mode",
                "en": "Approved shadow-mode cohort",
                "descPl": "Utwórz kohortę z zakresem procedur, lokalizacją, guardrails i kryteriami stop.",
                "descEn": "Create a cohort with procedure scope, site, guardrails and stop criteria.",
                "owner": "operations_owner",
                "reviewer": "clinical_owner",
                "start": -35,
                "end": -32,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "uat_signoffs"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "shadow_comparisons",
                "seq": 20,
                "pl": "Porównania procesu referencyjnego",
                "en": "Reference-process comparisons",
                "descPl": "Zapisz co najmniej 10 kompletnych porównań bez krytycznej rozbieżności.",
                "descEn": "Record at least 10 complete comparisons without critical discrepancy.",
                "owner": "data_owner",
                "reviewer": "operations_owner",
                "start": -31,
                "end": -23,
                "blocking": true,
                "severity": "critical",
                "check": "shadow_mode_pass",
                "dependencies": [
                    "shadow_cohort"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "shadow_incidents_closed",
                "seq": 30,
                "pl": "Incydenty shadow mode zamknięte",
                "en": "Shadow-mode incidents closed",
                "descPl": "Brak otwartych P0/P1 przed przejściem do pilota kontrolowanego.",
                "descEn": "No open P0/P1 before controlled pilot.",
                "owner": "support_owner",
                "reviewer": "clinical_owner",
                "start": -28,
                "end": -21,
                "blocking": true,
                "severity": "critical",
                "check": "no_open_p0_p1",
                "dependencies": [
                    "shadow_comparisons"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "controlled_pilot",
        "seq": 100,
        "phase": "pilot",
        "milestone": "0.80.1",
        "pl": "Controlled Pilot",
        "en": "Controlled Pilot",
        "purposePl": "Ograniczony pilot na wybranej lokalizacji, procedurze i zespole z pełnym fallbackiem.",
        "purposeEn": "Limited pilot at a selected site, procedure and team with full fallback.",
        "owner": "operations_owner",
        "reviewer": "medical_director",
        "start": -21,
        "end": -10,
        "tasks": [
            {
                "key": "pilot_governance_approval",
                "seq": 10,
                "pl": "Zatwierdzenie pilota",
                "en": "Pilot governance approval",
                "descPl": "Zatwierdź zakres, kohortę, personel, kryteria stop, support i fallback.",
                "descEn": "Approve scope, cohort, staff, stop criteria, support and fallback.",
                "owner": "clinical_owner",
                "reviewer": "management",
                "start": -21,
                "end": -18,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "shadow_incidents_closed",
                    "dpia",
                    "clinical_safety_case_plan"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "pilot_cases_complete",
                "seq": 20,
                "pl": "Przypadki pilota ukończone",
                "en": "Pilot cases completed",
                "descPl": "Wykonaj ograniczoną liczbę spraw zgodnie z protokołem i udokumentuj odstępstwa.",
                "descEn": "Execute a limited number of cases under protocol and document deviations.",
                "owner": "operations_owner",
                "reviewer": "clinical_owner",
                "start": -18,
                "end": -12,
                "blocking": true,
                "severity": "critical",
                "check": "controlled_pilot_pass",
                "dependencies": [
                    "pilot_governance_approval"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "pilot_safety_review",
                "seq": 30,
                "pl": "Safety review pilota",
                "en": "Pilot safety review",
                "descPl": "Brak nierozwiązanych incydentów P0/P1 i jawna decyzja GO/HOLD/NO-GO.",
                "descEn": "No unresolved P0/P1 and explicit GO/HOLD/NO-GO decision.",
                "owner": "clinical_owner",
                "reviewer": "medical_director",
                "start": -13,
                "end": -10,
                "blocking": true,
                "severity": "critical",
                "check": "pilot_safety_pass",
                "dependencies": [
                    "pilot_cases_complete"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "production_candidate",
        "seq": 110,
        "phase": "release",
        "milestone": "0.90.0",
        "pl": "Production Candidate i freeze",
        "en": "Production Candidate and freeze",
        "purposePl": "Finalny artefakt, migracja, lock konfiguracji, treści, bezpieczeństwa i rollback.",
        "purposeEn": "Final artifact, migration, configuration/content/security lock and rollback.",
        "owner": "release_owner",
        "reviewer": "operations_owner",
        "start": -14,
        "end": -5,
        "tasks": [
            {
                "key": "release_artifact",
                "seq": 10,
                "pl": "Finalny artefakt z manifestem i SHA256",
                "en": "Final artifact with manifest and SHA256",
                "descPl": "Zbuduj, podpisz checksumem i zarchiwizuj finalny build.",
                "descEn": "Build, checksum-sign and archive the final build.",
                "owner": "release_owner",
                "reviewer": "security_owner",
                "start": -14,
                "end": -10,
                "blocking": true,
                "severity": "critical",
                "check": "release_artifact_ready",
                "dependencies": [
                    "pilot_safety_review",
                    "static_validation"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "final_migration_rehearsal",
                "seq": 20,
                "pl": "Finalna próba migracji",
                "en": "Final migration rehearsal",
                "descPl": "Wykonaj migrację i rekonsyliację na kopii produkcyjnej z czasem wykonania.",
                "descEn": "Run migration and reconciliation on a production copy with timing.",
                "owner": "data_owner",
                "reviewer": "release_owner",
                "start": -13,
                "end": -9,
                "blocking": true,
                "severity": "critical",
                "check": "migration_reconciled",
                "dependencies": [
                    "migration_dry_run",
                    "release_artifact"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "config_content_security_lock",
                "seq": 30,
                "pl": "Config/content/security lock",
                "en": "Config/content/security lock",
                "descPl": "Zablokuj konfigurację, treści kliniczne, role, safety guards i sekrety.",
                "descEn": "Lock configuration, clinical content, roles, safety guards and secrets.",
                "owner": "release_owner",
                "reviewer": "security_owner",
                "start": -10,
                "end": -7,
                "blocking": true,
                "severity": "critical",
                "check": "config_lock_ready",
                "dependencies": [
                    "release_artifact",
                    "content_blocks_en",
                    "vulnerability_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "rollback_point",
                "seq": 40,
                "pl": "Zweryfikowany rollback point",
                "en": "Verified rollback point",
                "descPl": "Potwierdź backup, restore proof, rollback owner, próg decyzji i czas odtworzenia.",
                "descEn": "Confirm backup, restore proof, rollback owner, decision threshold and recovery time.",
                "owner": "infrastructure_owner",
                "reviewer": "release_owner",
                "start": -10,
                "end": -6,
                "blocking": true,
                "severity": "critical",
                "check": "rollback_ready",
                "dependencies": [
                    "backup_restore_drill",
                    "release_artifact"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "production_observability",
                "seq": 50,
                "pl": "Monitoring produkcyjny gotowy",
                "en": "Production monitoring ready",
                "descPl": "Alerty, logi, health checks, slow query, backup i support rota są aktywne.",
                "descEn": "Alerts, logs, health checks, slow queries, backup and support rota are active.",
                "owner": "support_owner",
                "reviewer": "infrastructure_owner",
                "start": -9,
                "end": -5,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "observability_alerting",
                    "performance_load_test"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "cutover_rehearsal",
        "seq": 120,
        "phase": "release",
        "milestone": "0.80.6",
        "pl": "Cutover Rehearsal i Incident Drill",
        "en": "Cutover rehearsal and incident drill",
        "purposePl": "Pełna próba runbooka z checkpointami i kontrolowanym rollbackiem.",
        "purposeEn": "Full runbook rehearsal with checkpoints and controlled rollback.",
        "owner": "release_owner",
        "reviewer": "operations_owner",
        "start": -7,
        "end": -2,
        "tasks": [
            {
                "key": "cutover_rehearsal_run",
                "seq": 10,
                "pl": "Próba cutover zakończona PASS",
                "en": "Cutover rehearsal completed PASS",
                "descPl": "Wykonaj wszystkie kroki w kolejności, smoke tests i decyzję rollback.",
                "descEn": "Execute all ordered steps, smoke tests and rollback decision.",
                "owner": "release_owner",
                "reviewer": "operations_owner",
                "start": -7,
                "end": -4,
                "blocking": true,
                "severity": "critical",
                "check": "cutover_rehearsal_pass",
                "dependencies": [
                    "config_content_security_lock",
                    "rollback_point",
                    "production_observability"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "incident_drill",
                "seq": 20,
                "pl": "Incident drill zakończony",
                "en": "Incident drill completed",
                "descPl": "Przećwicz 500, niedostępność bazy, brak dokumentu, komunikację, PACU i rollback.",
                "descEn": "Drill 500 errors, database outage, missing documents, communication, PACU and rollback.",
                "owner": "support_owner",
                "reviewer": "clinical_owner",
                "start": -6,
                "end": -3,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "cutover_rehearsal_run"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "staff_cutover_briefing",
                "seq": 30,
                "pl": "Ostatni briefing personelu",
                "en": "Final staff cutover briefing",
                "descPl": "Potwierdź role, kanały supportu, procedurę fallback i zasady komunikacji.",
                "descEn": "Confirm roles, support channels, fallback procedure and communication rules.",
                "owner": "training_owner",
                "reviewer": "operations_owner",
                "start": -4,
                "end": -2,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "uat_signoffs",
                    "incident_drill"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "final_go_no_go",
        "seq": 130,
        "phase": "release",
        "milestone": "0.90.8",
        "pl": "Final No-Go Review i approval",
        "en": "Final No-Go Review and approval",
        "purposePl": "Jedna formalna decyzja na podstawie dowodów, nie deklaracji.",
        "purposeEn": "One formal decision based on evidence, not declarations.",
        "owner": "release_owner",
        "reviewer": "medical_director",
        "start": -2,
        "end": -1,
        "tasks": [
            {
                "key": "final_readiness_run",
                "seq": 10,
                "pl": "Finalny readiness run",
                "en": "Final readiness run",
                "descPl": "Wykonaj master readiness i Runtime Preflight po freeze.",
                "descEn": "Run master readiness and Runtime Preflight after freeze.",
                "owner": "release_owner",
                "reviewer": "operations_owner",
                "start": -2,
                "end": -1,
                "blocking": true,
                "severity": "critical",
                "check": "master_readiness_go",
                "dependencies": [
                    "cutover_rehearsal_run",
                    "staff_cutover_briefing"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "regulatory_release_gate",
                "seq": 20,
                "pl": "Regulatory release gate",
                "en": "Regulatory release gate",
                "descPl": "Wszystkie obowiązkowe oceny MDR/AI/RODO mają zakończoną decyzję i dowód.",
                "descEn": "All mandatory MDR/AI/GDPR assessments have completed decisions and evidence.",
                "owner": "regulatory_owner",
                "reviewer": "legal_owner",
                "start": -2,
                "end": -1,
                "blocking": true,
                "severity": "critical",
                "check": "regulatory_gate_go",
                "dependencies": [
                    "mdr_rule11_classification",
                    "ai_act_assessment",
                    "dpia",
                    "clinical_safety_case_plan"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "executive_signoff",
                "seq": 30,
                "pl": "Formalny sign-off go-live",
                "en": "Formal go-live sign-off",
                "descPl": "Clinical, operations, release, security/privacy i zarząd podpisują zakres oraz znane ryzyka.",
                "descEn": "Clinical, operations, release, security/privacy and management sign scope and known risks.",
                "owner": "management",
                "reviewer": "medical_director",
                "start": -1,
                "end": -1,
                "blocking": true,
                "severity": "critical",
                "check": "go_live_signoffs_complete",
                "dependencies": [
                    "final_readiness_run",
                    "regulatory_release_gate"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "go_live_day",
        "seq": 140,
        "phase": "go_live",
        "milestone": "1.0.0",
        "pl": "Go-live 1.0",
        "en": "Go-live 1.0",
        "purposePl": "Kontrolowane uruchomienie w ograniczonym zakresie z aktywnym supportem i rollbackiem.",
        "purposeEn": "Controlled launch in limited scope with active support and rollback.",
        "owner": "operations_owner",
        "reviewer": "clinical_owner",
        "start": 0,
        "end": 0,
        "tasks": [
            {
                "key": "day_zero_backup",
                "seq": 10,
                "pl": "Backup Day Zero potwierdzony",
                "en": "Day-zero backup confirmed",
                "descPl": "Potwierdź aktualny backup i jego dostępność przed pierwszym pacjentem.",
                "descEn": "Confirm current backup and availability before the first patient.",
                "owner": "infrastructure_owner",
                "reviewer": "release_owner",
                "start": 0,
                "end": 0,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "executive_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "day_zero_preflight",
                "seq": 20,
                "pl": "Preflight Day Zero = GO",
                "en": "Day-zero Preflight = GO",
                "descPl": "Uruchom jeden pełny Preflight po deployment i przed pracą.",
                "descEn": "Run one full Preflight after deployment and before operations.",
                "owner": "release_owner",
                "reviewer": "operations_owner",
                "start": 0,
                "end": 0,
                "blocking": true,
                "severity": "critical",
                "check": "runtime_preflight_go",
                "dependencies": [
                    "day_zero_backup"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "critical_smoke_tests",
                "seq": 30,
                "pl": "Krytyczne smoke tests PASS",
                "en": "Critical smoke tests PASS",
                "descPl": "Logowanie, pacjent, Work Queue, dokument, GO/HOLD, Communication, OR i backup health.",
                "descEn": "Login, patient, Work Queue, document, GO/HOLD, Communication, OR and backup health.",
                "owner": "release_owner",
                "reviewer": "clinical_owner",
                "start": 0,
                "end": 0,
                "blocking": true,
                "severity": "critical",
                "check": "cutover_live_steps_pass",
                "dependencies": [
                    "day_zero_preflight"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "go_live_command",
                "seq": 40,
                "pl": "Command Center i support aktywne",
                "en": "Command Center and support active",
                "descPl": "Potwierdź commander, clinical owner, operations, infrastructure i support.",
                "descEn": "Confirm commander, clinical owner, operations, infrastructure and support.",
                "owner": "operations_owner",
                "reviewer": "management",
                "start": 0,
                "end": 0,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "critical_smoke_tests"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "hypercare",
        "seq": 150,
        "phase": "post_live",
        "milestone": "1.0.1",
        "pl": "Hypercare 30 dni",
        "en": "30-day hypercare",
        "purposePl": "Codzienny monitoring kliniczny, operacyjny i techniczny po uruchomieniu.",
        "purposeEn": "Daily clinical, operational and technical monitoring after launch.",
        "owner": "support_owner",
        "reviewer": "operations_owner",
        "start": 1,
        "end": 30,
        "tasks": [
            {
                "key": "daily_hypercare",
                "seq": 10,
                "pl": "Codzienne dyżury i handover",
                "en": "Daily shifts and handover",
                "descPl": "Prowadź dyżury, P0/P1, wydajność, komunikację, dokumenty, OR, PACU i aftercare.",
                "descEn": "Run shifts, P0/P1, performance, communication, documents, OR, PACU and aftercare.",
                "owner": "support_owner",
                "reviewer": "operations_owner",
                "start": 1,
                "end": 30,
                "blocking": true,
                "severity": "critical",
                "check": "hypercare_coverage",
                "dependencies": [
                    "go_live_command"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "first_case_review",
                "seq": 20,
                "pl": "Przegląd pierwszej realnej sprawy",
                "en": "First real-case review",
                "descPl": "Przejrzyj end-to-end Case Spine, dokumenty, płatności, GO/HOLD i audit.",
                "descEn": "Review end-to-end Case Spine, documents, payments, GO/HOLD and audit.",
                "owner": "clinical_owner",
                "reviewer": "operations_owner",
                "start": 1,
                "end": 7,
                "blocking": true,
                "severity": "critical",
                "check": "first_case_review_complete",
                "dependencies": [
                    "go_live_command"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "first_or_day_review",
                "seq": 30,
                "pl": "Przegląd pierwszego dnia OR",
                "en": "First OR-day review",
                "descPl": "Zweryfikuj Event Stream, staff, implanty, PACU, opóźnienia i wypis.",
                "descEn": "Verify Event Stream, staff, implants, PACU, delays and discharge.",
                "owner": "or_manager",
                "reviewer": "clinical_owner",
                "start": 1,
                "end": 10,
                "blocking": true,
                "severity": "critical",
                "check": "first_or_review_complete",
                "dependencies": [
                    "go_live_command"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "process_baseline",
                "seq": 40,
                "pl": "Baseline Process Mining",
                "en": "Process Mining baseline",
                "descPl": "Zapisz bazowe KPI po pierwszych realnych sprawach.",
                "descEn": "Record baseline KPIs after the first real cases.",
                "owner": "data_owner",
                "reviewer": "operations_owner",
                "start": 7,
                "end": 30,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "first_case_review",
                    "first_or_day_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "stabilization",
        "seq": 160,
        "phase": "post_live",
        "milestone": "1.0.9",
        "pl": "Stabilizacja 90 dni",
        "en": "90-day stabilization",
        "purposePl": "Usunięcie P0/P1, optymalizacja wydajności i dopasowanie workflow do realnej pracy.",
        "purposeEn": "Close P0/P1, optimise performance and align workflow with real work.",
        "owner": "operations_owner",
        "reviewer": "clinical_owner",
        "start": 31,
        "end": 90,
        "tasks": [
            {
                "key": "p0_p1_zero",
                "seq": 10,
                "pl": "Brak otwartych P0/P1",
                "en": "No open P0/P1",
                "descPl": "Każdy P0/P1 ma fix, test regresji i dowód zamknięcia.",
                "descEn": "Every P0/P1 has a fix, regression test and closure evidence.",
                "owner": "release_owner",
                "reviewer": "clinical_owner",
                "start": 31,
                "end": 90,
                "blocking": true,
                "severity": "critical",
                "check": "no_open_p0_p1",
                "dependencies": [
                    "daily_hypercare"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "staff_feedback_patch",
                "seq": 20,
                "pl": "Staff Feedback Patch",
                "en": "Staff Feedback Patch",
                "descPl": "Usuń największe tarcia: kliknięcia, etykiety, role homepages i kolejki.",
                "descEn": "Remove largest frictions: clicks, labels, role homepages and queues.",
                "owner": "operations_owner",
                "reviewer": "training_owner",
                "start": 31,
                "end": 60,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "first_case_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "performance_hardening",
                "seq": 30,
                "pl": "Production Performance Hardening",
                "en": "Production Performance Hardening",
                "descPl": "Indeksy, cache, batch, slow query i budżety zapytań na podstawie danych live.",
                "descEn": "Indexes, cache, batches, slow queries and query budgets based on live data.",
                "owner": "infrastructure_owner",
                "reviewer": "release_owner",
                "start": 31,
                "end": 75,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "process_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "governance_review",
                "seq": 40,
                "pl": "Przegląd governance po 90 dniach",
                "en": "90-day governance review",
                "descPl": "Zaktualizuj reguły, hazard log, DPIA, retencję i znane ryzyka.",
                "descEn": "Update rules, hazard log, DPIA, retention and known risks.",
                "owner": "clinical_owner",
                "reviewer": "privacy_owner",
                "start": 60,
                "end": 90,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "p0_p1_zero",
                    "staff_feedback_patch"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "controlled_automation",
        "seq": 170,
        "phase": "evolution",
        "milestone": "1.2.0",
        "pl": "Automatyzacje kontrolowane",
        "en": "Controlled automation",
        "purposePl": "Włączanie pojedynczych automatyzacji po dry-run, shadow mode, pilocie i governance.",
        "purposeEn": "Enable individual automations after dry-run, shadow mode, pilot and governance.",
        "owner": "automation_owner",
        "reviewer": "clinical_owner",
        "start": 91,
        "end": 180,
        "tasks": [
            {
                "key": "automation_policy",
                "seq": 10,
                "pl": "Polityka automatyzacji i kill switch",
                "en": "Automation policy and kill switch",
                "descPl": "Każda automatyzacja ma ownera, ryzyko, human review, rollback i kill switch.",
                "descEn": "Every automation has owner, risk, human review, rollback and kill switch.",
                "owner": "automation_owner",
                "reviewer": "security_owner",
                "start": 91,
                "end": 110,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "automation_trials",
                "seq": 20,
                "pl": "Dry-run i shadow mode",
                "en": "Dry-run and shadow mode",
                "descPl": "Uruchamiaj automatyzacje pojedynczo; nie aktywuj decyzji klinicznych ani auto-send bez osobnej zgodności.",
                "descEn": "Run automations individually; do not enable clinical decisions or auto-send without separate compliance.",
                "owner": "automation_owner",
                "reviewer": "clinical_owner",
                "start": 105,
                "end": 160,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "automation_policy"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "automation_release",
                "seq": 30,
                "pl": "Governance approval automatyzacji",
                "en": "Automation governance approval",
                "descPl": "Promocja dopiero po metrykach false positive/negative, override i rollback drill.",
                "descEn": "Promote only after false-positive/negative, override metrics and rollback drill.",
                "owner": "clinical_owner",
                "reviewer": "release_owner",
                "start": 150,
                "end": 180,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "automation_trials"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "digital_twin_advanced",
        "seq": 180,
        "phase": "evolution",
        "milestone": "1.3.0",
        "pl": "Digital Twin Advanced",
        "en": "Digital Twin Advanced",
        "purposePl": "Rozwój modeli dopiero na wiarygodnych danych live, z walidacją, drift i human approval.",
        "purposeEn": "Develop models only on trustworthy live data, with validation, drift and human approval.",
        "owner": "model_owner",
        "reviewer": "clinical_owner",
        "start": 120,
        "end": 270,
        "tasks": [
            {
                "key": "model_registry_complete",
                "seq": 10,
                "pl": "Registry modeli i przeznaczenia",
                "en": "Model registry and intended use",
                "descPl": "Każdy model ma intended/prohibited use, dataset hash, wersję i ownera.",
                "descEn": "Every model has intended/prohibited use, dataset hash, version and owner.",
                "owner": "model_owner",
                "reviewer": "data_owner",
                "start": 120,
                "end": 150,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff",
                    "clinical_process_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "model_validation",
                "seq": 20,
                "pl": "Walidacja, kalibracja i podgrupy",
                "en": "Validation, calibration and subgroups",
                "descPl": "Waliduj PACU, opóźnienia, staff, koszt, ryzyko i satysfakcję na oddzielnych danych.",
                "descEn": "Validate PACU, delays, staff, cost, risk and satisfaction on separate data.",
                "owner": "model_owner",
                "reviewer": "clinical_owner",
                "start": 150,
                "end": 230,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "model_registry_complete"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "safe_apply_drill",
                "seq": 30,
                "pl": "Safe Apply i rollback drill",
                "en": "Safe Apply and rollback drill",
                "descPl": "Ręczne zatwierdzenie, audit, rollback i brak auto-apply pozostają obowiązkowe.",
                "descEn": "Manual approval, audit, rollback and no-auto-apply remain mandatory.",
                "owner": "or_manager",
                "reviewer": "release_owner",
                "start": 220,
                "end": 270,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "model_validation"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "patient_experience_advanced",
        "seq": 190,
        "phase": "evolution",
        "milestone": "1.4.0",
        "pl": "Patient Experience Advanced",
        "en": "Patient Experience Advanced",
        "purposePl": "Portal, przewodniczka, aftercare i komunikacja rozwijane po stabilizacji bezpieczeństwa.",
        "purposeEn": "Portal, guide, aftercare and communication evolved after safety stabilisation.",
        "owner": "patient_experience_owner",
        "reviewer": "clinical_owner",
        "start": 91,
        "end": 240,
        "tasks": [
            {
                "key": "patient_experience_baseline",
                "seq": 10,
                "pl": "Baseline doświadczenia pacjenta",
                "en": "Patient-experience baseline",
                "descPl": "Zbieraj feedback, drop-off, dostępność, język, zrozumiałość i red flags.",
                "descEn": "Collect feedback, drop-off, accessibility, language, comprehension and red flags.",
                "owner": "patient_experience_owner",
                "reviewer": "privacy_owner",
                "start": 91,
                "end": 130,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "controlled_px_experiments",
                "seq": 20,
                "pl": "Kontrolowane eksperymenty PX",
                "en": "Controlled PX experiments",
                "descPl": "Każdy eksperyment ma zgodę, clinical review, privacy review i adverse-event monitoring.",
                "descEn": "Every experiment has consent, clinical review, privacy review and adverse-event monitoring.",
                "owner": "patient_experience_owner",
                "reviewer": "clinical_owner",
                "start": 120,
                "end": 210,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "patient_experience_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "accessibility_review",
                "seq": 30,
                "pl": "Dostępność PL/EN/mobile",
                "en": "PL/EN/mobile accessibility",
                "descPl": "Kontrast, klawiatura, screen reader, mobile i czytelność dokumentów.",
                "descEn": "Contrast, keyboard, screen reader, mobile and document readability.",
                "owner": "patient_experience_owner",
                "reviewer": "privacy_owner",
                "start": 180,
                "end": 240,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "patient_experience_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "multisite_production",
        "seq": 200,
        "phase": "evolution",
        "milestone": "1.5.0",
        "pl": "Multi-site Production",
        "en": "Multi-site Production",
        "purposePl": "Druga lokalizacja dopiero po stabilnej pierwszej, z osobnym rolloutem i granicami danych.",
        "purposeEn": "Second site only after stable first site, with separate rollout and data boundaries.",
        "owner": "multisite_owner",
        "reviewer": "operations_owner",
        "start": 180,
        "end": 365,
        "tasks": [
            {
                "key": "site_readiness",
                "seq": 10,
                "pl": "Readiness nowej lokalizacji",
                "en": "New-site readiness",
                "descPl": "Konfiguracja, role, OR/PACU, magazyn, dokumenty, support i DR.",
                "descEn": "Configuration, roles, OR/PACU, inventory, documents, support and DR.",
                "owner": "multisite_owner",
                "reviewer": "site_admin",
                "start": 180,
                "end": 240,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "site_shadow_pilot",
                "seq": 20,
                "pl": "Shadow mode i pilot lokalizacji",
                "en": "Site shadow mode and pilot",
                "descPl": "Powtórz sandbox, UAT, shadow, pilot i go-live gate dla każdej lokalizacji.",
                "descEn": "Repeat sandbox, UAT, shadow, pilot and go-live gate for every site.",
                "owner": "site_admin",
                "reviewer": "multisite_owner",
                "start": 230,
                "end": 330,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "site_readiness"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "site_go_live",
                "seq": 30,
                "pl": "Kontrolowany go-live lokalizacji",
                "en": "Controlled site go-live",
                "descPl": "Uruchomienie tylko po centralnym i lokalnym sign-off oraz dowodzie DR.",
                "descEn": "Launch only after central and local sign-off and DR evidence.",
                "owner": "operations_owner",
                "reviewer": "management",
                "start": 320,
                "end": 365,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "site_shadow_pilot"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "clinical_stabilization",
        "seq": 210,
        "phase": "evolution",
        "milestone": "1.1.0",
        "pl": "Stabilizacja kliniczna 1.1",
        "en": "Clinical stabilisation 1.1",
        "purposePl": "Usunięcie realnego tarcia personelu i stabilizacja krytycznych workflow po pierwszych tygodniach produkcji.",
        "purposeEn": "Removal of real staff friction and stabilisation of critical workflows after the first production weeks.",
        "owner": "operations_owner",
        "reviewer": "clinical_owner",
        "start": 45,
        "end": 180,
        "tasks": [
            {
                "key": "role_friction_review",
                "seq": 10,
                "pl": "Przegląd tarcia każdej roli",
                "en": "Role-friction review",
                "descPl": "Zbierz obejścia, zbędne kliknięcia, opóźnienia i ryzyka zgłoszone przez każdą rolę.",
                "descEn": "Collect workarounds, excessive clicks, delays and risks reported by every role.",
                "owner": "operations_owner",
                "reviewer": "training_owner",
                "start": 45,
                "end": 75,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "governance_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "work_queue_tuning",
                "seq": 20,
                "pl": "Strojenie Work Queue i SLA",
                "en": "Work Queue and SLA tuning",
                "descPl": "Dostosuj priorytety, właścicieli, SLA, eskalacje i deduplikację do realnej pracy.",
                "descEn": "Tune priorities, owners, SLAs, escalations and deduplication to real operations.",
                "owner": "operations_owner",
                "reviewer": "clinical_owner",
                "start": 60,
                "end": 105,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "role_friction_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "document_signing_stabilization",
                "seq": 30,
                "pl": "Stabilizacja dokumentów i podpisów",
                "en": "Document and signature stabilisation",
                "descPl": "Usuń problemy z assembly, immutable snapshot, Consent Vault i wersjami PL/EN.",
                "descEn": "Resolve assembly, immutable snapshot, Consent Vault and PL/EN issues.",
                "owner": "document_owner",
                "reviewer": "privacy_owner",
                "start": 60,
                "end": 120,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "role_friction_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "communication_stabilization",
                "seq": 40,
                "pl": "Stabilizacja komunikacji pacjent-facing",
                "en": "Patient-facing communication stabilisation",
                "descPl": "Przejrzyj drafty, zgody, język, kanały, inbound binding i błędne routingi.",
                "descEn": "Review drafts, consent, language, channels, inbound binding and routing errors.",
                "owner": "privacy_owner",
                "reviewer": "clinical_owner",
                "start": 70,
                "end": 125,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "role_friction_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "clinical_process_baseline",
                "seq": 50,
                "pl": "Baseline realnych KPI klinicznych",
                "en": "Real clinical KPI baseline",
                "descPl": "Zatwierdź bazę KPI z Process Mining: GO, dokumenty, OR, PACU, wypis i aftercare.",
                "descEn": "Approve Process Mining KPI baseline for GO, documents, OR, PACU, discharge and aftercare.",
                "owner": "analytics_owner",
                "reviewer": "operations_owner",
                "start": 90,
                "end": 150,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "process_baseline",
                    "role_friction_review"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "stabilization_signoff",
                "seq": 60,
                "pl": "Sign-off stabilizacji klinicznej",
                "en": "Clinical stabilisation sign-off",
                "descPl": "Potwierdź brak otwartych P0/P1 i akceptację workflow przez kluczowe role.",
                "descEn": "Confirm zero open P0/P1 issues and acceptance of workflows by key roles.",
                "owner": "clinical_owner",
                "reviewer": "medical_director",
                "start": 150,
                "end": 180,
                "blocking": true,
                "severity": "critical",
                "check": "stabilization_gate_go",
                "dependencies": [
                    "work_queue_tuning",
                    "document_signing_stabilization",
                    "communication_stabilization",
                    "clinical_process_baseline"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    },
    {
        "key": "enterprise_product_2_0",
        "seq": 220,
        "phase": "product",
        "milestone": "2.0.0",
        "pl": "Baltique OS jako pełny produkt Enterprise",
        "en": "Baltique OS as a full Enterprise product",
        "purposePl": "Formalne domknięcie produktu: edycje, capabilities, integracje, support, compliance, mobile i wielolokalizacyjność.",
        "purposeEn": "Formal product closure: editions, capabilities, integrations, support, compliance, mobile and multi-site operation.",
        "owner": "release_owner",
        "reviewer": "management",
        "start": 330,
        "end": 540,
        "tasks": [
            {
                "key": "product_capability_register",
                "seq": 10,
                "pl": "Rejestr capabilities i edycji produktu",
                "en": "Product capability and edition register",
                "descPl": "Zatwierdź capabilities, poziom dojrzałości, ograniczenia i zależności każdej edycji.",
                "descEn": "Approve capabilities, maturity level, limitations and dependencies for each edition.",
                "owner": "release_owner",
                "reviewer": "product_owner",
                "start": 330,
                "end": 390,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "enterprise_support_sla",
                "seq": 20,
                "pl": "Enterprise Support i SLA",
                "en": "Enterprise Support and SLA",
                "descPl": "Zatwierdź model L1/L2/L3, godziny wsparcia, czasy reakcji, on-call i eskalacje.",
                "descEn": "Approve L1/L2/L3 support, service hours, response times, on-call and escalation.",
                "owner": "support_owner",
                "reviewer": "management",
                "start": 345,
                "end": 420,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "integration_api_governance",
                "seq": 30,
                "pl": "API i governance integracji",
                "en": "API and integration governance",
                "descPl": "Wersjonowanie API, kontrakty, audyt integracji i kontrola zmian FHIR/HL7 tylko tam, gdzie potrzebne.",
                "descEn": "Version APIs, contracts, audit integrations and govern FHIR/HL7 only where needed.",
                "owner": "integration_owner",
                "reviewer": "security_owner",
                "start": 360,
                "end": 450,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "product_capability_register"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "product_compliance_pack",
                "seq": 40,
                "pl": "Pakiet compliance i bezpieczeństwa produktu",
                "en": "Product compliance and security pack",
                "descPl": "Zbierz aktualne DPIA, safety case, security evidence, SBOM/dependencies, retencję i instrukcje użytkowania.",
                "descEn": "Assemble current DPIA, safety case, security evidence, SBOM/dependencies, retention and instructions for use.",
                "owner": "regulatory_owner",
                "reviewer": "privacy_owner",
                "start": 390,
                "end": 480,
                "blocking": true,
                "severity": "critical",
                "check": "product_compliance_complete",
                "dependencies": [
                    "regulatory_release_gate",
                    "stabilization_signoff"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "mobile_store_release_evidence",
                "seq": 50,
                "pl": "Gotowość Android/iOS i zarządzanie urządzeniami",
                "en": "Android/iOS and device-management readiness",
                "descPl": "Zatwierdź podpisane buildy, polityki store, push, MDM, revoke i support urządzeń.",
                "descEn": "Approve signed builds, store policies, push, MDM, revocation and device support.",
                "owner": "mobile_owner",
                "reviewer": "security_owner",
                "start": 390,
                "end": 480,
                "blocking": true,
                "severity": "critical",
                "check": null,
                "dependencies": [
                    "accessibility_review",
                    "product_capability_register"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            },
            {
                "key": "enterprise_2_0_release_approval",
                "seq": 60,
                "pl": "Formalne zatwierdzenie produktu 2.0",
                "en": "Formal Enterprise 2.0 product approval",
                "descPl": "Zatwierdź artefakt, manifest, SHA256, known issues, support, compliance i rollout multi-site.",
                "descEn": "Approve artifact, manifest, SHA256, known issues, support, compliance and multi-site rollout.",
                "owner": "management",
                "reviewer": "medical_director",
                "start": 500,
                "end": 540,
                "blocking": true,
                "severity": "critical",
                "check": "enterprise_product_2_0_gate",
                "dependencies": [
                    "site_go_live",
                    "product_compliance_pack",
                    "enterprise_support_sla",
                    "integration_api_governance",
                    "mobile_store_release_evidence"
                ],
                "evidence": "documented_evidence",
                "milestone": null
            }
        ]
    }
]