News for hackers. Stuff that matters.

o8vm

Re:Choreographic Programming in Rust on Sunday October 11, 2026 @09:05AM (#50042937)
Hibana now has the capability to build QUIC/HTTP3 in the manner of Hibana Choreography. Check it out here: https://github.com/hibanaworks/hibana-quic

Show HN: AI agent framework where dangerous actions are structurally unreachable

https://github.com/hibanaworks/hibana-agent

Hi HN —Today's AI agent guardrails are almost entirely post-hoc. The model proposes an action, then a policy layer tries to reject it. Prompt injection, jailbreaks, and edge cases mean the dangerous action is always one bypass away.hibana-agent takes a different approach: dangerous actions (purchases, payments, infra changes) are not "blocked" — they are structurally unreachable. The execution...

( Read More... | no comments | 3 points | on HN )
Re:Show HN: Hibana – An Affine MPST Runtime for Rust on Thursday February 12, 2026 @06:11AM (#46987328)
Here 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

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.

Re:Show HN: Hibana – An Affine MPST Runtime for Rust on Thursday February 12, 2026 @05:54AM (#46987199)
Yes, good catch — that repo is currently private while we prepare it for public release.

Current status: we’re actively preparing `hibana-quic` for publication, and it is already passing interop tests with neqo. Please wait a little longer for the public release. Thanks for your patience.

Show HN: Hibana – choreography-first protocol safety for Rust

https://hibanaworks.dev/

Hi HN — I just open-sourced Hibana and hibana-agent.Hibana is an Affine MultiParty Session Types (MPST) runtime for Rust.It targets protocol drift in distributed systems. Instead of maintaining separate hand-written state machines in each component, you define interaction once as a global choreography and project role-local behavior at compile time. At runtime, only valid protocol transitions...

( Read More... | 2 comments | 5 points | on HN )
Re:Show HN: Hibana – An Affine MPST Runtime for Rust on Saturday February 07, 2026 @04:21AM (#46922494)
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.

Re:Protocol Validation with Affine MPST in Rust on Friday February 06, 2026 @09:37PM (#46920783)
Hibana( https://github.com/hibanaworks/hibana ) is an Affine MPST runtime for Rust. The key claim is type-system guardrails. In Hibana software behavior is written as global choreography, projected into role-local sessions, and invalid transitions are rejected by the type/protocol model instead of being handled ad hoc at runtime.

As one concrete example, hibana-agent( https://github.com/hibanaworks/hibana-agent ) applies the same model to constrain AI-agent action flow with session-typed branching.

Show HN: Hibana – An Affine MPST Runtime for Rust

https://hibanaworks.dev

Hi HN — I just open-sourced Hibana and hibana-agent.Hibana is an Affine MPST runtime for Rust: - global choreography -> compile-time projection -> role-local execution - core is no_std / no_alloc-oriented - deterministic route/offer/recv/decode modelRepo: https://github.com/hibanaworks/hibana Demo (AI control with session-typed branching): https://github.com/hibanaworks/hibana-agent

( Read More... | 6 comments | 3 points | on HN )
Re:Writing a Unix-Like OS in Rust on Saturday April 06, 2024 @07:31PM (#39956663)
In simple terms, userland just issues syscalls to the kernel. For a command, this could be as straightforward as mkdir dir in the shell or mkdir("dir") in Rust code. While this seems simple, it's not particularly convenient. To enhance usability, we're modeling it after Rust's standard library. For example, having access to handy features like `DirBuilder` makes developing in userland more efficient (see https://doc.rust-lang.org/std/fs/struct.DirBuilder.html). Aligning with Rust's standard library has other benefits, too. One is the absorption of compatibility issues. Rust is compatible with various platforms, and handling compatibility at the level of the Rust standard library, rather than through syscalls or libc, can be more efficient. The goal is that Rust code used on one OS can be recompiled to work on my OS. From a unikernel perspective, recompilation is natural, and if we're only using Rust for development, it enhances safety. By the way, in my OS, libc does not exist. The user library, akin to Rust's std, acts entirely as a wrapper over syscalls.
Re:Unix-like OS in Rust inspired by xv6-riscv on Wednesday July 26, 2023 @03:34AM (#36874214)
octox aims to provide a user library similar to Rust’s std, but implementing it is somewhat difficult.
Re:Unix-like OS in Rust inspired by xv6-riscv on Tuesday July 25, 2023 @09:47PM (#36872171)
Oh, I see! Thank you very much. I'll add both later!
Re:Unix-like OS in Rust inspired by xv6-riscv on Tuesday July 25, 2023 @05:07PM (#36869576)
Thanks! Is this notation in the README not enough: https://github.com/o8vm/octox#license ?
Re:Unix-like OS in Rust inspired by xv6-riscv on Tuesday July 25, 2023 @04:43PM (#36869164)
I would like to implement a plan9-like OS someday!
Re:Unix-like OS in Rust inspired by xv6-riscv on Tuesday July 25, 2023 @04:37PM (#36869041)
Thanks!For me https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.p... was quite helpful! but Someday I will write a book on how to implement this OS step by step in Japanese.
Re:Unix-like OS in Rust inspired by xv6-riscv on Tuesday July 25, 2023 @04:30PM (#36868926)
octox is also different in that the kernel, userland, mkfs, and build system are all implemented in Rust, and I think it is also different at the type level, for example, octox using mpmc for Pipe, and using OnceLock and LazyLock for static variable initialization.