Phase B acceptance ledger

Tracking: hataori-rs#14

Classification: PASS for Phase B only. Phase C-E remains unimplemented.

Requirement Durable evidence Verification
Long-lived checked lifecycle runtime.rs: builder/start, running progress, draining, stopped/failed states, explicit shutdown report local/remote execution, client rejection after shutdown, two runtime lifecycles: PASS
Backend-independent runtime boxed Phase A transport traits; runtime source contains no MPI/TCP concrete type backend leak scanner; TCP and MPI smokes: PASS
Domain registry and bounded execution immutable domain configs, fixed workers, bounded synchronous job/result queues queue saturation rejects the third job without retention: PASS
Typed actions and registry compatibility Action, WireValue, stable IDs/schema IDs, sorted fingerprint, panic-safe erased handler order-independent fingerprint, collision, codec, user failure, panic tests: PASS
Pending promises and RemoteFuture bounded pending table, source/action validation, must-use typed future local/remote completion and pending-table tests: PASS
Structured scopes higher-ranked scope lifetime prevents future escape; scope exit cancels tracked requests joined local scoped action and zero pending state: PASS
Deadlines and cancellation nonzero local deadlines, immediate waiter removal, control-channel cancel, pre-execution token loss/deadline and delayed cancel-before-action tests: PASS
Bounded deduplication running/completed/cancelled states, metadata validation, TTL, entry/byte limits, completion marker duplicate transport fault executes once; byte exhaustion and tombstone tests: PASS
Response backpressure bounded response outbox; completion cached only after transport accepts response injected response saturation retries and returns the value exactly once: PASS
Typed failure boundaries state/resource/deadline/cancel/user/protocol/transport/peer/shutdown variants user failure, panic, saturation, malformed wire, disconnect tests: PASS
Observability without payload dumps state, calls, channels, domains, dedup, response queue, ticket, transport counts; compact Debug stats assertions and clippy scanner: PASS
Clean reusable shutdown atomic submission close, pending cancellation, in-flight worker/completion drain, dedup clear, response/transport flush, retained-resource gate concurrent submit/shutdown race, memory/TCP/MPI reuse, zero retained bytes: PASS
Production transport parity same runtime implementation over Phase A TCP and MPI TCP two-locality smoke; MPI n=1/2/4, two runs: PASS
Existing behavior preserved new unpublished workspace crate; root default member and P0/P1 source unchanged existing core and Phase A lanes remain required by CI: PASS
Documentation and examples Phase B design, worklog, README/status, TCP/MPI binaries rustdoc and rendered Quarto site: PASS

Bounded local command evidence

  • scripts/check-phase-b-runtime.sh — PASS;
  • scripts/check-runtime-foundation.sh — PASS;
  • core acceptance matrix, immutable legacy runner, and performance manifest — unchanged and retained in CI;
  • scripts/build_docs_site.sh — PASS;
  • git diff --check — PASS.

Environment: Linux x86_64, Open MPI/OpenRTE 4.1.6, default rustc 1.97.1, explicit MSRV rustc 1.85.0. Every build/test/backend process used the short process-group watchdogs recorded in AGENTS.md.