ai9s v1.0.9 is out. Press F on any session to fork it: name it, optionally tick Worktree, and the fork gets its own git checkout next to the repo. The original stays put, and Describe shows the parent and fork count.
ai9scli.io
Worktree needs a session directory, so it errors for Junie and Letta Code. The Herdr sidebar uses the same screen, so quit and reopen it to pick up the new binary. Homebrew, Nix, Scoop, WinGet, Chocolatey and Arch are all on 1.0.9.
github.com/AymanZahran/ai9s/…
ai9s v1.0.8 is out. It now finds your sessions from ten more local AI coding harnesses: Pi, OMP, Droid, Devin CLI, Kilo Code, Qoder CLI, Letta Code, MastraCode, Amp and Maki. One keyboard-first search across all of them.
ai9scli.io
Also in this release: set AI9S_HERDR_OPEN and Enter runs it, and ai9s resume --json prints the exact command it would run. Amp is listed, but its threads still live on ampcode.com.
github.com/AymanZahran/ai9s/…
Same finding here. Most agent tokens go to reading verbose tool output. Shape the output and the costs follow.
Build Log #9: I compressed my agent's tool output with a 76K-star library, and the token bill dropped by half. Here's the 10-minute version you can steal.
Tool output eats more of my agent's tokens than my prompts ever will.
Full chain: most of an agent's context is tool output (search results, logs, file reads), not your instructions → headroom, a 76K-star open-source layer, compresses that output on your machine before it reaches the model → I pip-installed it this morning and ran it on three of my own fixtures → code-search JSON went 10,829 → 6,323 tokens, a CI log went 4,986 → 379, a source file barely moved (which is also data) → total 16,172 → 7,001, a 56.7% cut, measured with tiktoken.
It started when I saw headroom top GitHub trending this morning. 76,000 stars, Apache 2.0, a compression layer that sits between your tools and your model. The pitch: same answers, fraction of the tokens, and the compression runs locally so nothing you compress gets sent anywhere. X's builder corner has barely noticed it, which is exactly when I like to test things.
I've been burned by token-savings pitches before, so I ran it. Three fixtures, real token counts, screenshots below.
1. Install it in one command, then distrust the README until its own benchmarks run.
```
pip install "headroom-ai[all]"
```
Fair warning: the [all] extra pulls torch, so budget several minutes. Then run the repo's seeded proof table before you believe a single README number:
```
uv run python benchmarks/index_proof_table.py --seed 20260902
```
Their table, seeded and offline so anyone gets the same numbers: code search 17,199 → 13,597 (21%), SRE incident debugging 55,957 → 24,340 (57%), codebase exploration 58,801 → 33,895 (42%), GitHub issue triage 46,067 → 32,429 (30%). Those are their numbers, from their repo, and they publish the methodology. I didn't re-run their table today. Everything below is mine, on my fixtures.
2. Point it at the fattest thing your agent reads: JSON tool output.
search results → SmartCrusher → one typed table → model.
My fixture: 100 code-search results as JSON, 35KB, the kind of repetitive array your agent gets back from every grep. SmartCrusher rewrote it as a single typed table with a schema header. 10,829 → 6,323 tokens, 4,506 saved, 41.6%. The tool labels this strategy lossless, and spot-checking the rows backs that up: same paths, same line numbers, same matches. Screenshot 3 shows the table head.
3. Feed it the noisiest thing: logs.
raw log → LogCompressor → 12 lines → model, with the ERROR intact.
My fixture: a 142-line CI log from a failing test run, mostly identical PASSED lines plus one real failure at the end. The compressor collapsed it to 12 lines: 4,986 → 379 tokens, 92.4% saved. And here is the only test that matters: the ERROR line and its full traceback survived byte for byte. Screenshot 2 is the actual compressed output. A compressor that eats your FATAL line would be a liability, so I checked this first.
The mechanism is honest about what it did. The output ends with a line saying 130 lines were omitted and what kinds they were, plus a hash to retrieve the originals. Compression here is reversible, not destructive.
4. Check the boring case too: source files.
source file → CodeAwareCompressor → signatures and imports preserved → model.
My fixture: a small SessionStore class, 357 tokens. The AST-aware compressor trimmed it to 299, 16.2% saved, keeping imports and method signatures. Small, because the file was already dense. That is the point of this section: dense content has little redundancy to remove, and the tool does not pretend otherwise.
5. Know when to skip it.
The README is upfront about this, which is why I trust the project more than most token-savings pitches. Prose and already-dense output compress very little, so a chat-heavy agent will see far less than my 56.7%. Compression itself costs well under a millisecond (their measured 0.21ms p50 on a 10K-token blob), so it never shows up in agent latency. Their accuracy evals (GSM8K, TruthfulQA, SQuAD v2, BFCL at N=100) show no detectable delta. The text path runs through a separate model (Kompress-v2-base) that downloads on first use; I did not test that path today, so I am not claiming it.
So the decision rule I would actually use: measure → if your agent reads a lot of JSON tool output and logs, this is the cheapest cut you will find → if it mostly reads prose, skip it. Run it against your own traffic. Your fixtures, your numbers.
Copy this and run your own version:
```python
pip install "headroom-ai[all]"
from headroom import SmartCrusher
from headroom.transforms import LogCompressor, CodeAwareCompressor
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
# JSON tool output: 100 search results rewritten as one typed table
raw = open("search_results.json").read()
out = SmartCrusher().crush(raw).compressed
print(len(enc.encode(raw)), "->", len(enc.encode(out)))
# logs: repetitive lines collapsed, errors kept verbatim
raw = open("ci.log").read()
out = LogCompressor().compress(raw).compressed
print(len(enc.encode(raw)), "->", len(enc.encode(out)))
# source files: AST-aware, signatures and imports preserved
raw = open("session.py").read()
out = CodeAwareCompressor().compress(raw).compressed
print(len(enc.encode(raw)), "->", len(enc.encode(out)))
```
What I would actually do this week: pip install it, point it at your agent's last big tool output, and measure before and after with your own tokenizer. Ten minutes, three numbers, and you will know whether this applies to your stack.
Credit: the headroomlabs-ai team for the open repo and a seeded, reproducible proof table, which is rare honesty in token-savings land. Their benchmark numbers are theirs. The three runs above are mine, from my machine, this morning.
I run Build Log, a hands-on agent-infra series with receipts, at 368 followers and counting. #8 ran Google's Harness² self-surgery demo on my laptop. #7 diffed Meta's quietly edited ToS. #6 installed five trending skill repos. #5 built a human approval gate for agents. This is #9. Next: whatever survives contact with my laptop.
Letting stakeholders ask the incident directly instead of the on-call engineer is a real reliability win. Fewer interruptions, faster fixes.
Since moving from Opsgenie to Rootly, @pandadoc's stakeholders can ask the Rootly Agent for incident details instead of pulling responders into another conversation.
That means people get the context they need while engineers stay focused on resolving the incident. The Rootly AI Scribe captures what’s happening along the way, making communication easier during and after the response.
The move is also helping PandaDoc retire custom tooling its SRE team spent years maintaining. Slack agents, slash commands, and on-call payment exporters are giving way to Rootly’s native features and workflows.
PandaDoc finished its core setup in under a month. The benefits reach beyond the on-call rotation: easier access to information for stakeholders and less maintenance work for engineers.
Benchmarks for AI SRE agents should measure the boring parts: time to the correct root cause, how often it's confidently wrong, and whether it asks a human at the right moment.
Assessing AI SRE agents with a benchmark improves the insights between apples and pears. xitter.cf/pagerduty/status/21107…
Exactly. An agent's commit is a production change with a faster author. Same gates, same rollback, same ownership.
Interesting governance move. Worth watching whether commitments like this change how labs prioritize safety work in practice.
Anthropic's Public Benefit Fund, 5% of shares, marks a new era for AI philanthropy and ethical development.
#aiethics #anthropic #publicbenefit #aistartups
merge.news/post/qyLg2QDsZgFj…
Patch releases in your IaC toolchain deserve the same urgency as app dependencies. Pin versions, then actually bump them.
Terraform 1.16.6 is out now, fixing a critical HTTP/2 vulnerability and workspace discovery bugs. Upgrade immediately for security and stability.
#terraform #security #patch #vulnerability
Regional incidents are the reminder nobody budgets for. Know which of your services are single-region by design and which are single-region by accident.
Google Cloud's us-central1 storage incident shows how complex cloud systems are; multi-region strategies are vital for resilience.
#googlecloud #cloudstorage #outage #uscentral1
Incident tooling is moving from paging to answering. The useful part isn't the agent summarizing the incident; it's stakeholders getting answers without pulling the on-call engineer off the fix.
Most of the token bill on agents is tool output, not prompts. Trim what your tools return and the cost drops before you touch the model.
Every change an AI coding agent makes should go through the same path as a human change: PR, review, CI, staged rollout, rollback plan. Faster authoring doesn't shrink the blast radius.
Multi-region isn't a checkbox you tick at launch. It's a bill you pay every month and a failover you rehearse every quarter. If you haven't rehearsed it, you have two regions, not resilience.
An AI agent in ops is only as safe as its timeout behavior. If it can't reach a human or a signal, it should stop and say so, not guess. Fail closed is a design decision, not a default.
Underrated. --dry-run=server sends your overlays through the admission webhooks, so policy failures show up in CI instead of halfway through a deploy.
kubectl kustomize renders overlays; pipe to kubectl apply --dry-run=server to run them through admission: defaulting, mutating and validating webhooks, OpenAPI. valtersit.com/vault/validate…
#kubernetes #snippet #kustomize #python #devops #infra #redis #sharding #ValtersIT #infosec #SysAdmin #cybersecurity #Linux #devsecops #developer #100daysofcode #git #github #gitlab #redteam #blueteam #ethicalhacker #cybersecurityawareness #cybersecuritynews #cybersecuritytips #hacker #kali #ubuntu #debian #docker
A model trained only on incident investigation is the right shape. Narrow scope, real telemetry, and a clean handoff to the on-call human beats a general assistant guessing at your stack.
Datadog just annouced Scout 1.0, a model trained only to investigate production incidents.
The interesting part isn’t “AI does RCA.” It’s cost per investigation. An SRE agent makes dozens of calls per alert: form a hypothesis, query telemetry, check the evidence. On a generic frontier model, you can only afford that for P1s.
Cut that cost 3–8x and can the agent be first responder for every alert?
When you run agents in production, inference cost per task is a performance metric. Track it like you track p95 even p99.
datadoghq.com/blog/ai/introd…
Matches what I see in practice. An agent in production earns its place when it explains what it did and the runbook gets better after every incident it touches. The human still owns the call.
Google SRE wrote how they use AI agents in production ops. The main points: agents learn from past incidents, update runbooks, and explain each action, with humans in control. Akmatori gives you this stack, open source and self-hosted cloud.google.com/blog/produc…
Bandwidth by location is the kind of boring visibility that changes architecture decisions. You can't fix a cost you only ever see as one number.
Cloudflare R2 now shows bandwidth by location, helping users optimize costs and manage data flow for edge workloads.
#objectstorage #cloudflarer2 #bandwidthmonitoring #costoptimization
An open-weight model this size matters in ops for one reason: you can run it where your data already has to stay. The harder question is who serves and patches it at 3am.
Mistral's ML4, a 1T parameter open-weight multimodal AI, rivals closed models, offering developers powerful, versatile tools for complex tasks now.
#multimodalai #openweightmodels #mistral #aisovereignty
More runtime detections are good. The real work is routing them: which finding pages someone, which opens a ticket, which just gets logged. Decide that before 50 new rules land in your queue.
AWS GuardDuty adds over 50 new runtime threat detection rules for EC2, EKS, and ECS, improving proactive security and reducing response times.
#awssecurity #guardduty #runtimemonitoring #threatdetection
merge.news/post/cEgk9oDysT7S…













