# state-hub-inbox Offline event queue for State Hub sessions run without an active reverse tunnel. When the State Hub MCP server is unreachable, Claude writes pending events here as YAML files instead of dropping them. On the next connected session, these are drained by calling the appropriate State Hub write tools and marking each file `status: ingested`. ## File format ```yaml type: progress_event # or: decision, task_status_update topic_id: workstream_id: event_type: milestone summary: "..." detail: {} status: pending # → ingested after processing recorded_at: "YYYY-MM-DD" source_repo: railiance-hosts ``` ## Drain procedure (manual until automated) At session start, if `get_domain_summary()` succeeds, check for pending files: ```bash grep -l "status: pending" state-hub-inbox/*.yaml ``` For each, call `add_progress_event()` with the file's fields, then update `status: pending` → `status: ingested` and commit. See also: `contrib/feature-requests/fr-2026-03-08--threephoenix--state-hub--offline-inbox-ingest.md`