Skip to content

P9: four-RCB initial report registration race + bounded per-RCB delivery - #200

Draft
masarray wants to merge 5 commits into
stagingfrom
feature/p9-multircb-activation-bounded-dispatch-20261031
Draft

masarray wants to merge 5 commits into
stagingfrom
feature/p9-multircb-activation-bounded-dispatch-20261031

Conversation

@masarray

Copy link
Copy Markdown
Owner

P9 — Multi-RCB receive correctness and bounded delivery (single integrated milestone)

Branch base: ARIEC staging ae1ce23dbc181c2a17aef20802f7517892fe4264. No ARSAS main/RC, stable v1.6.42, baseline engine lock or P8 #763 changed.

Rooted source defects corrected

  1. Initial-image timing race: previous StartPersistentReportMonitorAsync issued RptEna, awaited post-enable readback and sent GI before registering the monitor. During those awaits, another active RCB receive slice could drain the canonical queue, quarantining the first report for the not-yet-registered RCB. Register after successful RptEna and before readback/GI, with unregister on subsequent exception.
  2. Unbounded per-RCB delivery: the shared raw InformationReport FIFO was bounded but each mapped PendingReports queue had no cap. Add per-monitor bounded, nonblocking ordered admission with sticky overflow/continuity-unverified evidence propagated to receive-slice summaries. A saturated RCB does not prevent another RCB's valid delivery.

Deterministic test coverage

Project-owned synthetic BER/ISO-presentation MMS InformationReports, four independent SG7-style RptID/DatSet streams; full/abbreviated DatSet, actual decoder + target selection + member projection + pending delivery, burst FIFO ordering, identity conflicts quarantined, zero-frame active target stays awaiting, slow one-RCB saturation with unaffected peers.

Explicit limits and promotion gates

  • These are code-level real defects, NOT a proven explanation for physical SG7 56/77 or 1/4 traffic; 77/77 and 4/4 require an approved field retest and per-RCB actual ingress/readback proof.
  • No polling fallback, blind GI/Resv retries, manufacturer workaround, DataSet rewrite, hidden continuity claims, changes to command/write.
  • Engine tests and source gates required before considering review-ready. Keep PR draft until CI completes.
  • P8 ARSAS #763 remains open draft; ARSAS #707 stays open until SG7 acceptance.
  • See docs/P9_MULTI_RCB_RECEIVE_CORRECTNESS.md for bounded contract, source-race evidence and provenance.

Copy link
Copy Markdown
Owner Author

P9 exact-SHA validation — ready for review of code, not for production promotion

Final PR head: 53d66603b296f56deeb48d3cf79d9035bf916fa1, based on staging ae1ce23dbc181c2a17aef20802f7517892fe4264.

.NET CI #41217691494 SUCCESS at this exact source (not the earlier pre-cleanup commit). Source/provenance verification PASS; Release solution build PASS; 1,285/1,285 tests PASS (baseline 1,282 + 3 synthetic four-RCB tests); packaging and uploads SUCCESS.

CI artifacts: test build 13048099938, diagnostics 13048783579. These are engine test artifacts, not an ARSAS Windows executable.

Limitations: Missing physical SG7 Report ingress may still have other causes. The new registration closes the post-write readback/GI race but does not project unacknowledged pre-write-acknowledgment reports. No field proof of 77/77, 4/4 or lossless buffered replay. Preserve PR Draft, leave ARSAS #707 open and the existing P8 Windows trial unchanged pending field evidence and consumer integration review.

This branch has not been deployed

No deployments
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