Runtime Validation Status
This page is the single evidence table for OmsiLaunch 0.1.0-beta3. Each row names a capability or feature and its evidence state. RUNTIME_VALIDATED may cite either research/reports/OMSILAUNCH-RUNTIME-VALIDATION-MATRIX.md (matrix ids RV-nnn, blockers BI-nnn, session ids from its 2026-09-20 execution table) or the post-Fable Round A report research/reports/OMSILAUNCH-RUNTIME-VALIDATION-ROUND-A-001.md (RA-nnn); everything else is derived from the code and offline test suites. The hardening round of 2026-09-21 (research/reports/OMSILAUNCH-SECURITY-ROBUSTNESS-REVIEW-001.md, findings S-01 to S-34) changed restore, recovery, control-plane and boundary behaviour; those changes had offline evidence only. The final runtime closure round of 2026-09-23 (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md, scenario ids such as F01, S05, T01, candidates 2 and 3) ran them in real sessions on the authorized installation; rows promoted by that round cite its scenario ids and session ids. RUNTIME_VALIDATED may therefore also cite that report.
Evidence states:
| State | Meaning |
|---|---|
| RUNTIME_VALIDATED | Observed in a canonical session recorded in the matrix (id and session cited). |
| STATICALLY_VALIDATED | Implemented and covered by offline tests (tools/OmsiLaunch.TestHost, tests/*), not observed in a live session since the last change. |
| PARTIAL | Implemented, but evidence is incomplete, contradicted, or the behaviour is known to be limited. |
| RUNTIME_VALIDATION_REQUIRED | Behaviour changed or was never observed; must be validated in a real session before it can be promoted. |
| UNAVAILABLE | Not implemented or deliberately rejected. |
Session lifecycle and transaction#
| Feature | State | Evidence |
|---|---|---|
NEW_MAP headless start (world.new-map, world.presented-entrypoint, boot.headless-start) | RUNTIME_VALIDATED | Matrix "Existing Runtime Evidence"; sessions e5454061, 1e8e0548, 5f641c8d, 50a1f1ec (Grundorf) |
SAVED_SITUATION start (world.saved-situation) | RUNTIME_VALIDATED | GetCapabilitiesAsync note and matrix (Berlin-Spandau, Start form and Button1Click) |
session.stop forced termination and exact restore | RUNTIME_VALIDATED | Session 50a1f1ec: normal stop left no OMSI process and no journal |
Startup idempotence (repeated PluginStart) | RUNTIME_VALIDATED | Session 50a1f1ec |
options.cfg semantic overlay and byte-exact restore (RV-005) | RUNTIME_VALIDATED | Session 1e8e0548: AIMaxCountRandom 150/200 plus preserved tail; restored hash A12982C3... |
| Managed splash plus overlay transaction (RV-006) | RUNTIME_VALIDATED | Matrix RV-006 PASS (presentation batch: managed default, managed custom, Unset); Release Presentation 001 sessions 388cf5d2-7310-4301-9313-e62c4c08a346, 794cae34-a2ac-4fcf-8981-f142ac14c308, 12a74b24-6c78-4863-8ffe-947651212eeb |
| Early-exit recovery (RV-008, forced termination of OMSI) | RUNTIME_VALIDATED | Post-Fable Round A sessions 9e7cad79-9c35-4f93-bfc8-71f455513f82 (after gameplay) and dcac497e-ff35-4c97-b5e4-98b660f88032 (after world.starting, before gameplay): owner completed, journal/lease cleared, options.cfg and originally-absent splash state matched snapshots. Native startup-failure and failed-restore injection remain separate. |
| Startup-failure and deliberately failed-restore boundaries (RV-008 remainder) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): startup timeout SF01 session 0b21c664-b0b2-46b2-9b6b-def536765fff and plugin-reported world failure SF02 session 53358c75-469b-41d5-9ddb-cdb1d1ff828d ended Failed with typed codes and an exact restore; failed restore F01 session d4194a69-d858-42fe-97c7-ce93ccbdc3f6 (a session-owned file locked by a test-only process during stop) gave OL_E_RESTORE_FAILED, kept the journal and backup, and /recover restored the pre-session state exactly. The failure producers are test infrastructure only. |
Session-artifact restore for .itx targets and Texture\standard.ipr (S-01) | RUNTIME_VALIDATED | Round A restored existing paths in 47efd323-4ce1-400a-ac83-74893cf82f26; created and removed a registered, originally-absent target on normal stop in 8d9bdedf-d7de-4c64-a8b1-627ae4deff7b; and repeated that cleanup through owner interruption plus /recover in aa9a45d4-302e-4cf5-8490-f5a1c9e44b79. |
closecheck as session deletion and stale-marker removal (S-13) | RUNTIME_VALIDATED | Round A sessions, including 47efd323-4ce1-400a-ac83-74893cf82f26, recorded closecheck.stale-removed followed by restore.session-artifact-removed; no journal remained. |
| Early recovery before overlay build, deferred pre-fingerprint recovery (S-05) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) S05: owner of session f755ed51-b85c-4df2-b062-5bf65c768b32 killed with a pending journal (maxFPS=77 live); the next start, session 291ea22b-f9b3-42a4-be07-7f0c055c7113, logged PENDING_JOURNAL_RECOVERED before TRANSACTION_STARTED, ran with its own overlay (88) and ended byte-identical to the state before the first session. The deferred pre-fingerprint branch remains offline (transaction.legacy-journal-ownership-migration). |
| Metadata restore (timestamps, attributes, read-only), write-through flush, backup cleanup (S-12) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): S12a session 40de172b-e144-4f0a-9207-09c80b5d7df7 (known options.cfg timestamp) and S12b session d9e2534b-3cb3-47ef-9cbd-1b92c62a35e7 (timestamp plus ReadOnly): the overlay was live during the session (ReadOnly cleared for OMSI), and bytes, last-write time, creation time and attributes were restored exactly; no backup directory remained. |
/recover under the installation lease; pre-PID window refusal (S-04) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): S04 session 1fb2aad5-2985-4fa4-9c5a-6186f51d37b8: under a live owner /recovery-status and /recover gave OL_E_INSTALLATION_BUSY and a second start was refused; with the owner killed and OMSI left running, /recover and a new start were refused until OMSI exited, then /recover restored exactly. S04b session 5e57ca51-ab5e-4e94-a0d0-531735ee4057: a pre-PID journal (harness fault injection) was refused while any Omsi.exe ran from the root and recovered after exit; a closecheck written by that OMSI is retained with OL_W_RESTORE_FOREIGN_FILE_RETAINED (documented, conservative). |
Re-planning at StartSessionAsync, OL_E_PLAN_NOT_RUNNABLE on a stale plan (S-15) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R02: with a manifest-listed plugin parked after planning, StartSessionAsync threw OL_E_PLAN_NOT_RUNNABLE: OL_E_PERMANENT_PLUGIN_MISSING before any session existed (plan 4797c9ce-6eb3-47b1-b09d-03562dd3bd44, candidate 2, after fix BUG-01) |
Owner lifecycle: pipe stop, Ctrl+C, tray stop, OMSI exiting, owner killed, /observe-seconds | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): pipe stop during /observe-seconds L06 session 300a563e-7b0e-4f01-afbd-9e15df32c7e6; Ctrl+C L03 session 5e2aca54-bae2-4fc6-a106-93699e755bfc (owner ended 577 ms after the signal); OMSI killed L05a session d69658f9-16f6-43e9-8e36-682114b97e14; OMSI main window closed L05b session 76b11ba4-8ddb-4611-9a1c-8be317cd0337 (OMSI ignores WM_CLOSE; ended by kill); tray stop T01/T03 sessions 6d827c13-caf8-4221-832a-c91d26f130e0, 7e6e805d-69c2-47a3-9fa3-4cdccbe3ccb8; owner killed S05. Every path ended with an exact restore. With the owner killed outright, Omsi.exe keeps running (by design); recovery is refused until it exits (S04). |
| ProcessExit 4 s budget on console close or logoff | RUNTIME_VALIDATED (console close) | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) L04 session 559d0f1d-7d5b-4b6b-b70c-0acb272d53db: console window closed; restore completed within the budget, the session reached Completed with no journal; Windows ended the owner about 5 s after the close (exit 0xC000013A). Logoff was not exercised. |
| Cooperative WM_CLOSE shutdown | UNAVAILABLE | Not implemented (product decision, S-11). Runtime closure L05b: OMSI did not close within 30 s of WM_CLOSE to its main window. ShutdownTimeoutSeconds is not consumed. |
Installation lease semantics (Local\ semaphore) | STATICALLY_VALIDATED | lease.cross-thread-release; limits documented as accepted risk (S-18) |
| CP1252 preservation when patching OMSI files (S-07) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) C01 session 84a71235-d618-4917-9af4-c2a6025742f4: options.cfg with an accented CP1252 value (including 0x80 and 0x96) patched by /set; the live file kept the CP1252 bytes with no EF BF BD, and the file was byte-identical after the session |
| Content discovery skipping reparse points (S-23) | STATICALLY_VALIDATED | discovery.* tests |
| Diagnostics retention (50 newest sessions) (S-26) | STATICALLY_VALIDATED | HostTrace.Prune |
| Transient file locks (antivirus, indexer) on transaction writes and deletes retried for about 1.5 s; persistent locks still fail (correction pass CP-10) | STATICALLY_VALIDATED | transaction.transient-lock-retried, transaction.restore-failure-recovery (persistent lock still fails); two intermittent offline failures observed before the fix, none in 16 runs after |
Permanent plugin and platform#
| Feature | State | Evidence |
|---|---|---|
Profile Omsi23004_692EBFBF (692EBFBF...6243, 8,503,440 bytes) | RUNTIME_VALIDATED | Every matrix session |
Steam LAA executable (7DAB063D...D759) | PARTIAL | Runtime closure LAA01 session 9ec975ca-7820-47be-b806-5f5a94aad4ab: a controlled copy (derived from the installation's unpatched original with IMAGE_FILE_LARGE_ADDRESS_AWARE and a recomputed PE checksum; 8,503,440 bytes, characteristics 0x81AE) matched the hash, the fingerprint was accepted and the plan was runnable. The image is the original DRM-protected Steam executable: outside a genuine Steam installation it hands off to the Steam client and exits, so the session failed with OL_E_PROCESS_EXITED_EARLY and an exact restore. Gameplay, reads, commands and stop require a genuine Steam installation (ENVIRONMENT). |
Installation identity: lease and control-pipe name derive from one definition, InstallationPaths.IdentityKey (C:\OMSI = C:\OMSI\ = C:\OMSI\. = C:\foo\..\OMSI = casing variants; C:\OMSI-A differs from C:\OMSI-B) (correction pass CP-02, addendum A/B) | STATICALLY_VALIDATED; runtime observed | lease.root-normalization, paths.installation-identity-and-containment. Runtime closure ID01: while session 01bfc780-10ef-4390-b700-c08bf809a42f ran, second starts and /recovery-status with the root spelled with \., a .. segment, lower case and upper case were refused (OL_E_SESSION_ALREADY_ACTIVE, OL_E_INSTALLATION_BUSY); the trailing-separator spelling likewise (ID01b, session ba3ea7c9-9826-453d-b447-81c48763e18f). |
Release package coherence: clean staging, Native.x86 build receipt (content, not timestamp), BOM-less manifest, integrity of the staged closure and of the re-extracted archive, installer copies the manifest (correction pass CP-01, Round A RA-007, addendum F/G/H) | STATICALLY_VALIDATED; installation observed | Test-PackagingPipeline.ps1 (candidate coherent plus 16 negative cases), runtime.release-manifest-bom, runtime.release-manifest-strict-parser. Runtime closure: packages installed into the authorized installation were coherent with their manifests, and every session planned with plugin.integrity.reference = manifest (candidate ledger research/reports/runtime-closure/CANDIDATES.md). |
Plugin closure integrity against release-manifest.json (S-09) | RUNTIME_VALIDATED | Round A session 47efd323-4ce1-400a-ac83-74893cf82f26; runtime closure sessions on installed release packages (for example R01 session 878b5e3c-2f9d-46bf-a918-11bb2e227e55, candidate 3) planned with plugin.integrity.reference = manifest; R02 showed a missing listed plugin blocks the start. |
In-process build validation (plugin.build.invalid -> OL_E_BUILD_VALIDATION_FAILED) | RUNTIME_VALIDATED | Matrix sessions; two earlier plugin.build.invalid sessions on a stale plugin |
| Handoff v4 with SHA-256 | RUNTIME_VALIDATED | Integration tests handoff.*; every session |
| Plugin inert without OmsiLaunch (no handoff) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) P01 (plain OMSI start, no OmsiLaunch session; OMSI pid 35564): the plugin closure and .NET host loaded, OmsiLaunch.Native.x86.dll was not loaded, the three native patch sites held the unpatched Omsi.exe bytes, and no control pipe, journal or diagnostics appeared |
DLL search policy (AssemblyDirectory | System32) (S-24) | STATICALLY_VALIDATED | Assembly attributes |
| Windows 10+ x64 detection and rejection of other platforms | STATICALLY_VALIDATED | CurrentWindowsX64Platform.Detect |
Runtime control channel and control plane#
| Feature | State | Evidence |
|---|---|---|
| Mailbox wire integrity, session binding | RUNTIME_VALIDATED | All runtime sessions; runtime-command.wire-guard, runtime-command.session-binding |
| Late-response discard and no channel wedge after timeout (S-08) | RUNTIME_VALIDATED | Round A session 173414a5-ee53-4b10-aeb7-046f40b851e9: an external client abandoned road-vehicles.spawn after 250 ms; a later map.read succeeded and canonical stop cleaned the session. Oversize response rejection remains offline-only. |
Local control plane: per-installation pipe name, session_id binding, typed handler errors, 64 KiB limit (S-06) | RUNTIME_VALIDATED | Round A session a00c6ff8-9cc9-4bce-ae44-c4314daad7bf: invalid protocol, unbound stop, wrong-session runtime request and oversized frame were rejected; a following valid status request and bound stop succeeded. Oversized response rejection remains offline-only. |
| Telemetry sequence slot, torn-sample skip, identical consecutive events (S-25) | STATICALLY_VALIDATED | telemetry.sequence-samples |
API boundary rejects internal.* and strips internal result keys (S-02) | STATICALLY_VALIDATED | OmsiLaunchService.ExecuteRuntimeAsync; registry validation |
| Invalid or oversized mailbox response releases the slot; next request succeeds (correction pass CP-03) | STATICALLY_VALIDATED | runtime-command.oversized-response-rejected; plugin side plugin-runtime.oversized-and-abandoned-responses. Not producible at runtime: no public operation returns more than one slot (largest about 37.8 KB, runtime closure R03). |
| Every terminal path of a runtime request leaves the mailbox reusable: typed rejection, timeout, caller cancellation, reused request id, internal operation, wrong session, missing argument (runtime); malformed, oversized, corrupt, stale and orphaned responses (offline) | RUNTIME_VALIDATED (reachable paths) | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R03 session 1134fdc3-a469-4ff5-a511-9964ed65e7cd: each failure was typed and the next valid request succeeded. Response-corruption paths cannot be produced from outside and remain offline (runtime-command.terminal-paths-leave-channel-usable). |
Oversized control-plane reply answered as OL_E_CONTROL_RESPONSE_TOO_LARGE; status/events trimmed oldest-first to one frame (correction pass CP-04) | STATICALLY_VALIDATED | control-plane.binding-and-typed-errors. Not producible at runtime: the largest public reply observed in the runtime closure round was about 37.8 KB (R03), and a session's event history stays far below one frame. |
Control plane never silent once connected: malformed, oversized, negative-length, empty, JSON null, missing-command, non-string-argument, invalid-protocol, unknown-command, unbound and wrong-session frames; truncated client frames; stalled clients; clients leaving before the reply | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) R04 session faaaf8a8-126d-4a23-a8f3-381e47c58de6 (candidate 2, after fix BUG-02): every frame got its typed error, each followed by a successful session.status; a stalled client did not block others; a bound stop racing an in-flight road-vehicles.spawn ended the session and the spawn caller got a clean end of stream. OL_E_TIMEOUT and truncation metadata remain offline (control-plane.errors-never-silent). |
Runtime batch harnesses (/runtime-batch, /runtime-write-batch, /d3d-batch) | INTERNAL (STATICALLY_VALIDATED) | Validation harness only (S-27) |
Runtime operations#
| Operation(s) | State | Evidence |
|---|---|---|
time.read, time.set | RUNTIME_VALIDATED | Session e5454061 (write, SetTime, read-back, restore) |
weather.read, weather.actual.read | RUNTIME_VALIDATED | Session e5454061 |
weather.set | UNAVAILABLE | Rejected with OL_E_RUNTIME_SETTING_NOT_PERSISTENT; persistence FAIL in sessions e5454061 and 5f641c8d; rejection PASS in 50a1f1ec |
map.read | RUNTIME_VALIDATED | Revalidated after the Map global-slot correction in session 9dd62626-94c6-4cd7-bb6f-0288327696f4: loaded=true, 19 tiles, Grundorf identity, filename, description and year range coherent. |
camera.read, camera.set | RUNTIME_VALIDATED | Session e5454061 (FOV write, read-back, restore) |
camera.lock, camera.unlock | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) CAM01 session 5dfd9b96-fa94-4060-85af-0c9d19823a73: saved situation Linie 5 provided a PlayerVehicle (rv-000001); locks on families 0, 2 and 1 were confirmed by camera read-back; unlock released the policy |
road-vehicles.read, road-vehicles.list, road-vehicle.read | RUNTIME_VALIDATED | Sessions e5454061, 5f641c8d |
| RoadVehicle handle lifetime and stale detection (RV-002) | PARTIAL | No safe removal producer: in three runtime closure windows (H01, H01b, H01c, up to 180 s, with a clock jump) Grundorf's RoadVehicle and Human populations only grew; no public operation removes an object. Stale detection stays offline (S-19). The generation/ABA rule is runtime-validated for D3D textures (H02). |
road-vehicles.spawn (RV-003) | RUNTIME_VALIDATED | Session 5f641c8d: 2 -> 3, rv-000003 resolved |
road-vehicles.place-random | RUNTIME_VALIDATED | Matrix: collection 2 -> 4 |
player-vehicle.read | RUNTIME_VALIDATED | Round A RA-002 session 9dd62626-94c6-4cd7-bb6f-0288327696f4 (present=false); runtime closure CAM01 session 5dfd9b96-fa94-4060-85af-0c9d19823a73 read a present PlayerVehicle from a saved situation |
humans.read, humans.list, human.read | RUNTIME_VALIDATED | Session e5454061 |
timetable.read, timetable.*.list, timetable.logs.read | RUNTIME_VALIDATED | Session e5454061; track entries 91 records |
Bounded list truncation instead of OL_E_RUNTIME_RESPONSE_TOO_LARGE (documentation audit BUG-05) | RUNTIME_VALIDATED | Documentation audit retest on package 9F8CC87B..., saved situation situations\Linie 5.osn (Berlin-Spandau): timetable.track-entries.list returned 137 of 825 entries and timetable.tour-entries.list 224 of 4747 with truncated=true (sessions 08df97b8-06cc-4faa-be8b-f49ca1538dce and the doc-capture retest); before the fix both failed with OL_E_RUNTIME_RESPONSE_TOO_LARGE (session f51dcb59-a723-4570-b6c5-b61e628a7993). Evidence: research/reports/documentation-audit/runtime/. |
drivers.read, tickets.read | RUNTIME_VALIDATED | Session e5454061 |
vehicle.variables.list, vehicle.variable.get, vehicle.variable.set | RUNTIME_VALIDATED | Refresh_Strings 0 -> 1 -> 0 in the runtime session recorded as Runtime-Proven in research/reports/OmsiHook-Parity-Wave-A-Closure-001.md (1,025 names enumerated, per OMSILAUNCH-AUTONOMOUS-BUILD-001.md); the report does not record the session id |
vehicle.string-variables.list, vehicle.string-variable.get | RUNTIME_VALIDATED (read only) | Session e5454061; writes BI-004 UNAVAILABLE |
vehicle.constants.list, vehicle.constant.get, vehicle.curves.list, vehicle.curve.evaluate, vehicle.hofs.read | RUNTIME_VALIDATED | Session e5454061 |
d3d.status, d3d.texture.create, d3d.texture.describe, d3d.texture.update, d3d.texture.release, released-handle rejection | RUNTIME_VALIDATED | Matrix "basic D3D texture lifecycle"; runtime.d3d.* capability notes (session 4378899d for the device slot) |
| D3D device loss / reset / restored events, generation invalidation (RV-007) | RUNTIME_VALIDATED (resetting/restored) | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) D01 session fc07946e-58dd-4ddc-af7e-10c7e61a899a: a temporary display-mode change (test producer, never public, no synthetic reset call) made OMSI reset its device twice. d3d.resetting/d3d.restored were emitted, the generation advanced on each cycle, a request during the reset got OL_E_D3D_RESET_IN_PROGRESS, the pre-loss texture was rejected with OL_E_D3D_STALE_RESOURCE_HANDLE and new textures worked. OMSI went straight to DEVICENOTRESET, so a distinct lost transition was not produced. One attempt crashed OMSI in DSound.dll (display-audio endpoint change; the owner restored exactly). |
events.read / events watch | RUNTIME_VALIDATED | Every session (telemetry-driven lifecycle) |
internal.road-vehicles.make-basic | INTERNAL | Unreachable through public surfaces |
Launch features#
| Feature | State | Evidence |
|---|---|---|
/set and profile settings (configuration.options.semantic) | RUNTIME_VALIDATED | RV-005 |
| Session profiles (strict compiler, conflicts, path confinement incl. reparse points S-17) | RUNTIME_VALIDATED (profile start scope) | Round A RA-009, Test-Beta3SessionProfile.ps1, 2026-09-22: managed splash, disabled Internet Textures and graphics.maxFPS=30 preset; options.cfg restored, fixture intact, no journal/lease/process. |
/spec loading (1 MiB limit, unknown properties rejected, timeouts honoured) (S-20) | STATICALLY_VALIDATED | cli.* tests |
Managed splash PTB/ENG/DEU/FRA | RUNTIME_VALIDATED | RV-006 |
Internet textures Disabled (in-process downloader suppression) | STATICALLY_VALIDATED | internet-textures.suppressed telemetry path; not cited in the matrix |
Internet textures .itx target guard (Round A RA-011/RA-012, correction pass CP-05, addendum E): canonical root, canonical target, relative path, segment rules; only a directory segment named texture below the root qualifies (mytexture, texture_backup, texture2 and texture in the absolute root do not); traversal, absolute, root-relative and junction targets rejected; spellings collapse to one canonical transaction path | STATICALLY_VALIDATED | presentation.itx-target-root-normalization, presentation.itx-target-guard-rejections |
Internet textures Override | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md): I01 session 6eac2dac-c7e9-49a1-acbf-2a5d59c1c0d3: OMSI's downloader sent HEAD and GET to a loopback server for an existing and an originally absent target, wrote both, and after the canonical stop the absent target was removed and the existing one restored byte-exact; I02 session a8f2b720-e41a-4e34-86bf-125bf519a5bd: the same after owner and OMSI were killed, via /recover. |
/date, /time, /year, weather flags, player-vehicle flags (STATICALLY_PARTIAL) | UNAVAILABLE | Planner marks the plan not runnable (OL_E_CAPABILITY_UNAVAILABLE); the plugin rejects non-Unset date/time modes |
/entrypoint:<identity> (BI-001) | PARTIAL | Plan not runnable (RUNTIME_PARTIAL) |
/last (LastMapState, BI-006) | UNAVAILABLE | UNSUPPORTED_FOR_CURRENT_PROFILE |
InputSpec keyboard/controller overlays (BI-005) | UNAVAILABLE | Parsers exist; not applied |
Headless PlayerVehicle assignment (BI-007), SetActualDateTime (BI-002), ICAO weather control (BI-003), string-variable writes (BI-004), cross-tile relocation (BI-008) | UNAVAILABLE | Blocked until implementation closes |
/list discovery (content.*) | STATICALLY_VALIDATED; runtime observed | discovery.fixture; runtime closure used /list:situations against the authorized installation (identities including non-ASCII situations\Nur für Fortgeschrittene.osn) |
/quiet, /serve | UNAVAILABLE | ACCEPTED_FOR_COMPATIBILITY / CURRENTLY_NO_EFFECT |
Diagnostics flags (/log, /logall, /omsi-logall, /verbose, /trace*) | PARTIAL | Carried in DiagnosticsSpec; effect limited to the host trace |
Windows host and tray#
| Feature | State | Evidence |
|---|---|---|
Tray indicator (OmsiLaunchW.exe): icon in the notification area, status, "End session" with confirmation and Cancel, Explorer restart, dialogs open while a stop arrives, stop during /observe-seconds, failure dialogs (S-16) | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) on candidate 3 (after fix BUG-04): T01 session 6d827c13-caf8-4221-832a-c91d26f130e0 (icon found in Shell_TrayWnd, pt-BR status window, Explorer restart re-added the icon, Cancel kept the session, End session ended it in 607 ms and removed the icon); T02 session 0939a151-bf03-4ca9-8294-8b0088df7d30 (status and confirmation open during a pipe stop); T03 session 7e6e805d-69c2-47a3-9fa3-4cdccbe3ccb8; T04 session 8ddc4cc9-3089-4c0c-b062-f0c526ce0e4a (argument error, no active session and session-failure dialogs with codes). Shim exit codes 100-106 were not produced. |
/silent re-launch returning 0 when the host started | RUNTIME_VALIDATED | Runtime closure round (research/reports/runtime-closure/FINAL-RUNTIME-VALIDATION-REPORT.md) T04 session 8ddc4cc9-3089-4c0c-b062-f0c526ce0e4a (candidate 3, after fix BUG-03): the launcher returned 0 and a caller capturing its output got end of stream after 0.4 s while the OmsiLaunchW session ran without a console window; the session stopped with an exact restore |
| Bootstrapper shim exit codes 100-106, dynamic path buffer (S-21) | STATICALLY_VALIDATED | Test-ReleaseIdentity.ps1 |
Documentation audit retest (0.1.0-beta3 documentation closure)#
Package 9F8CC87B238A677F7238C262E8FE0496832263B6C0A58083409EB485C03C6F17 on the authorized installation, with BUG-05, BUG-06, BUG-07 and the smoke repeated on the final package B8462ED6C596843E778C33DF4E93EBA3ACC875B7E43B011D60E5A21A16032E35 (R01 session 56cdee4b-9160-49fc-b0fd-5134ff9fe2d0, doc capture session 40046805-5337-48fc-90dd-e7d3500ed3b4); evidence in research/reports/documentation-audit/runtime/ and research/reports/OMSILAUNCH-BETA3-FINAL-DOCUMENTATION-AUDIT.md.
| Item | State | Evidence |
|---|---|---|
OmsiLaunchW.exe reports a non-runnable launch (BUG-06) | RUNTIME_VALIDATED | /new ... /date:2026-09-20 under OmsiLaunchW.exe: dialog Requested capability unavailable: world.explicit-date / Code: OL_E_CAPABILITY_UNAVAILABLE, exit 1, no OMSI process (doc-bug06-dialog.json; installed package 9f8cc87b..., no session is created by design) |
| Advertised CLI routes are real syntax (BUG-07) | RUNTIME_VALIDATED | Every client-route alternative printed by the installed help --json and capabilities --json (32 descriptors) was accepted by the installed parser; none printed usage (doc-bug07-routes.json; installed package 9f8cc87b...) |
| Every command line of the CLI examples page | RUNTIME_VALIDATED | 43 client lines executed against owner session 08df97b8-06cc-4faa-be8b-f49ca1538dce (saved situation; events watch skipped because it runs until Ctrl+C), ending with the page's own session stop (owner exit 0). All matched the page except vehicle.constant.get with name=max_speed, a constant that bus does not have; the page now uses antrieb_getr_version. The grundorf-quick profile example did not plan (doubled backslashes in plain YAML scalars) and was corrected; every no-session line run from the installation root, launch lines with /plan (doc-client-examples.json, doc-examples-no-session.json, doc-profile-example.json) |
Smoke NEW_MAP with /observe-seconds on the final package | RUNTIME_VALIDATED | R01 session 08570134-cfd8-4726-a472-5f6dd2f04c8f, clean end state (research/reports/runtime-closure/doc-R01-*) |
Consolidated RUNTIME_VALIDATION_REQUIRED list#
The runtime closure round of 2026-09-23 closed the previous queue. It remains empty except for items that cannot be produced safely on this installation:
- Steam LAA gameplay, reads, commands and stop: need a genuine Steam installation (environment; row above is
PARTIAL). - RV-002 RoadVehicle and Human removal: no safe removal producer (row above is
PARTIAL).
Items that stay offline because they cannot be produced from outside the product are marked in their rows and are not part of the queue: mailbox response corruption, oversized replies, event-history truncation, the lost D3D transition, logoff, shim exit codes 100-106, and the deferred pre-fingerprint recovery branch.
Related: capabilities, known limitations, transactions and recovery, compatibility.