# hive-sh4re The **shared payload vocabulary** between `hive-c0re` and the in-container harness — the common types (`Message`, `Approval`, `LooseEnd`, `HelperEvent`, …) that the per-socket wire protocols are built from. The request/response *envelopes* themselves now live in the per-socket crates (below); this crate holds the payloads they carry. ## Where it sits This is the shared payload crate; the per-socket *protocol envelopes* have been split into their own smaller crates so specialised binaries don't have to pull in all of `hive-sh4re`: - `hive-host-sock` — host admin socket (`hivectl` ↔ `hive-c0re`) - `hive-core-agent-sock` — per-agent/manager socket (`/run/hive/mcp.sock`) - `hive-priv-sock` — the privileged-helper socket Those crates re-export or reference the payload types that still live here (`Approval`, `Message`, `LooseEnd`, …). ## Modules - **`wire_time`** — the timestamp convention: wire fields are `chrono::DateTime` (serialized RFC 3339), while sqlite storage + input args stay unix-epoch `i64`; this module owns the two boundary conversions. - **`paths`** — well-known on-disk path helpers. - **`assets`** — resolves bundled runtime asset paths (branding, prompts) under `HIVE_ASSETS_DIR`. Agent-name fields are typed as `hive_types::Ident` for serde-validated parsing at the socket boundary.