The hyperobservable software stack
Replace 10+ disjoint tools with one unified toolchain that helps agents through your entire software development lifecycle. Incrementally adoptable.
No single stack has ever gone past deploy.
Until now.
Used by engineers at
Hyperobservability is observability that is always on, by default, for everything.
Observability
More work, less data.
Hyperobservability
No work, more data.
Observability makes decisions, incidents, product calls, fixes slow. Hyperobservability makes them fast.
Observability only answers the questions you thought of before you shipped. Hyperobservability answers all of them.
Observability
1day
Monday, November 2
Vaibhav6:12 PM
@claude the support agent is slow on some tickets, not all. Why?
ClaudeAPP6:13 PM
Averages look fine, and we don't trace tool calls. Adding it.
Tuesday, November 3
ClaudeAPP9:21 AM
Opened a PR with the new metrics.
acme/support-agent#1287 Trace the agent's tool calls and retriesOpen+48−23 filesClaudeAPP10:40 AM
Merged. Waiting for a slow ticket ⏳
Friday, November 6
Vaibhav4:30 PM
@claude any news?
ClaudeAPP4:31 PM
It's rare. Haven't caught a slow one yet.
Tuesday, November 10
ClaudeAPP9:40 AM
Caught one. PDF tickets: the parse tool times out, then retries.
Message #support
No person could read this much data. Agents can, and they need to.
Automated systems are only as good as their data. Give an agent gaps and it fills them with assumptions. With hyperobservability, there are no gaps.
One run. You can read this.
1 run, 200 spans
Timeouts0
Bad tool calls0
Retry loops0
GC spikes0
To make hyperobservability possible, we had to build a programming language.
BAML, the hyperobservable language.Boundary Cloud, the hyperobservable stack.
Is hyperobservability practical?
Recording every function means overhead on every call and far more data to store.
We made observability fast.
The overhead of observing a function.
And we're making it even faster.
Measured on Apple M2 Max, 64 GB.
We made observability tiny.
OpenTelemetry storage
16 TB
Boundary storage
3.5 TB
4.6×
smaller
5× more functions recorded, in 4.6× less storage.
OpenTelemetry+Python
Functions recorded
200B
Storage
16 TB
Sampling
drops 80%
Errors lost
80%
Functions recorded
1T
Storage
3.5 TB
Sampling
why would you?
Errors lost
0%
We made observability multimodal.
Traces
Unified storage engine
Blob store
Every kind of data
Recursive deduping
RedactionComing soon
Keeps your types
Runs on your laptop. Runs in the cloud.
describe_photo
s3://a8f3.png
caption_photo
s3://c19b.png
watch_clip
s3://91ad.mp4
read_contract
s3://e20c.pdf
draft_reply
s3://04bd.txt
We made observability multimodal.
Traces
Unified storage engine
Blob store
Every kind of data
Recursive deduping
RedactionComing soon
Keeps your types
Runs on your laptop. Runs in the cloud.
describe_photo
s3://a8f3.png
caption_photo
s3://c19b.png
watch_clip
s3://91ad.mp4
read_contract
s3://e20c.pdf
draft_reply
s3://04bd.txt
Traces
Unified storage engine
Blob store
Every kind of data
Recursive deduping
RedactionComing soon
Keeps your types
Runs on your laptop. Runs in the cloud.
describe_photo
s3://a8f3.png
caption_photo
s3://c19b.png
watch_clip
s3://91ad.mp4
read_contract
s3://e20c.pdf
draft_reply
s3://04bd.txt
So yes, hyperobservability is practical. By design.
BAML is designed like the languages you already trust.
- 9.5k stars
- Open source, Apache 2.0
- Free to use
- No internet required
- TypeScript-like syntax
- Rust-like correctness
- Go-like concurrency
- C#-like reflection
- Python, well, you know, Python.
Can agents write high-quality BAML?
BAML isn't even close to a mainstream language, so we overcompensate by building amazing backpressure into the toolchain.
Compiler errors built for every reader
Claude Code
⏺ Bash(baml check)
Error: Exit code 4
main.baml:15:5-19:6 error[E0062]: non-exhaustive match on type Label; missing: Label.Refund
main.baml:23:17-23:31 error[E0007]: type `Ticket` has no member `priorty`
main.baml:28:24-28:39 error[E0001]: mismatched types
primary: expected `string`, found `int`Every function is a CLI
The fastest way to understand a function is to call it.
For AI functions, it's the only way.
$ baml run apply_discount -- --total 8000 --coupon SAVE20
6400
$ baml run classify_sentiment -- --text "Charged twice and nobody replied."
Negative
1 tool call
Instead of script, run, delete
LLM functions too
Try non-deterministic code
0 scratch files
No left-over slop
Every other language was designed before CI/CD. BAML wasn't.
Measure code quality on every pull request. $0 token bill.
- uses: BoundaryML/baml-action@v1check, fmt, test and codequality
Your agent removes a feature and opens a pull request.
Remove the legacy keyword router #482
A feature was removed, and the code got longer: 3 functions got worse. Lines 1,240 → 1,556.
route_ticketcognitive 12 → 41, nesting 3 → 6build_promptcognitive 8 → 27, NPath 16 → 240escalatecognitive 5 → 19legacy_router_shimcognitive 23Honest compile times
259 ms
baseline
TypeScript
100 ms
2.6× faster
Go
151 ms
1.7× faster
Rust
799 ms
3.1× slower
Not our proudest chart. We'll get there, we just need a bit more time.
Measured on Apple M2 Max, 64 GB.
So yes, agents can write high-quality BAML. By design.
There's no bad BAML in the training data to learn from. And we make sure the only BAML that gets checked in is great BAML.
Every team is an engineering team now.
Boundary gives them great defaults.
With BAML it takes zero config. Every team's data lands in one place, so anyone can ask any question, or hand it to their agent.
Your code
boundary cloud
What you want to know
Evals on real traffic
✗ export, then join by hand✓ one query
Accuracy over time
✗ only runs someone labeled✓ one query
Exactly what happened
✗ sampled, across 3 tools✓ one query
Record and replay
✗ only if you built it in ahead of time✓ one query
Cost per feature
✗ prompts and users live apart✓ one query
Evals on real traffic
✗ export, then join by hand
Accuracy over time
✗ only runs someone labeled
Exactly what happened
✗ sampled, across 3 tools
Record and replay
✗ only if you built it in ahead of time
Cost per feature
✗ prompts and users live apart
boundary cloud
Evals on real traffic
✓ one query
Accuracy over time
✓ one query
Exactly what happened
✓ one query
Record and replay
✓ one query
Cost per feature
✓ one query
Observe
Create dashboards and alerts from your traces.
Make custom dashboards that are 100% tied to your product by using the SQL-based query API.
SELECT count(*) FROM spans GROUP BY minute
SELECT output_value, count(*) FROM spans WHERE span_name = 'classify' GROUP BY hour, output_value
SELECT span_name, p50(duration), p95(duration) FROM spans GROUP BY span_name
route
classify
SELECT avg(output_value = 'other') FROM spans WHERE span_name = 'classify' GROUP BY hour
ImproveComing soon
More things to look forward to.
In progressPR #5218 ↗
Interpret for instant builds. Compile for instant execution.
quicksort, 65,536 random ints · run on Apple M2 Maxshorter is better
Weekend prototypePR #4956 ↗
Pause a run on one machine and pick it up on another.
✓ one run, finished: cloud-1 died, cloud-2 picked it up
Watch the proof of concept ✓It works. BEP incoming to design it for reliability.↗ProposedBEP-063 ↗
Milliseconds are too slow, megabytes too big.<20 µsto start<50 KBof memoryZeroinfrastructure
let sb = sandbox.new( max_memory = 2 GB, deadline = 30s, allow = [FsRead])sb.run(() -> agent(task))
✓ caught, your program keeps running
For stateless code. Long-lived, stateful environments still need a traditional VM sandbox.
Designing
Roll out experiments 100x faster than CI/CD.
gpt-6-luna3.1% labelled other, $0.03 per 1k calls
gpt-6-sol0.3% labelled other, $0.65 per 1k calls
gpt-6-sol took 10% of classify's traffic on Monday, 50% on Tuesday, and 100% on Wednesday, replacing gpt-6-luna. The three days cost $6.71, $23.25, $51.58.
Not started
Prove a rule holds for every input, not just the ones you tested.
tests5 inputs
proofevery input
✓ holds for every input
Use Boundary where feedback loops matter most.
Rewrite your stack in BAML
Start today→Everything you write gets hyperobservability.
Heads up
Not recommended yet. BAML’s ecosystem is still young, and a rewrite trades working code for risk.
Adopt BAML incrementally
Start today→BAML generates a typed SDK for most languages.
Send OTel to Boundary Cloud
Learn more→Keep your code. Send the traces you already have.
Get ready
Prepare to take advantage of BAML and hyperobservability, at your own pace.

When humans wrote code, it was okay to move in days or weeks.
Now AI writes it. Hyperobservability gets you the speed. Incredible products are still your job.
The stack is in private beta.