Files
secs-gem/apps
raphael af25bc8726 C2: S5F9-F18 server dispatch for exception lifecycle
Wires the ExceptionStore from C1 onto the wire:

State-change emitter (set on ExceptionStore at server startup):
  NoState   -> Posted         emit S5F9  (exception post notify)
  Recovering -> Cleared       emit S5F15 with EXRESULT="OK"
  Recovering -> RecoverFailed emit S5F15 with EXRESULT="FAILED"
  Posted    -> Cleared        emit S5F11 (autonomous clear)
  RecoverFailed -> Cleared    emit S5F11

Router additions:
  S5F13 -> ExceptionStore::on_recover(exid, exrecvra) -> S5F14 ACKC5
  S5F17 -> ExceptionStore::on_recover_abort(exid) -> S5F18 ACKC5

S5F9 emission auto-spools when the link is offline (deliver_or_spool
already handles that).  The synthetic NoState->Posted transition fires
inside ExceptionStore::post(), so any application code that calls
model->exceptions.post(...) will produce wire activity through this
handler without further plumbing.

Verified: docker-built secsgem_tests now reports 188 cases / 1026
assertions / 0 failures.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-07 23:51:53 +02:00
..