Feature #366
openPendingIpdWrite flush job -- the mechanism, not the real send (W6 D30)
0%
Description
D29 built PendingIpdWrite, a local outbox queuing writes Canteen Management owes IPD against D26's two draft write-contracts (IDoctorTaskWriteContract, IIntakeChartWriteContract). Its own doc comment named the next step: a future flush job sends every un-archived row once the real contract lands, then archives it.
Found before scoping this: nuvita-shared-kernel is checked out on dev, and those two interfaces only exist on the unmerged feat/canteen-known-app branch -- not buildable against today.
Shipped: IPendingIpdWriteSender (a local port, not a direct kernel reference), NotYetAvailableSender (the only implementation -- always reports not-sent, honest rather than fabricated), PendingIpdWriteFlushJob (same tenant/hospital-iteration shape as D23/D25's jobs, per-row isolation). 10 new tests. Filed and resolved together since Redmine was down (500s) when this shipped -- commit efe06c3, 2026-10-13.