Skip to content

Implement deterministic PollPlanner and bounded polling executor (#10) - #57

Merged
KeyffMS merged 1 commit into
mainfrom
agent/issue-10
Aug 21, 2026
Merged

Implement deterministic PollPlanner and bounded polling executor (#10)#57
KeyffMS merged 1 commit into
mainfrom
agent/issue-10

Conversation

@KeyffMS

@KeyffMS KeyffMS commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Zakres

Implementuje issue #10 jako jeden logiczny commit nad aktualnym main.

  • PollPlanner jest jedynym źródłem cyklicznych odczytów sesji;
  • deduplikuje ten sam parametr dla wielu konsumentów;
  • grupuje zgodne rejestry z uwzględnieniem barier profilu i limitu 125 rejestrów;
  • stosuje zamkniętą politykę klas BusActor, bez publicznej ścieżki do SafetyOneShot dla producentów okresowych;
  • liczy koszt RTU z formatem znaku, ramkami, t3.5, response time i marginesem;
  • utrzymuje cykliczne wykorzystanie magistrali do 70%, z deterministyczną degradacją i raportowanymi odrzuceniami;
  • publikuje niezmienny, rosnąco wersjonowany PollPlan;
  • PollExecutor przełącza plan atomowo, anuluje niewysłane requesty starej wersji, sprawdza deadline przed wysłaniem i nie tworzy catch-up burstu;
  • wykorzystuje wspólny MonotonicClock;
  • test integracyjny przechodzi przez PollPlanner → PollExecutor → BusActor → TokioModbusBackend → PTY/RTU i potwierdza brak write.

Tożsamość kandydata

  • base: 8473bc93e95dfe8ddcb815c2ff7d7f1c521a9bcf
  • candidate: 5212a054fb4911441ec0f1f203033f2956b1ae45
  • candidate tree: 06bd73171bdab8aca8df8269c2241e7c25458859
  • patch SHA-256: ecb696da45c5b841236e4aac1b9d1693513cb3da8112fcfc3336ae17dcc1ef11
  • commitów względem main: 1
  • zmienionych plików: 11

Bramka przed PR

Zweryfikowany publisher na Debianie 13 / Rust 1.97.1 zakończył sukcesem:

  • manifest, Git blob SHA obu części, SHA-256 gzip i patcha;
  • dokładny bazowy SHA i bazowy tree;
  • dokładny wynikowy tree;
  • cargo metadata --locked;
  • cargo fmt --check;
  • build workspace;
  • Clippy -D warnings;
  • testy workspace i doctesty;
  • rustdoc -D warnings;
  • kontrolę architektury;
  • cargo machete, cargo deny check, cargo audit, cargo vet check;
  • benchmark 20 000 parametrów: 160 bloków, 1 120 ppm, 0 odrzuceń.

Merge pozostaje fail-closed do zielonego standardowego CI na amd64 i natywnym arm64 dla dokładnego head SHA.

Closes #10

@KeyffMS
KeyffMS merged commit 1e05084 into main Aug 21, 2026
2 checks passed
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.

[PLAN 10] Zbudować planner odczytów i kontrolę wykorzystania magistrali

1 participant