Status van de runtimevalidatie

Documentatie voor versie v0.1.0-beta.3Bron bekijken op GitHub

Vertaling van de oorspronkelijke Engelse pagina voor OmsiLaunch 0.1.0-beta3. De Engelse pagina is normatief: bij verschillen gelden de Engelse pagina en de code.

Deze pagina is de enige bewijstabel voor OmsiLaunch 0.1.0-beta3. Elke rij noemt een capability of functie en de bewijsstatus ervan. RUNTIME_VALIDATED kan verwijzen naar research/reports/OMSILAUNCH-RUNTIME-VALIDATION-MATRIX.md (matrix-id's RV-nnn, blockers BI-nnn, sessie-id's uit de uitvoeringstabel van 2026-09-20) of naar het post-Fable Round A-rapport research/reports/OMSILAUNCH-RUNTIME-VALIDATION-ROUND-A-001.md (RA-nnn); al het andere is afgeleid uit de code en de offline testsuites. De hardeningronde van 2026-09-21 (research/reports/OMSILAUNCH-SECURITY-ROBUSTNESS-REVIEW-001.md, bevindingen S-01 tot en met S-34) wijzigde het gedrag van herstel, recovery, control plane en grenzen; voor die wijzigingen bestond alleen offline bewijs. De afsluitende runtimeronde van 2026-09-23 (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md, scenario-id's zoals F01, S05, T01, kandidaten 2 en 3) heeft ze in echte sessies op de geautoriseerde installatie uitgevoerd; rijen die door die ronde zijn gepromoveerd, verwijzen naar de scenario-id's en sessie-id's daarvan. RUNTIME_VALIDATED kan dus ook naar dat rapport verwijzen.

Bewijsstatussen:

StatusBetekenis
RUNTIME_VALIDATEDWaargenomen in een canonieke sessie die in de matrix is vastgelegd (id en sessie vermeld).
STATICALLY_VALIDATEDGeïmplementeerd en gedekt door offline tests (tools/OmsiLaunch.TestHost, tests/*), sinds de laatste wijziging niet waargenomen in een live sessie.
PARTIALGeïmplementeerd, maar het bewijs is onvolledig of tegenstrijdig, of het gedrag is bekend beperkt.
RUNTIME_VALIDATION_REQUIREDGedrag is gewijzigd of nooit waargenomen; moet in een echte sessie worden gevalideerd voordat het kan worden gepromoveerd.
UNAVAILABLENiet geïmplementeerd of bewust geweigerd.

Sessielevenscyclus en transactie#

FunctieStatusBewijs
Headless start NEW_MAP (world.new-map, world.presented-entrypoint, boot.headless-start)RUNTIME_VALIDATEDMatrix "Existing Runtime Evidence"; sessies e5454061, 1e8e0548, 5f641c8d, 50a1f1ec (Grundorf)
Start SAVED_SITUATION (world.saved-situation)RUNTIME_VALIDATEDOpmerking bij GetCapabilitiesAsync en matrix (Berlin-Spandau, Start-formulier en Button1Click)
session.stop: geforceerde beëindiging en exact herstelRUNTIME_VALIDATEDSessie 50a1f1ec: een normale stop liet geen OMSI-proces en geen journal achter
Idempotentie bij het opstarten (herhaalde PluginStart)RUNTIME_VALIDATEDSessie 50a1f1ec
Semantische overlay van options.cfg en byte-exact herstel (RV-005)RUNTIME_VALIDATEDSessie 1e8e0548: AIMaxCountRandom 150/200 plus behouden staart; herstelde hash A12982C3...
Beheerd opstartscherm plus overlaytransactie (RV-006)RUNTIME_VALIDATEDMatrix RV-006 PASS (presentatiebatch: beheerd standaard, beheerd aangepast, Unset); sessies van Release Presentation 001 388cf5d2-7310-4301-9313-e62c4c08a346, 794cae34-a2ac-4fcf-8981-f142ac14c308, 12a74b24-6c78-4863-8ffe-947651212eeb
Recovery na vroegtijdig afsluiten (RV-008, geforceerde beëindiging van OMSI)RUNTIME_VALIDATEDPost-Fable Round A-sessies 9e7cad79-9c35-4f93-bfc8-71f455513f82 (na gameplay) en dcac497e-ff35-4c97-b5e4-98b660f88032 (na world.starting, vóór gameplay): de eigenaar werd voltooid, journal en lease werden gewist, options.cfg en de oorspronkelijk afwezige toestand van het opstartscherm kwamen overeen met de snapshots. Native opstartfouten en het injecteren van een mislukt herstel blijven afzonderlijke punten.
Grenzen bij opstartfouten en bewust mislukt herstel (rest van RV-008)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): opstart-timeout SF01 sessie 0b21c664-b0b2-46b2-9b6b-def536765fff en door de plugin gemelde wereldfout SF02 sessie 53358c75-469b-41d5-9ddb-cdb1d1ff828d eindigden als Failed met getypeerde codes en een exact herstel; mislukt herstel F01 sessie d4194a69-d858-42fe-97c7-ce93ccbdc3f6 (een bestand in bezit van de sessie dat tijdens de stop door een proces uitsluitend voor tests werd vergrendeld) gaf OL_E_RESTORE_FAILED, behield journal en back-up, en /recover herstelde de toestand van vóór de sessie exact. De foutproducenten zijn uitsluitend testinfrastructuur.
Herstel van sessieartefacten voor doelen .itx en Texture\standard.ipr (S-01)RUNTIME_VALIDATEDRound A herstelde bestaande paden in 47efd323-4ce1-400a-ac83-74893cf82f26; maakte bij een normale stop in 8d9bdedf-d7de-4c64-a8b1-627ae4deff7b een geregistreerd, oorspronkelijk afwezig doel aan en verwijderde het weer; en herhaalde dat opruimen via onderbreking van de eigenaar plus /recover in aa9a45d4-302e-4cf5-8490-f5a1c9e44b79.
closecheck als sessieverwijdering en verwijdering van verouderde markeringen (S-13)RUNTIME_VALIDATEDRound A-sessies, waaronder 47efd323-4ce1-400a-ac83-74893cf82f26, legden closecheck.stale-removed vast, gevolgd door restore.session-artifact-removed; er bleef geen journal achter.
Vroege recovery vóór het opbouwen van de overlay, uitgestelde recovery van vóór de vingerafdrukken (S-05)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) S05: de eigenaar van sessie f755ed51-b85c-4df2-b062-5bf65c768b32 werd beëindigd met een openstaand journal (maxFPS=77 live); de volgende start, sessie 291ea22b-f9b3-42a4-be07-7f0c055c7113, logde PENDING_JOURNAL_RECOVERED vóór TRANSACTION_STARTED, draaide met een eigen overlay (88) en eindigde byte voor byte identiek aan de toestand van vóór de eerste sessie. De uitgestelde tak van vóór de vingerafdrukken blijft offline (transaction.legacy-journal-ownership-migration).
Herstel van metadata (tijdstempels, attributen, alleen-lezen), write-through flush, opruimen van back-ups (S-12)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): S12a sessie 40de172b-e144-4f0a-9207-09c80b5d7df7 (bekende tijdstempel van options.cfg) en S12b sessie d9e2534b-3cb3-47ef-9cbd-1b92c62a35e7 (tijdstempel plus ReadOnly): de overlay was tijdens de sessie live (ReadOnly gewist voor OMSI), en bytes, laatste schrijftijd, aanmaaktijd en attributen werden exact hersteld; er bleef geen back-upmap achter.
/recover onder de installatielease; weigering in het venster vóór de PID (S-04)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): S04 sessie 1fb2aad5-2985-4fa4-9c5a-6186f51d37b8: onder een levende eigenaar gaven /recovery-status en /recover OL_E_INSTALLATION_BUSY en werd een tweede start geweigerd; met de eigenaar beëindigd en OMSI nog actief werden /recover en een nieuwe start geweigerd totdat OMSI afsloot, waarna /recover exact herstelde. S04b sessie 5e57ca51-ab5e-4e94-a0d0-531735ee4057: een journal van vóór de PID (foutinjectie door het harnas) werd geweigerd zolang er een Omsi.exe vanuit de hoofdmap draaide, en werd na het afsluiten hersteld; een door die OMSI geschreven closecheck blijft behouden met OL_W_RESTORE_FOREIGN_FILE_RETAINED (gedocumenteerd, conservatief).
Opnieuw plannen bij StartSessionAsync, OL_E_PLAN_NOT_RUNNABLE bij een verouderd plan (S-15)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R02: met een in het manifest vermelde plugin die na het plannen was weggezet, gooide StartSessionAsync OL_E_PLAN_NOT_RUNNABLE: OL_E_PERMANENT_PLUGIN_MISSING voordat er een sessie bestond (plan 4797c9ce-6eb3-47b1-b09d-03562dd3bd44, kandidaat 2, na fix BUG-01)
Levenscyclus van de eigenaar: stop via pipe, Ctrl+C, stop via systeemvak, OMSI dat afsluit, eigenaar beëindigd, /observe-secondsRUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): stop via pipe tijdens /observe-seconds L06 sessie 300a563e-7b0e-4f01-afbd-9e15df32c7e6; Ctrl+C L03 sessie 5e2aca54-bae2-4fc6-a106-93699e755bfc (de eigenaar eindigde 577 ms na het signaal); OMSI beëindigd L05a sessie d69658f9-16f6-43e9-8e36-682114b97e14; hoofdvenster van OMSI gesloten L05b sessie 76b11ba4-8ddb-4611-9a1c-8be317cd0337 (OMSI negeert WM_CLOSE; beëindigd door kill); stop via systeemvak T01/T03 sessies 6d827c13-caf8-4221-832a-c91d26f130e0, 7e6e805d-69c2-47a3-9fa3-4cdccbe3ccb8; eigenaar beëindigd S05. Elk pad eindigde met een exact herstel. Als de eigenaar direct wordt beëindigd, blijft Omsi.exe draaien (bewust zo ontworpen); recovery wordt geweigerd totdat het afsluit (S04).
ProcessExit-budget van 4 s bij het sluiten van de console of afmeldenRUNTIME_VALIDATED (console sluiten)Afsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) L04 sessie 559d0f1d-7d5b-4b6b-b70c-0acb272d53db: consolevenster gesloten; het herstel werd binnen het budget voltooid, de sessie bereikte Completed zonder journal; Windows beëindigde de eigenaar ongeveer 5 s na het sluiten (exitcode 0xC000013A). Afmelden is niet getest.
Coöperatief afsluiten via WM_CLOSEUNAVAILABLENiet geïmplementeerd (productbeslissing, S-11). Afsluitende runtimeronde L05b: OMSI sloot niet binnen 30 s na WM_CLOSE naar zijn hoofdvenster. ShutdownTimeoutSeconds wordt niet gebruikt.
Semantiek van de installatielease (semafoor Local\)STATICALLY_VALIDATEDlease.cross-thread-release; beperkingen gedocumenteerd als geaccepteerd risico (S-18)
Behoud van CP1252 bij het patchen van OMSI-bestanden (S-07)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) C01 sessie 84a71235-d618-4917-9af4-c2a6025742f4: options.cfg met een CP1252-waarde met accenten (inclusief 0x80 en 0x96) gepatcht door /set; het live bestand behield de CP1252-bytes zonder EF BF BD, en het bestand was na de sessie byte voor byte identiek
Contentdetectie die reparsepunten overslaat (S-23)STATICALLY_VALIDATEDTests discovery.*
Bewaren van diagnostiek (50 nieuwste sessies) (S-26)STATICALLY_VALIDATEDHostTrace.Prune
Tijdelijke bestandsvergrendelingen (antivirus, indexeerfunctie) bij schrijf- en verwijderacties van transacties worden ongeveer 1,5 s opnieuw geprobeerd; blijvende vergrendelingen mislukken nog steeds (correctieronde CP-10)STATICALLY_VALIDATEDtransaction.transient-lock-retried, transaction.restore-failure-recovery (blijvende vergrendeling mislukt nog steeds); twee sporadische offline fouten waargenomen vóór de fix, geen enkele in 16 uitvoeringen daarna

Permanente plugin en platform#

FunctieStatusBewijs
Profiel Omsi23004_692EBFBF (692EBFBF...6243, 8.503.440 bytes)RUNTIME_VALIDATEDElke matrixsessie
Uitvoerbaar Steam LAA-bestand (7DAB063D...D759)PARTIALAfsluitende runtimeronde LAA01 sessie 9ec975ca-7820-47be-b806-5f5a94aad4ab: een gecontroleerde kopie (afgeleid van het ongepatchte origineel van de installatie met IMAGE_FILE_LARGE_ADDRESS_AWARE en een opnieuw berekende PE-checksum; 8.503.440 bytes, kenmerken 0x81AE) kwam overeen met de hash, de vingerafdruk werd geaccepteerd en het plan was uitvoerbaar. De image is het originele, met DRM beveiligde uitvoerbare Steam-bestand: buiten een echte Steam-installatie draagt het de besturing over aan de Steam-client en sluit het af, zodat de sessie mislukte met OL_E_PROCESS_EXITED_EARLY en een exact herstel. Gameplay, leesacties, opdrachten en stop vereisen een echte Steam-installatie (ENVIRONMENT).
Installatie-identiteit: lease en naam van de besturingspipe zijn afgeleid van één definitie, InstallationPaths.IdentityKey (C:\OMSI = C:\OMSI\ = C:\OMSI\. = C:\foo\..\OMSI = varianten in hoofdlettergebruik; C:\OMSI-A verschilt van C:\OMSI-B) (correctieronde CP-02, addendum A/B)STATICALLY_VALIDATED; runtime waargenomenlease.root-normalization, paths.installation-identity-and-containment. Afsluitende runtimeronde ID01: terwijl sessie 01bfc780-10ef-4390-b700-c08bf809a42f draaide, werden tweede starts en /recovery-status met de hoofdmap geschreven met \., een segment .., kleine letters en hoofdletters geweigerd (OL_E_SESSION_ALREADY_ACTIVE, OL_E_INSTALLATION_BUSY); de schrijfwijze met afsluitend scheidingsteken eveneens (ID01b, sessie ba3ea7c9-9826-453d-b447-81c48763e18f).
Samenhang van het releasepakket: schone staging, build-ontvangstbewijs voor Native.x86 (inhoud, geen tijdstempel), manifest zonder BOM, integriteit van de gestagede closure en van het opnieuw uitgepakte archief, installer kopieert het manifest (correctieronde CP-01, Round A RA-007, addendum F/G/H)STATICALLY_VALIDATED; installatie waargenomenTest-PackagingPipeline.ps1 (samenhangende kandidaat plus 16 negatieve gevallen), runtime.release-manifest-bom, runtime.release-manifest-strict-parser. Afsluitende runtimeronde: pakketten die in de geautoriseerde installatie waren geïnstalleerd, waren in overeenstemming met hun manifesten, en elke sessie werd gepland met plugin.integrity.reference = manifest (kandidatenregister research/reports/runtime-closure/CANDIDATES.md).
Integriteit van de plugin-closure tegen release-manifest.json (S-09)RUNTIME_VALIDATEDRound A-sessie 47efd323-4ce1-400a-ac83-74893cf82f26; sessies uit de afsluitende runtimeronde op geïnstalleerde releasepakketten (bijvoorbeeld R01 sessie 878b5e3c-2f9d-46bf-a918-11bb2e227e55, kandidaat 3) werden gepland met plugin.integrity.reference = manifest; R02 toonde aan dat een ontbrekende vermelde plugin de start blokkeert.
Buildvalidatie in het proces (plugin.build.invalid -> OL_E_BUILD_VALIDATION_FAILED)RUNTIME_VALIDATEDMatrixsessies; twee eerdere sessies met plugin.build.invalid bij een verouderde plugin
Handoff v4 met SHA-256RUNTIME_VALIDATEDIntegratietests handoff.*; elke sessie
Plugin inert zonder OmsiLaunch (geen handoff)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) P01 (gewone OMSI-start, geen OmsiLaunch-sessie; OMSI-pid 35564): de plugin-closure en de .NET-host werden geladen, OmsiLaunch.Native.x86.dll werd niet geladen, de drie native patchlocaties bevatten de ongepatchte bytes van Omsi.exe, en er verscheen geen besturingspipe, journal of diagnostiek
DLL-zoekbeleid (AssemblyDirectory | System32) (S-24)STATICALLY_VALIDATEDAssemblyattributen
Detectie van Windows 10+ x64 en weigering van andere platformsSTATICALLY_VALIDATEDCurrentWindowsX64Platform.Detect

Runtimebesturingskanaal en control plane#

FunctieStatusBewijs
Wire-integriteit van de mailbox, sessiebindingRUNTIME_VALIDATEDAlle runtimesessies; runtime-command.wire-guard, runtime-command.session-binding
Negeren van late antwoorden en geen vastgelopen kanaal na een timeout (S-08)RUNTIME_VALIDATEDRound A-sessie 173414a5-ee53-4b10-aeb7-046f40b851e9: een externe client gaf road-vehicles.spawn na 250 ms op; een latere map.read slaagde en de canonieke stop ruimde de sessie op. Het weigeren van te grote antwoorden blijft alleen offline.
Lokaal control plane: pipenaam per installatie, binding aan session_id, getypeerde handlerfouten, limiet van 64 KiB (S-06)RUNTIME_VALIDATEDRound A-sessie a00c6ff8-9cc9-4bce-ae44-c4314daad7bf: ongeldig protocol, ongebonden stop, runtimeverzoek voor de verkeerde sessie en een te groot frame werden geweigerd; een daaropvolgend geldig statusverzoek en een gebonden stop slaagden. Het weigeren van te grote antwoorden blijft alleen offline.
Sequentieslot voor telemetrie, overslaan van gescheurde samples, identieke opeenvolgende events (S-25)STATICALLY_VALIDATEDtelemetry.sequence-samples
API-grens weigert internal.* en verwijdert interne resultaatsleutels (S-02)STATICALLY_VALIDATEDOmsiLaunchService.ExecuteRuntimeAsync; registervalidatie
Een ongeldig of te groot mailboxantwoord geeft het slot vrij; het volgende verzoek slaagt (correctieronde CP-03)STATICALLY_VALIDATEDruntime-command.oversized-response-rejected; pluginzijde plugin-runtime.oversized-and-abandoned-responses. Niet te produceren tijdens runtime: geen enkele openbare operatie retourneert meer dan één slot (grootste ongeveer 37,8 KB, afsluitende runtimeronde R03).
Elk eindpad van een runtimeverzoek laat de mailbox herbruikbaar achter: getypeerde weigering, timeout, annulering door de aanroeper, hergebruikte verzoek-id, interne operatie, verkeerde sessie, ontbrekend argument (runtime); misvormde, te grote, beschadigde, verouderde en verweesde antwoorden (offline)RUNTIME_VALIDATED (bereikbare paden)Afsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R03 sessie 1134fdc3-a469-4ff5-a511-9964ed65e7cd: elke fout was getypeerd en het volgende geldige verzoek slaagde. Paden met beschadigde antwoorden kunnen niet van buitenaf worden geproduceerd en blijven offline (runtime-command.terminal-paths-leave-channel-usable).
Te groot antwoord van het control plane beantwoord als OL_E_CONTROL_RESPONSE_TOO_LARGE; status/events vanaf het oudste ingekort tot één frame (correctieronde CP-04)STATICALLY_VALIDATEDcontrol-plane.binding-and-typed-errors. Niet te produceren tijdens runtime: het grootste openbare antwoord dat in de afsluitende runtimeronde werd waargenomen, was ongeveer 37,8 KB (R03), en de eventgeschiedenis van een sessie blijft ruim onder één frame.
Control plane blijft na verbinding nooit stil: misvormde, te grote, frames met negatieve lengte, lege, JSON null, zonder opdracht, met niet-stringargument, met ongeldig protocol, met onbekende opdracht, ongebonden en voor de verkeerde sessie; afgekapte clientframes; vastgelopen clients; clients die vertrekken vóór het antwoordRUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R04 sessie faaaf8a8-126d-4a23-a8f3-381e47c58de6 (kandidaat 2, na fix BUG-02): elk frame kreeg zijn getypeerde fout, telkens gevolgd door een geslaagde session.status; een vastgelopen client blokkeerde anderen niet; een gebonden stop die concurreerde met een lopende road-vehicles.spawn beëindigde de sessie en de aanroeper van de spawn kreeg een net einde van de stream. OL_E_TIMEOUT en metadata over afkapping blijven offline (control-plane.errors-never-silent).
Runtime-batchharnassen (/runtime-batch, /runtime-write-batch, /d3d-batch)INTERNAL (STATICALLY_VALIDATED)Alleen validatieharnas (S-27)

Runtime-operaties#

Operatie(s)StatusBewijs
time.read, time.setRUNTIME_VALIDATEDSessie e5454061 (schrijven, SetTime, teruglezen, herstel)
weather.read, weather.actual.readRUNTIME_VALIDATEDSessie e5454061
weather.setUNAVAILABLEGeweigerd met OL_E_RUNTIME_SETTING_NOT_PERSISTENT; persistentie FAIL in sessies e5454061 en 5f641c8d; weigering PASS in 50a1f1ec
map.readRUNTIME_VALIDATEDOpnieuw gevalideerd na de correctie van het globale Map-slot in sessie 9dd62626-94c6-4cd7-bb6f-0288327696f4: loaded=true, 19 tiles, identiteit Grundorf, bestandsnaam, beschrijving en jaarbereik samenhangend.
camera.read, camera.setRUNTIME_VALIDATEDSessie e5454061 (FOV schrijven, teruglezen, herstel)
camera.lock, camera.unlockRUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) CAM01 sessie 5dfd9b96-fa94-4060-85af-0c9d19823a73: de opgeslagen situatie Linie 5 leverde een PlayerVehicle (rv-000001); vergrendelingen op families 0, 2 en 1 werden bevestigd door teruglezen van de camera; ontgrendelen hief het beleid op
road-vehicles.read, road-vehicles.list, road-vehicle.readRUNTIME_VALIDATEDSessies e5454061, 5f641c8d
Levensduur van RoadVehicle-handles en detectie van verouderde handles (RV-002)PARTIALGeen veilige producent voor verwijdering: in drie vensters van de afsluitende runtimeronde (H01, H01b, H01c, tot 180 s, met een kloksprong) groeiden de RoadVehicle- en Human-populaties van Grundorf alleen; geen enkele openbare operatie verwijdert een object. De detectie van verouderde handles blijft offline (S-19). De generatie-/ABA-regel is runtime-gevalideerd voor D3D-textures (H02).
road-vehicles.spawn (RV-003)RUNTIME_VALIDATEDSessie 5f641c8d: 2 -> 3, rv-000003 opgelost
road-vehicles.place-randomRUNTIME_VALIDATEDMatrix: collectie 2 -> 4
player-vehicle.readRUNTIME_VALIDATEDRound A RA-002 sessie 9dd62626-94c6-4cd7-bb6f-0288327696f4 (present=false); afsluitende runtimeronde CAM01 sessie 5dfd9b96-fa94-4060-85af-0c9d19823a73 las een aanwezig PlayerVehicle uit een opgeslagen situatie
humans.read, humans.list, human.readRUNTIME_VALIDATEDSessie e5454061
timetable.read, timetable.*.list, timetable.logs.readRUNTIME_VALIDATEDSessie e5454061; trackitems 91 records
Afkappen van begrensde lijsten in plaats van OL_E_RUNTIME_RESPONSE_TOO_LARGE (documentatieaudit BUG-05)RUNTIME_VALIDATEDHertest van de documentatieaudit op pakket 9F8CC87B..., opgeslagen situatie situations\Linie 5.osn (Berlin-Spandau): timetable.track-entries.list retourneerde 137 van 825 items en timetable.tour-entries.list 224 van 4747, met truncated=true (sessies 08df97b8-06cc-4faa-be8b-f49ca1538dce en de hertest voor de documentatieopname); vóór de fix mislukten beide met OL_E_RUNTIME_RESPONSE_TOO_LARGE (sessie f51dcb59-a723-4570-b6c5-b61e628a7993). Bewijs: research/reports/documentation-audit/runtime/.
drivers.read, tickets.readRUNTIME_VALIDATEDSessie e5454061
vehicle.variables.list, vehicle.variable.get, vehicle.variable.setRUNTIME_VALIDATEDRefresh_Strings 0 -> 1 -> 0 in de runtimesessie die als Runtime-Proven is vastgelegd in research/reports/OmsiHook-Parity-Wave-A-Closure-001.md (1.025 namen opgesomd, volgens OMSILAUNCH-AUTONOMOUS-BUILD-001.md); het rapport vermeldt de sessie-id niet
vehicle.string-variables.list, vehicle.string-variable.getRUNTIME_VALIDATED (alleen lezen)Sessie e5454061; schrijven BI-004 UNAVAILABLE
vehicle.constants.list, vehicle.constant.get, vehicle.curves.list, vehicle.curve.evaluate, vehicle.hofs.readRUNTIME_VALIDATEDSessie e5454061
d3d.status, d3d.texture.create, d3d.texture.describe, d3d.texture.update, d3d.texture.release, weigering van vrijgegeven handlesRUNTIME_VALIDATEDMatrix "basic D3D texture lifecycle"; capabilityopmerkingen bij runtime.d3d.* (sessie 4378899d voor het apparaatslot)
Events voor verlies / reset / herstel van het D3D-apparaat, invalidatie van de generatie (RV-007)RUNTIME_VALIDATED (resetting/restored)Afsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) D01 sessie fc07946e-58dd-4ddc-af7e-10c7e61a899a: een tijdelijke wijziging van de weergavemodus (testproducent, nooit openbaar, geen synthetische resetaanroep) liet OMSI zijn apparaat twee keer resetten. d3d.resetting/d3d.restored werden uitgezonden, de generatie ging bij elke cyclus omhoog, een verzoek tijdens de reset kreeg OL_E_D3D_RESET_IN_PROGRESS, de texture van vóór het verlies werd geweigerd met OL_E_D3D_STALE_RESOURCE_HANDLE en nieuwe textures werkten. OMSI ging rechtstreeks naar DEVICENOTRESET, waardoor geen afzonderlijke overgang lost werd geproduceerd. Eén poging liet OMSI crashen in DSound.dll (wijziging van het audio-eindpunt van het beeldscherm; de eigenaar herstelde exact).
events.read / events watchRUNTIME_VALIDATEDElke sessie (door telemetrie aangestuurde levenscyclus)
internal.road-vehicles.make-basicINTERNALOnbereikbaar via openbare interfaces

Startfuncties#

FunctieStatusBewijs
/set en de profielsleutel settings (configuration.options.semantic)RUNTIME_VALIDATEDRV-005
Sessieprofielen (strikte compiler, conflicten, padbeperking incl. reparsepunten S-17)RUNTIME_VALIDATED (bereik profielstart)Round A RA-009, Test-Beta3SessionProfile.ps1, 2026-09-22: beheerd opstartscherm, uitgeschakelde internettextures en preset graphics.maxFPS=30; options.cfg hersteld, fixture intact, geen journal/lease/proces.
Laden van /spec (limiet van 1 MiB, onbekende eigenschappen geweigerd, timeouts gerespecteerd) (S-20)STATICALLY_VALIDATEDTests cli.*
Beheerd opstartscherm PTB/ENG/DEU/FRARUNTIME_VALIDATEDRV-006
Internettextures Disabled (onderdrukking van de downloader in het proces)STATICALLY_VALIDATEDTelemetriepad internet-textures.suppressed; niet vermeld in de matrix
Doelbewaking voor .itx van internettextures (Round A RA-011/RA-012, correctieronde CP-05, addendum E): canonieke hoofdmap, canoniek doel, relatief pad, segmentregels; alleen een mapsegment met de naam texture onder de hoofdmap komt in aanmerking (mytexture, texture_backup, texture2 en texture in de absolute hoofdmap niet); traversal-, absolute, hoofdmaprelatieve en junctiondoelen geweigerd; schrijfwijzen vallen samen tot één canoniek transactiepadSTATICALLY_VALIDATEDpresentation.itx-target-root-normalization, presentation.itx-target-guard-rejections
Internettextures OverrideRUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): I01 sessie 6eac2dac-c7e9-49a1-acbf-2a5d59c1c0d3: de downloader van OMSI stuurde HEAD en GET naar een loopbackserver voor een bestaand en een oorspronkelijk afwezig doel, schreef beide, en na de canonieke stop werd het afwezige doel verwijderd en het bestaande byte-exact hersteld; I02 sessie a8f2b720-e41a-4e34-86bf-125bf519a5bd: hetzelfde nadat eigenaar en OMSI waren beëindigd, via /recover.
/date, /time, /year, weervlaggen, vlaggen voor het spelersvoertuig (STATICALLY_PARTIAL)UNAVAILABLEDe planner maakt het plan niet uitvoerbaar (OL_E_CAPABILITY_UNAVAILABLE); de plugin weigert datum-/tijdmodi anders dan Unset
/entrypoint:<identity> (BI-001)PARTIALPlan niet uitvoerbaar (RUNTIME_PARTIAL)
/last (LastMapState, BI-006)UNAVAILABLEUNSUPPORTED_FOR_CURRENT_PROFILE
Toetsenbord-/controlleroverlays van InputSpec (BI-005)UNAVAILABLEParsers bestaan; niet toegepast
Headless toewijzing van PlayerVehicle (BI-007), SetActualDateTime (BI-002), ICAO-weerbesturing (BI-003), schrijven van stringvariabelen (BI-004), verplaatsing over tiles heen (BI-008)UNAVAILABLEGeblokkeerd totdat de implementatie is afgerond
Detectie met /list (content.*)STATICALLY_VALIDATED; runtime waargenomendiscovery.fixture; de afsluitende runtimeronde gebruikte /list:situations op de geautoriseerde installatie (identiteiten inclusief niet-ASCII situations\Nur für Fortgeschrittene.osn)
/quiet, /serveUNAVAILABLEACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT
Diagnostiekvlaggen (/log, /logall, /omsi-logall, /verbose, /trace*)PARTIALMeegegeven in DiagnosticsSpec; effect beperkt tot de hosttrace

Windows-host en systeemvak#

FunctieStatusBewijs
Systeemvakindicator (OmsiLaunchW.exe): pictogram in het systeemvak (meldingsgebied), status, "End session" met bevestiging en Cancel, herstart van Verkenner (Explorer), dialoogvensters die open staan terwijl een stop binnenkomt, stop tijdens /observe-seconds, foutdialoogvensters (S-16)RUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) op kandidaat 3 (na fix BUG-04): T01 sessie 6d827c13-caf8-4221-832a-c91d26f130e0 (pictogram gevonden in Shell_TrayWnd, statusvenster in pt-BR, herstart van Verkenner voegde het pictogram opnieuw toe, Cancel hield de sessie in stand, End session beëindigde haar in 607 ms en verwijderde het pictogram); T02 sessie 0939a151-bf03-4ca9-8294-8b0088df7d30 (status- en bevestigingsvenster open tijdens een stop via pipe); T03 sessie 7e6e805d-69c2-47a3-9fa3-4cdccbe3ccb8; T04 sessie 8ddc4cc9-3089-4c0c-b062-f0c526ce0e4a (foutdialoogvensters voor argumentfout, geen actieve sessie en sessiefout, met codes). Shim-exitcodes 100-106 werden niet geproduceerd.
Herstart met /silent die 0 retourneert wanneer de host is gestartRUNTIME_VALIDATEDAfsluitende runtimeronde (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) T04 sessie 8ddc4cc9-3089-4c0c-b062-f0c526ce0e4a (kandidaat 3, na fix BUG-03): de launcher retourneerde 0 en een aanroeper die de uitvoer ervan opving, kreeg na 0,4 s het einde van de stream terwijl de OmsiLaunchW-sessie zonder consolevenster draaide; de sessie stopte met een exact herstel
Exitcodes 100-106 van de bootstrapper-shim, dynamische padbuffer (S-21)STATICALLY_VALIDATEDTest-ReleaseIdentity.ps1

Hertest van de documentatieaudit (afsluiting van de documentatie voor 0.1.0-beta3)#

Pakket 9F8CC87B238A677F7238C262E8FE0496832263B6C0A58083409EB485C03C6F17 op de geautoriseerde installatie, waarbij BUG-05, BUG-06, BUG-07 en de smoketest zijn herhaald op het definitieve pakket B8462ED6C596843E778C33DF4E93EBA3ACC875B7E43B011D60E5A21A16032E35 (R01 sessie 56cdee4b-9160-49fc-b0fd-5134ff9fe2d0, sessie voor de documentatieopname 40046805-5337-48fc-90dd-e7d3500ed3b4); bewijs in research/reports/documentation-audit/runtime/ en research/reports/OMSILAUNCH-BETA3-FINAL-DOCUMENTATION-AUDIT.md.

ItemStatusBewijs
OmsiLaunchW.exe meldt een niet-uitvoerbare start (BUG-06)RUNTIME_VALIDATED/new ... /date:2026-09-20 onder OmsiLaunchW.exe: dialoogvenster Requested capability unavailable: world.explicit-date / Code: OL_E_CAPABILITY_UNAVAILABLE, exitcode 1, geen OMSI-proces (doc-bug06-dialog.json; geïnstalleerd pakket 9f8cc87b..., er wordt bewust geen sessie aangemaakt)
Geadverteerde CLI-routes zijn echte syntaxis (BUG-07)RUNTIME_VALIDATEDElk clientroutealternatief dat door de geïnstalleerde help --json en capabilities --json werd afgedrukt (32 descriptors), werd door de geïnstalleerde parser geaccepteerd; geen enkele drukte de gebruikstekst af (doc-bug07-routes.json; geïnstalleerd pakket 9f8cc87b...)
Elke opdrachtregel van de pagina met CLI-voorbeeldenRUNTIME_VALIDATED43 clientregels uitgevoerd tegen eigenaarsessie 08df97b8-06cc-4faa-be8b-f49ca1538dce (opgeslagen situatie; events watch overgeslagen omdat dit doorloopt tot Ctrl+C), eindigend met de eigen session stop van de pagina (eigenaar exitcode 0). Alle regels kwamen overeen met de pagina, behalve vehicle.constant.get met name=max_speed, een constante die die bus niet heeft; de pagina gebruikt nu antrieb_getr_version. Het profielvoorbeeld grundorf-quick liet zich niet plannen (verdubbelde backslashes in gewone YAML-scalars) en is gecorrigeerd; elke regel zonder sessie is vanuit de installatiemap uitgevoerd, startregels met /plan (doc-client-examples.json, doc-examples-no-session.json, doc-profile-example.json)
Smoketest NEW_MAP met /observe-seconds op het definitieve pakketRUNTIME_VALIDATEDR01 sessie 08570134-cfd8-4726-a472-5f6dd2f04c8f, schone eindtoestand (research/reports/runtime-closure/doc-R01-*)

Geconsolideerde lijst RUNTIME_VALIDATION_REQUIRED#

De afsluitende runtimeronde van 2026-09-23 heeft de vorige wachtrij afgesloten. Die blijft leeg, op items na die op deze installatie niet veilig kunnen worden geproduceerd:

  1. Gameplay, leesacties, opdrachten en stop met Steam LAA: vereisen een echte Steam-installatie (omgeving; de rij hierboven is PARTIAL).
  2. RV-002, verwijdering van RoadVehicle en Human: geen veilige producent voor verwijdering (de rij hierboven is PARTIAL).

Items die offline blijven omdat ze niet van buiten het product kunnen worden geproduceerd, zijn in hun rijen gemarkeerd en maken geen deel uit van de wachtrij: beschadiging van mailboxantwoorden, te grote antwoorden, afkapping van de eventgeschiedenis, de D3D-overgang lost, afmelden, shim-exitcodes 100-106 en de uitgestelde recoverytak van vóór de vingerafdrukken.

Zie ook: capabilities, bekende beperkingen, transacties en recovery, compatibiliteit.