Skip to content

P10.8: isolate BCUGE BRCB BufOvfl and SqNum/EntryID discontinuities with same-slot wire-order evidence #520

Open

Description

@masarray

Field evidence — P10.7 GE Edition 1 BCU simulator, two independent ingresses (11 Oct 2026)

Protected success baseline is ARSAS Milestone #518, checkpoint checkpoint/p10-6-field-verified-bcuge-parity-a8835102; P10.7 staged head 415d1db74c0f69637063601da037edf78142cb89 / checkpoint/p10-7-brcb-observability-415d1db7. Operator reported EXE build SHA 4b12e5b05da2531d2f852844a8db4b8006554c65, GitHub's two-parent merge-test commit from P10.7, so evidence genuinely exercises new triage. Engine remains 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1, no changes.

Evidence from two user-uploaded ARSAS diagnostic reports

Local reports: Open SCL 2026-10-11 12:58:28 WIB (connection 12:54:39) and IP Discovery 13:02:02 WIB (connection 12:59:08). Same user-authorized local GE Edition1 BCU simulator, BCUGE high-confidence independent IID verification (Discovery), raw BCUGEF650, exact semantic SHA 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, all 7/7 rows equal, eight DataSets/124 members, 67/67 displayed, six real static RCB targets routed, 0 cyclic MMS process polling. Both report 25 decoded InformationReports / 605 projected process updates. Both have OptionFields decoded 25/25, SqNum 25/25, no untracked metadata streams, unchanged ConfRev, no segmentation.

Evidence Open SCL IP Discovery
frames with findings 12 6
findings (multiple per frame possible) 13 7
sequence discontinuities 10 4
BRCB BufOvfl=true frames 3 3
CSWI BRCB frames 19 19
CSWI findings / seq discontinuities 10 / 9 4 / 3
CSWI changed / same / unknown opaque EntryID 9 / 0 / 0 2 / 1 / 0
CSWI discontinuities with explicit GI reason 2 2
EVEGGIO BRCB frames 2 2
EVEGGIO findings / seq discontinuities 3 / 1 3 / 1
EVEGGIO changed / same / unknown EntryID 1 / 0 / 0 1 / 0 / 0
EVEGGIO discontinuities with explicit GI / BufOvfl 1 / 1 1 / 1
Four URCB streams 1 frame each, 0 findings 1 frame each, 0 findings

IMPORTANT CONFOUND: Open SCL takes BRB_CSWI_GW010101 / BRB_EVE_GW01; Discovery takes BRB_CSWI_SOGI101 / BRB_EVE_SOGI10101. 10-vs-4 is not A/B evidence of algorithm quality; different physical RCB slots and independent sessions can have different replay/buffer behavior. All BufOvfl observed in two BRCBs; four URCBs each clean but were observed only once.

Decoder provenance: CSWI/EVEGGIO OptionFields 7F80 (SqNum and EntryID advertised), BRCB EntryID decoded in all 21/21 BRCB frames per ingress. URCB mask 7C80, EntryID omitted as expected. RptEna and GI writes accepted on all streams; GI inclusion reason present in some anomalous frames, not all CSWI discontinuities. This makes GI automatically explains harmless reset unsound.

Current logs show anomalies concentrated near the initial RCB activation/initial GI. They do not prove post-initial spontaneous event delivery over a controlled time period. 67 displayed values and 605 process updates are NOT proof of lossless buffered SOE. No source attribution to IED/server vs receive reordering can be made without timestamped on-wire frame-order evidence. Do NOT suppress warnings, reinterpret opaque EntryID as an integer/sequence, or auto-claim no loss.

P10.8 next experiment — engineering acceptance, safe & bounded

  1. No protocol-side writes as a diagnostic hack. Preserve RptEna/GI workflow and safe existing RCB ownership/slot availability. Do not write PurgeBuf, force another client's reserved RCB or restart the simulator to cosmetically clear warnings. Only observe existing legal control-plane outcomes.
  2. Use an authorized same-PC GE simulator, two comparable capture runs on the same exact CSWI & EVEGGIO RCB instances if both are genuinely free (no ownership override), first from Open SCL and second from IP Discovery; record actual chosen RCB ref each time.
  3. If simulator supports safe test events, generate a deterministic set of non-control indication changes after initial GI at a known interval (e.g. at +20s, +40s), then monitor up to 60s. Avoid any real switch/breaker operations. Capture targeted permitted network trace and correlate wire order, SqNum, opaque EntryID hash/presence only, GIBit, BufOvfl, ConfRev, timeOfEntry and receive timestamp per RCB.
  4. Need to distinguish initial GI/queue replay vs spontaneous updates vs buffer overflow. Optionally test clean association and known buffer state (with simulator-only operator consent), recording whether buffer was empty beforehand. Isolate whether a repeated SqNum corresponds to identical or different on-wire report PDUs.
  5. Only if raw observations prove a client-side defect, implement a minimal, typed engine-level correction with byte-accurate project-generated regression fixtures and no regressions to P10.6. If source is server simulator behavior, classify as external and keep the diagnostic warning rather than modifying decoder/pipeline.
  6. Preserve fixed scope: 8/124 DataSets, 67/67 values, 6/6 real RCB streams, zero cyclic polling, BCUGE trusted IEDName, exact 7-row fingerprint; maintain R10 main/public release gates.

Full source diagnostic reports remain user-supplied chat attachments and are not committed to the public repository. No R10 physical acceptance or SOE/event-lossless claim. Engine incomplete GetNameList remains ARIEC #162.

Activity

  1. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    New operator evidence — 2026-10-11 13:28 WIB, P10.7 confirmed

    User uploaded Diagnostic Report from running GE/BCUGE simulator on existing P10.7 executable 4b12e5b05da2531d2f852844a8db4b8006554c65, locked engine 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1. Connected/monitoring 192.16.1.33:102, name BCUGE, high-confidence trusted IID, immutable semantic fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DataSets/124 members, 67/67 values, 6/6 RCBs routed, zero process polling. Smart discovery 2.15 seconds, but 6400/64-page cap still explicitly incomplete.

    New snapshot at 13:28:21 shows 43 sequenced InformationReports / 623 process updates, up from 25/605 in a previous independent 13:02 run. Latest exact slot GW continuity: 13 findings on 12 frames, 10 SqNum discontinuities, 3 BufOvfl, 25/25 CSWI EntryIDs and 2/2 EVEGGIO EntryIDs decoder-proven, ConfRevChanges=0. Four URCBs have 7/1/1/7 frames respectively with zero findings. Last CSWI anomaly 2026-10-11T06:25:51.4627546Z, about 186 ms after the 2026-10-11T06:25:51.2770801Z activation-return observation; EVEGGIO last anomaly 06:25:51.3961772Z. No later anomaly timestamp as of 13:28, but this alone is insufficient to claim uninterrupted healthy event delivery.

    Major confound removed: earlier Open SCL 12:58 on the same two GW RCB slots BRB_CSWI_GW010101/BRB_EVE_GW01 produced the exact same 13 findings, 10 Sq discontinuities, 3 BufOvfl (19 CSWI, 2 EVEGGIO initial frames). Earlier IP Discovery at 13:02 selected different SOGI slots and had 7 findings/4 discontinuities; this is no proof that Discovery was better. Similarity across both ingresses on the same BRCB slots makes slot-specific startup behavior a stronger hypothesis, not a proven server cause.

    Next bounded implementation: ARSAS draft P10.8A PR #521 from P10.7 staging adds O(1) per-RCB post-finding actual received frame counter, last-finding/last-observed timestamps and immutable diagnostic view. No decoder/engine/RCB/write/polling changes. Do not infer recovery from elapsed wall clock; if an EVEGGIO stream has only 2 total frames, there are no later clean events to claim. CI pending. Preserve milestone #518 and release gates.

  2. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8A complete — follow-up evidence added without changing BRCB acquisition (2026-10-11)

    Field basis: Latest user-uploaded Discovery Diagnostic Report (13:28 WIB; app merge-test 4b12e5b05da2531d2f852844a8db4b8006554c65, locked ARIEC 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1) shows BCUGE high-confidence IID verification, same 7/7 semantic fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DataSets/124 members, 67/67 static values, 6/6 static RCB streams, no cyclic MMS polling. 43 InfoReports/623 process updates in that association. Ten SqNum anomalies and three BufOvfl across two GW BRCBs; last known anomaly 186ms after CSWI activation return, no later anomaly timestamp despite later traffic. Comparing different previous session 25/605 is not a same-association incremental delta. Same-slot earlier Open SCL GW capture had exactly 13 findings/10 Seq discontinuities/3 BufOvfl; ingress not independently implicated. Ongoing SOE losslessness remains unverified.

    Implemented in PR #521: from frozen P10.7 415d1db74c0f69637063601da037edf78142cb89, 3-file consumer-only diff (continuity inspector; diagnostic formatter; six new xUnit tests). Adds capped constant-memory, association-local actual report frame count after last per-RCB finding, plus first/last report receive timestamps and last finding timestamp in immutable snapshot. A later warning resets follow-up count; OptFlds warnings/BufOvfl remain; timestamps without evidence remain null. Reports RCB follow-up : receivedAfterLastFinding=... firstFrameUtc=... lastFindingUtc=... lastFrameUtc=... only for RCBs with findings. RCBs with no later frames CANNOT appear recovered solely due idle elapsed time. No new network I/O, commands, report activation, dynamic polling, decoder/engine or per-frame unbounded allocations.

    Promotion: exact PR head a7f4edbf5cb972eacb9baaf0c25e4475ee5f10c9 10/10 GitHub CI succeeded including canonical Windows Build #38118437424 and portable EXE artifact #11694588019. Guarded non-force FF to staging fix/512-goose-event-header-alignment verified, checkpoint checkpoint/p10-8a-post-anomaly-followup-a7f4edbf. 16 staging post-FF workflows automatically triggered on the identical SHA; do NOT manually retrigger duplicates. ARSAS main and ARIEC main/engine pin untouched.

    Acceptance: P10.6 field-verified semantic/identity Milestone #518 and prior checkpoint/p10-6-field-verified-bcuge-parity-a8835102, plus checkpoint/p10-7-brcb-observability-415d1db7, remain immutable. No physical R10 acceptance or public release. For operator next test: reuse GE simulator, run 60-150 seconds after initial GI, take diagnostics: compare same GW slot CSWI and EVEGGIO. Expect actual additional reports reflected as post-finding frames for active CSWI, while an EVEGGIO BRCB with no further reports honestly shows zero. Historical BufOvfl must remain. Root-cause distinction IED buffering vs client receive-order requires authorized wire trace; no decoder or auto replay mutations permitted without that evidence. Engine NameList partial 6400/64 remains ARIEC #162.

  3. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8B milestone — bounded BRCB decoder-metadata chronology (2026-10-11)

    Current staging: fix/512-goose-event-header-alignment advanced via non-force fast-forward from tested P10.8A a7f4edbf5cb972eacb9baaf0c25e4475ee5f10c9 to exact 3c58a476e25289a1a59f55992dbf70c81f73fffd, PR #522 GitHub confirms MERGED. Immutable new checkpoint checkpoint/p10-8b-bounded-brcb-chronology-3c58a476. Previously verified P10.6 checkpoint/p10-6-field-verified-bcuge-parity-a8835102 and P10.7 checkpoint/p10-7-brcb-observability-415d1db7 stay unchanged; P10.6 milestone #518 protected.

    Engineering scope: only three consumer files changed: Services/Iec61850ReportContinuityInspector.cs, Services/DiagnosticReportBuilder.cs, tests/ARSAS.Tests/P108BBoundedReportChronologyTests.cs. For buffered RCB only, record first 32 and most recent 8 received decoder metadata frames per exact stream using lazy-allocated fixed-size ring of readonly record structs, no unbounded collection/per-frame heap trace allocation. Metadata includes receive-order ordinal, explicitly known/unknown receive time, SqNum, GI reason, BufOvfl, opaque EntryID relation only (changed/repeated/unverified/absent; requires independently verified OptionFields for both consecutive frames), and number of WARN findings on each frame. Never store raw EntryIDs, payload values, MMS PDU bytes. Snapshot copies up to 40 structs/RCB and diagnoses omitted middle count, first/tail order. Report makes clear receive-order metadata is not TCP packet order, no SOE losslessness conclusion. Four URCBs have no chronology buffer.

    Exact candidate CI: 10/10 green, full Windows solution/regression, pinned engine identity/canonical SCL, ArdIrec native CTest, portable single EXE smoke, CI guards; Build ARSAS run #38120012150, portable artifact #11695130540 (not expired when checked). Nine new deterministic tests verify ring 60 frames and omitted interval, boundary lengths, warning retention with repeat SqNum/EntryID, raw OptionFields rejection, no raw cursor leakage, URCB no history, frozen snapshot, unknown timestamps and stream isolation. At stage promotion exact SHA/baseline preflight passed. Auto-triggered 16 post-fast-forward workflows started, not manually dispatched.

    Protected physical simulator truth: Operator previously verified BCUGE with original SHA-pinned BCU_GE.iid, 7/7 identical static semantic rows/fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DS/124 ordered members, 67/67 runtime values, 6/6 routed configured static RCBs, no cyclic MMS polling. Most recent 13:28 user report from P10.7 showed 43 reports and 623 updates, 13 findings/10 Sq discontinuities/3 BufOvfl on the same GW BRCB slots as earlier Open SCL. All anomalies clustered at activation, but no wire capture means client-vs-simulator cause and SOE replay/loss remain UNKNOWN, warnings MUST remain. P10.8 Issue #520 owns the real-wire same-slot investigation; engine partial 6400/64 page NameList remains ARIEC #162.

    Safety: ARIEC stage and pinned lock remain 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1, ARSAS main remains 7d8d8026ae96d45f44d47f361d115a437af88fbe, ARIEC main unchanged. No decoder behavior, extra network I/O, RCB ownership or GI rewrites, no R10 physical qualification, main merge or public release. Next operator test: run P10.8B EXE in GE simulator, record complete Diagnostic Report after startup and after a permitted safe indication change; compare per-GW-RCB chronology to Wireshark trace. Do not interpret receive order as wire proof.

  4. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8C — completed isolated milestone (2026-10-11)

    Verified latest staging was P10.8B 3c58a476e25289a1a59f55992dbf70c81f73fffd, which had already passed 16/16 post-FF workflows, not the earlier P10.8A head. P10.6 trusted BCUGE IID and static-report parity field milestone #518 remains protected. Engine lock still exact 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1.

    Root-cause-quality observability gap: P10.8B retains first 32 + latest 8 BRCB decoder report metadata frames. In a long BRCB stream, genuine BufOvfl/SqNum anomaly at frame #46 of 70 is lost from the detailed head/tail evidence, despite existing aggregate counters. A long-running gateway needs to preserve intermittent anomaly evidence with bounded memory.

    Implemented PR #523: new lazy fixed ring of the last 8 anomalous BRCB frames, independent of unchanged existing first32/last8 chronology; copies in receive order into immutable snapshot; bounded BRCB anomaly history diagnostic section; no raw EntryID, MMS PDU, process values or unbounded history; zero new allocation for healthy BRCBs or URCBs until actual BRCB anomaly. O(1) append and constant per-BRCB memory. Exactly 3 files change: inspector, diagnostic formatter, five deterministic xUnit cases covering omitted-middle anomaly, ring wrap, immutable snapshot, no allocation for healthy/unbuffered and no secret cursors in diagnostics.

    Exact PR head a10eae2c3a5be11ba63e0b94b78d4f24c7fc73f2 CI 10/10 SUCCESS, canonical Build ARSAS #38122272726 and Windows Portable EXE #11695822574. Guarded non-force FF from P10.8B staging to that SHA; checkpoint checkpoint/p10-8c-anomaly-chronology-a10eae2c; PR marked merged. New staging 16 automatic workflows triggered on identical SHA: currently 1 green/15 running, zero failures; do not manually duplicate CI.

    Invariant: ARSAS and ARIEC main unchanged, ARIEC engine lock unchanged. Absolutely no changes to IEC 61850 decoder, RCB setup/selection, static DataSets, control, polling or GOOSE. SOE lossless physical qualification still NOT VERIFIED; BRCB BufOvfl=3 historical user logs remain genuine and must not be hidden. Device/protocol root cause still requires same-slot on-wire capture per Issue #520; Smart MMS 6400/64 partial NameList remains ARIEC #162.

  5. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8C checkpoint + P10.8D exact BRCB-slot comparator integrated (2026-10-11)

    Baseline audit: Existing staged HEAD had already advanced beyond P10.8A to a10eae2c3a5be11ba63e0b94b78d4f24c7fc73f2 with 16/16 exact-head GitHub CI SUCCESS (P10.8B first32/last8 receive chronology and P10.8C last8 anomalies, no raw EntryID). Preserved as checkpoint checkpoint/p10-8c-bounded-anomaly-chronology-a10eae2c before changes, not rebuilt on older base.

    P10.8D: ARSAS PR #524 adds read-only offline comparator scripts/compare-p10-brcb-sessions.py, nine standalone fixture regressions and one canonical Windows CI invocation. The comparator refuses misleading A/B analysis if IED name, pinned engine SHA, static semantic fingerprint, exact BRCB reference set, or DataSet differs. It compares per-slot observed counts and bounded chronology evidence only, NEVER asserts wire order, SOE lossless or physical R10 qualification; no live protocol writes, decoder, static DataSet, UI runtime, process polling or engine changes.

    Exact PR head ce73df3a47e163416c232b083eba1e4915f33e17 passed 12/12 GitHub Actions checks SUCCESS including canonical Windows build #38125585489 and portable EXE artifact #11697416229. After explicit exact-SHA, engine lock, main branch and FF ancestry checks, PR #524 merged into staging via non-force guarded fast-forward a10eae2c...→ce73df3a..., checkpoint checkpoint/p10-8d-brcb-same-slot-comparator-ce73df3a. All original milestone checkpoints still exist. 16 automatic post-promotion CI workflows started; do not manually trigger duplicates.

    Protected field milestone: #518 P10.6 BCUGE High verified identity, seven-row fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, 8 DataSets/124 members, 67/67 process values, 6/6 RCB report traffic, 0 cyclic polling. Engine lock remains exactly 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1; ARSAS/ARIEC main and public release untouched. Last GE simulator evidence still has BRCB BufOvfl and SqNum issues; this tool does NOT fix or hide them. IEC wire-order trace and physically controlled event evidence are still required before engine/protocol changes.

  6. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8D exact same-BRCB-slot offline comparator implemented and staged at ce73df3a47e163416c232b083eba1e4915f33e17 (16/16 post-FF CI green). Latest read-only comparator source scripts/compare-p10-brcb-sessions.py, 9 negative fixtures, rejects cross-slot comparisons and never claims lossless SOE. Canonical cross-thread state and commands: ARSAS #525. This issue #520 remains OPEN for actual authorized wire-order same-slot GE simulation/relay evidence; raw pcap root cause not yet proven.

  7. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.8E read-only offline diagnostics improvement merged into ARSAS staging at b129e7da32d804effff195497359f5ff0eb56a07 (PR #526, canonical Windows CI SUCCESS). Same-slot comparator now preserves decoded BufOvfl frame counts per exact RCB and refuses missing/impossible counts, with 13 fixture tests. This is not a cause fix: 13 findings, 10 SqNum discontinuities and 3 BufOvfl in prior GE GW slot evidence remain valid. Root-cause test still requires operator-authorized same-slot MMS wire-order capture on the simulator, no RCB ownership takeover, no breaker/device control, no lossless SOE assertion. Immutable checkpoint checkpoint/p10-8e-brcb-bufovfl-evidence-b129e7da; engine lock unchanged.

  8. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    New operator P10.8E merge-test field evidence (2026-10-11 17:29 / 17:32 WIB)

    Two fresh independent BCUGE same-PC authorized GE F650 simulator Diagnostic Reports supplied privately. Report app version 1.6.40+f4b07d454215f14dc659e2e9e57e3cfea62b4e98 is GitHub verified merge-test commit with parents exact P10.8D ce73df3a... and P10.8E b129e7da.... Engine remains 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1 and semantic fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e both. Each 8 static DS / 124 ordered members, 67/67 displayed, 6/6 routed real static RCB, 0 cyclic MMS polling. Open SCL 49 InformationReports / 629 process updates, Discovery 55 / 635.

    Confound remains: different exact slots. Open SCL CSWI BRB_CSWI_GW010101 frames=31, anomalousFrames=10, sqDiscontinuities=9, sqWithGIreason=2, BufOvfl=1, postFindingFrames=6, last anomaly 267.880 ms after RCB start-return; Discovery CSWI BRB_CSWI_SOGI101 frames=37, anomalousFrames=4, discontinuities=3, sqWithGIreason=2, BufOvfl=1, postFindingFrames=6, last anomaly 240.127 ms after start-return. Open SCL CSWI had 7 discontinuities without explicit GI reason, Discovery 1, but cross-slot difference is not ingress-performance evidence.

    EVEGGIO Open SCL BRB_EVE_GW01 and Discovery BRB_EVE_SOGI10101: independently two received frames only, both GIreason=YES and BufOvfl=YES, SqNum=0 then 0 with changed opaque EntryID; one discontinuity each; 0 subsequent frames; last anomaly 30.870 ms / 30.752 ms after respective RCB start-return. Across both per-session captures BufOvfl=3 (CSWI=1 + EVE=2). Four URCBs no observed findings, but several only one frame. None of this proves replay root cause, wire packet order, SOE continuity or physical R10.

    P10.9A implementation candidate draft PR #527 from exact P10.8E b129e7da...: add opt-in independent-session BRCB triage to existing offline comparator, preserving default strict same-slot refusal, exposing the above per-slot GI/BufOvfl/post-finding/timing evidence without paired conclusions; six new fixture regressions, no engine, decoder, polling, RCB/writes or network changes. CI pending; staging remains P10.8E until validated. Original reports not committed. Next causal experiment still needs genuinely free same RCB slots, safe operator simulator indications after GI, authorized MMS packet-order trace, no PurgeBuf, ownership takeover or device control.

  9. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.9A integration result: PR #527 now MERGED into staging at exact a27d108b765cb725f042c85b584b254969a56519, guarded non-force FF; checkpoint checkpoint/p10-9a-independent-brcb-triage-a27d108b. Candidate 8/8 CI SUCCESS including canonical Windows build and 19 Python comparator fixtures. Offline --independent-triage exposes separately the two mismatched GW/SOGI BRCB sessions without changing the strict default same-slot rejection. No runtime/engine/decoder/RCB/GI/polling modifications and NOT a root cause fix. Original operator reports kept private. Next requires identical free RCB slots plus authorized MMS wire capture and safe simulator indications. #525 records exact head and artifact.

  10. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    Operator repeat evidence: 2026-10-11 18:22 / 18:24 WIB, prepared for P10.9B

    Two private ARSAS BCUGE same-PC simulator reports, Open SCL and IP Discovery, app merge-test SHA 7bc0241f6361474a4e63f748be18097f52b84a2b verified to have exact P10.9A a27d108b... as a parent; pinned engine 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1. Both 8 DS/124 members, 67/67 display, 6/6 static RCB routed, zero cyclic MMS polling, exact semantic fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e.

    New decisive observational pattern: NON-GI CSWI SqNum recurrence after ~20-second receive gap on both ingresses, not only immediate startup. Open SCL GW CSWI: 39/39 decoder receive chronology, 13 anomalous frames, 12 discontinuities (2 with GI reasons), 1 BufOvfl, last finding at frame#38 11:22:13.8183266Z: previous #37 SqNum=12, then 1 with GIreason=NO / BufOvfl=NO / EntryID changed, after 19,734.103 ms receive gap, 20,041.650 ms after RCB start-return, one clean frame after. Discovery SOGI CSWI: 40/40 chronology, 11 anomalous frames, 10 discontinuities (1 with GI reason), 1 BufOvfl; frame#39 11:24:01.3554255Z: previous #38 SqNum=8 then 1, GIreason=NO / BufOvfl=NO / EntryID changed, 19,615.422 ms receive gap, 19,904.610 ms after start-return, one clean frame after.

    EVEGGIO on both ingresses remains two frames only (SqNum=0,0, both GIreason YES and BufOvfl YES, EntryID changed between frames); zero later clean follow-up. Totals Open 49 reports / 16 findings / 13 discontinuities / 3 BufOvfl; Discovery 50 / 14 / 11 / 3. Different GW versus SOGI BRCB slots still make any paired reliability comparison INVALID. Decoder chronology does NOT demonstrate actual TCP/wire arrival order, root cause, event loss, lossless SOE, or physical R10.

    P10.9B draft PR #528 adds an offline-only, completeness-gated decoder receive-gap calculation to P10.9A --independent-triage. Default strict same-slot comparator and all network/runtime/engine/RCB/GI/control paths untouched. 25 deterministic comparator test fixtures; candidate CI still pending as of this comment. No original private logs committed.

    Causal follow-up still needs authorized timestamped MMS packet/association trace and specifically same free BRCB slot plus safe simulator state changes, no ownership takeover/PurgeBuf/controls. A ~20s decoder receive gap is a useful hypothesis discriminator, not evidence that a timer, GI, or server caused the recurrence.

  11. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.9B delivery: PR #528 now MERGED via guarded FF on staging at 6bc21ff4787ad10a53a70ec33fe26268620c100d (checkpoint checkpoint/p10-9b-brcb-receive-gap-6bc21ff4). Candidate 8/8 CI SUCCESS including Windows canonical build and 25 deterministic comparator tests; portable artifact. New staging post-FF CI started automatically. This is observational instrumentation only: it distinguishes complete recorded decoder receive gap from missing chronology and exposes ~19.7s/19.6s non-GI CSWI finding recurrences. No decoder/RCB/GI/MMS/wire fix claimed, private logs not committed, no same-slot reliability/packet-order/lossless-SOE proof, no hardware R10. Updated canonical handoff #525; causal trace/blocker remains open.

  12. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    Fresh operator same-slot observational evidence (2026-10-11 18:49 / 18:53 WIB)

    New private Open SCL/Discovery logs come from app merge-test 405d0d17bec1f07f288374bdd3897a5469b91426 (P10.9A + P10.9B parents), pinned engine 00ad2819b99ffe6b3f885e59aa24a6afb2b4d8e1, identical static fingerprint 439d4dc0507019533b154ed68f7f4007f39f6be92b5cd3f413ff3b84f619727e, BCUGE 192.16.1.33:102.

    Unlike prior mismatched GW/SOGI tests, BOTH now use identical live BRCB GW slots BCUGEF650/LLN0.BR.BRB_CSWI_GW010101 and BCUGEF650/LLN0.BR.BRB_EVE_GW01. Open SCL 56 frames, 555 process updates, 18 findings, 16 discontinuities, BufOvfl=2; Discovery 60 frames, 563 updates, 20 findings, 18 discontinuities, BufOvfl=2. CSWI frames 43 vs45 (BufOvfl=1 each), EVE frames 5 vs7 (BufOvfl=1 each), EVE has two later clean received frames in each. Both 67/67 visible / 6/6 routed / zero cyclic MMS polling.

    Do not extrapolate fully timed receive-gap sequences for CSWI here: chronology is bounded, omittedMiddle=3 Open and omittedMiddle=5 Discovery, so P10.9B completeness gate correctly rejects full receive-order inferences. Same slot+DataSet identity permits strict observational comparison, not a proof of causality, TCP packet order, SOE losslessness or physical R10. BRCB investigative issue remains OPEN, no decoder/protocol changes. Separate P10.9C GUI UX PR #529 was merged at staging 83e3ac4d... (12/12 candidate CI green) to remember the last manually confirmed IP/port without touching reporting. No raw private diagnostics committed.

  13. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.9D–E distinction after source audit, 2026-10-11: upstream ARIEC #163 eliminates an independently proven ARIEC simulator report-per-Task.Run send-order race via single FIFO per association, but that simulator sends BufOvfl=false, unlike BCUGE external logs with BufOvfl=true. ARIEC core #164 now quarantines explicitly mismatched RptID/full DatSet payloads before value projection; no evidence the observed BCUGE warnings had that contradiction. Both engine CI green, source guarded. The optional ARSAS engine pin #530 is blocked by historical field qualification (consumer CI red; no merge), safe baseline unchanged; integration issue #531.

    This does not close BCUGE continuity #520: last same-slot Open SCL and IP Discovery sessions each show 19 SqNum discontinuities, 2 BufOvfl, 67/67 displayed, 6/6 static RCB routed, zero process polling. Repeating unchanged text diagnostics does not demonstrate cause. Future acceptance requires permissioned timestamped MMS wire/association trace or a separately deterministic simulator reproduction, not speculative decoder reset/suppression.

  14. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.9F source integration completed without claiming external BCUGE cure. ARSAS staging now e62b42bfbc7d1a9db0ec1ae55bb46789f5fec347 (15/15 exact-candidate workflows SUCCESS), engine exact SHA fa93c9fdc7cd98fd3624227ee21c3eefc68bcac7, PR #530 merged, portable EXE. It safely quarantines explicit mismatched full DataSet/RptID before SCADA value projection. ARIEC simulator-only FIFO send-order fix is upstream (not compiled into ARSAS). No proof that the GE/BCUGE 19 SqNum discontinuities or 2 BufOvfl are fixed; #520 stays open pending independent wire-level causality. No duplicate BCUGE text diagnostics requested.

  15. masarray commented on Oct 11, 2026

    @masarray
    OwnerAuthor

    P10.9G same-device external context (12 Oct 05:23 WIB): Discovery session version 1.6.40+76c1f534..., engine fa93c9fd..., 80 frames, 603 process updates, 67/67 display, 6/6 static RCB routed, zero cyclic polling. CSWI GW 53 frames with 16 SqNum discontinuities/BufOvfl=1 and EVE GW 15 frames with 5 discontinuities/BufOvfl=1, in first ~0.3 seconds; 4 URCB had zero continuity findings. Both buffered streams later receive 4 clean reports. Decoded chronology is NOT wire packet order.

    Independent code audit identified a real secondary ARIEC InformationReport subscription bug: bounded capacity default 32 previously used DropOldest silently. Engine PR #165 now faults only a slow subscriber under overflow rather than silently dropping; its canonical FIFO is unchanged. ARSAS integration PR #533 stage exact 80d1a894..., full candidate 14/14 green, portable EXE artifact. ARSAS actual static reporting drains the separate canonical FIFO, not this subscriber; so BCUGE SqNum/BufOvfl anomaly is NOT claimed fixed, and issue remains open pending real causal wire/server evidence. Do not ask for another identical pair of text reports merely to validate this secondary-subscriber fix.

  16. masarray commented on Oct 12, 2026

    @masarray
    OwnerAuthor

    2026-10-12 07:27 WIB BCUGE Discovery IP P10.9G operator diagnostic (engine exact d700b0df): static reporting 67/67 displayed, 6/6 exact static RCB routed, 80 decoded InformationReports, 603 process updates, zero cyclic polling, OptFlds 80/80. 27 SqNum discontinuities (CSWI GW 21 among 55 frames; EVE GW 6 among 17), two BufOvfl, four URCBs with 0 findings. Do not treat as certified SOE loss. Critical falsifier of earlier startup-only theory: CSWI last anomaly at 2026-10-12T00:26:53.544Z, ~48.574s after its RCB start-return at 00:26:04.969Z and ~48 seconds after initial burst, SqNum 4→1, GIreason=NO. 1 of 21 CSWI discontinuities and 2 of 6 EVE discontinuities have GI reason. Thus GI correlation alone cannot explain remaining 24 of 27 discontinuities. All actual Tcp/wire packet order and source origin remain unverified.

    Separate source-visible network-diagnostic defect: 192.16.1.33 is assigned on local KM_Test adapter (Windows same-host simulator); 5 IPv4 alias addresses match but they are one NIC, not 5 competing adapters. ARSAS draft PR #534 under CI corrects NIC identity classification and adds one bounded IEC context interpretation line per anomalous BRCB. This PR does not claim to repair the source's SqNum or BufOvfl, leaves report continuity warnings untouched and does not modify GI/RCB or MMS pipeline. Source-specific causal resolution still needs independent server/wire evidence; please don't request identical diagnostic reruns merely for context-classification changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions