Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-jobq-wire
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-13 10:58:49 +01:00
..
src remove what no longer has a reader: build-log store, dashboard sent/delivered events, graph resource dep 2026-11-13 10:58:49 +01:00
Cargo.toml drop hive and agent response fields the frontend never reads 2026-11-13 08:55:41 +01:00
README.md remove what no longer has a reader: build-log store, dashboard sent/delivered events, graph resource dep 2026-11-13 10:58:49 +01:00

hive-jobq-wire

Wire types for serving a hive-jobq graph to a viewer, plus the traits a host implements to say how its graph renders.

Why this is not part of hive-jobq. The scheduler crate is logic: a graph, a resource pool, a run loop. Presentation is a different concern with a different audience, and folding it in means every consumer of the scheduler also carries a JSON vocabulary it may never serve — the two get remixed and stay that way. A separate crate keeps that boundary where it can be seen.

A host implements WireNode for its node payload N. GraphWire::wire_snapshot is then blanket-implemented for hive_jobq::Graph<N, R> — so the projection exists exactly when the payload has said how it renders, and a payload that hasn't cannot reach a viewer at all. Resource edges stay off the wire.