3 ms·
Thank you — this is very helpful feedback. You’re absolutely right that I led with terminology instead of value. A simpler way to describe it is: Hibana helps
by o8vm 8mo ago
Thank you — this is very helpful feedback.
You’re absolutely right that I led with terminology instead of value.
A simpler way to describe it is:
Hibana helps prevent protocol drift bugs in distributed systems.
You describe the interaction once as a global choreography, and each role gets a projected local API.
Because steps are affine (consumed once), invalid transitions like skipping, reusing, or taking the wrong branch are rejected by the type/protocol model.
So the practical goal is fewer hidden state-machine bugs, with one global source of truth for interaction order.
I appreciate the suggestion, and I’ll explain it this way in the next write-up.
- antonvs 8mo agoExamples would help.
- o8vm 8mo agoHere is an example of how a protocol defined in Hibana can confine even an AI agent’s behavior within an explicit interaction flow. https://github.com/hibanaworks/hibana-agent https://github.com/hibanaworks/hibana-agent From an AMPST perspective, the key idea is this: one global choreography is projected into role-local protocols (Agent/Browser/Human), with affine progression (each step is consumed exactly once). const LOOP_BODY: g::Program<LoopBodySteps> = g::seq( g::send::<Agent, Browser, BrowserAction, 0>(), g::send::<Browser, Agent, BrowserObservation, 0>(), ); const ADD_TO_CART_APPROVAL: g::Program<AddToCartApprovalSteps> = g::seq( g::send::<Agent, Human, RequestApproval, 0>(), g::seq( g::send::<Human, Agent, ApprovalDecision, 0>(), g::route::<0, _>( g::route_chain::<0, AddToCartArm>(ADD_TO_CART_ARM) .and::<SkipAddToCartArm>(SKIP_ADD_TO_CART_ARM), ), ), ); So even AI-agent behavior is confined by protocol structure: illegal traces (skip/reorder/reuse/wrong branch) are unrepresentable, not merely blocked by ad hoc runtime checks. As another example, we’re also preparing `hibana-quic` (a QUIC implementation built with Hibana) for public release. It already passes interop tests with neqo.