Skip to content

M2.14→M2.15 BCUGE: complete CFG/DAT/RIO bundles on verified MMS root without engine repin - #601

Closed
masarray wants to merge 6 commits into
feat/m214-browser-collapsible-report-sections-20261016from
fix/m214-rio-root-compat-without-engine-repin-20261016
Closed

masarray wants to merge 6 commits into
feat/m214-browser-collapsible-report-sections-20261016from
fix/m214-rio-root-compat-without-engine-repin-20261016

Conversation

@masarray

Copy link
Copy Markdown
Owner

User acceptance: COMTRADE files named identically belong to one download

Supersedes blocked experimental consumer #600, whose engine pin replacement tripped physically anchored safety/interop CI guards. This safer branch is stacked on green #599, keeps exactly the validated ARIEC pin 036e2c00d83a0815b6160147b14ea05975057965, and does not bypass any engine guard.

  • The engine remains the sole authority for complete primary CFG+DAT records and the existing dedicated MMS downloader remains the sole wire/transfer implementation.
  • Reconcile only a physically listed .rio file from the same root MMS FileDirectory response with an already verified complete ARIEC CFG/DAT record and exactly matching directory and basename (ordinal). Reject alias duplicates, same-named other-folder files, or missing/mismatched server filename. No SCL or guessed paths.
  • Project one verified bundle row line_1, with per-selection members CFG + DAT + RIO and exact count/bytes; orphan RIO remains browse-only.
  • Use the engine's existing single transactional downloader by appending the physically observed RIO as an ancillary typed file record. This pinned engine predates a dedicated RIO enum, so its Information kind is used strictly for transfer ordering; extension remains .rio and is never misrepresented as .inf. Future upstream ARIEC #170 can replace this compatibility seam after qualification.
  • Existing completed-download validation and hash-based manifest require the extra file. Unknown RIO modification time disables unsafe cached-reuse: no assumption of unchanged remote content.
  • Index exact path identities once (O(N) catalog reconciliation), no background network poll, no extra download association, no writes.
  • Regression: 3-file logical bundle, physical-only root-first, orphan, duplicate names/case, different directory, incomplete CFG/RIO, missing local RIO / length, source catalog unchanged, SCL-only cannot authorize.

Coverage limitation: root FileDirectory RIO only; the historical engine does not reveal raw unknown extension entries from recursive subdirectory scans. Do not claim subdirectory RIO support without a new engine contract. No main merge or release until CI and BCUGE physical acceptance.

Copy link
Copy Markdown
Owner Author

Disposition: Integrated / superseded intermediate M2.14 COMTRADE-RIO compatibility milestone. This is PR tracking cleanup only; no merge to main or physical acceptance.

Canonical replacement: #649 remains OPEN as a preserved integrated application lineage (head 4c232184f64584308396ea18ff6c82700ac02d29). This PR head 1a8601071fc99a5f51719092598b2dd9a94c2a7a is an exact ancestor (GitHub compare ahead=482, behind=0). Current #729/#727 RC contains the production implementation and subsequent engine-compatibility test adaptation.

Unique delta — fully accounted for: All five changed files remain byte-identical in #649 (Git blob SHA verified individually): MainWindow.IedBrowser.Files.cs (d207f127...), Models/IedBrowserFileCatalog.cs (6fa4ffbd...), Models/IedBrowserFileDiscoveryPlanner.cs (85e46d4b...), Models/IedBrowserRioSidecarBridge.cs (aca4a54f...), and tests/ARSAS.Tests/M214RioPinnedEngineCompatibilityTests.cs (283615ca...). In the later RC, all four production files remain exact, while the same six RIO regression test methods were retained and adapted to newer ARIEC engine native RIO support (original expected 2-file CFG/DAT engine catalog upgraded to 3-file CFG/DAT/RIO, plus an explicit idempotence assertion). No orphaned production code/test milestone.

Safety: Original root FileDirectory authority, CFG/DAT/RIO exact-name/path matching, fail-closed ambiguous/orphan RIO, SHA-fenced transfer cache and no fabricated directory scans remain mandatory. No branches deleted and no mutation of ARIEC engine pins, main, stable v1.6.42 or CI/physical gates.

Follow-up: #649 and RC qualification must still verify BCUGE/real-device FileDirectory, native download, COMTRADE bundle behavior and physical FAT before an R7/R10 mainline/source promotion. Closing this historical PR is not acceptance of subdirectory RIO or untested hardware.

@masarray masarray closed this Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant