// CASE_FILE > GLASSBOX

AI / Agentic · Observability2026

Glassbox

You can't improve an agent you can't see. I built a local, read-only observer that turns a Claude Code transcript into a six-metric behavioural report.

6
Behavioural metrics
1
Self-contained report
0
Network calls
github.com/HUMBLEF0OL/glassboxFEED//LIVE
$ npx glassbox --latest
[ok] transcript parsed
[ok] 6 metrics scored
network calls ........ 0
report ............... glassbox.html
status: OBSERVED
$

// 01 > CONTEXT

Glassbox reads a Claude Code JSONL transcript and renders a single self-contained HTML report with six behavioural metrics, a session timeline, and a harness-health scorecard. It makes no network calls and never controls the agent.

// 02 > THE_PROBLEM

Agent sessions are opaque: when a run goes sideways, there's no readable account of what the agent actually did or why.

The raw transcript is a wall of JSONL. There was no way to see whether an agent over-searched, declared victory early, skipped verification, or looped, the patterns that separate a healthy run from a wasteful one.

Before

Sessions opaque · raw JSONL only · no behavioural signal

// 03 > APPROACH

I built a zero-dependency, read-only observer that scores six behaviours and renders one portable HTML report, intentionally built under its own harness to illustrate what it measures.

Six behavioural metrics

Grep-vs-semantic ratio, early-victory detection, verification density, scope overreach, continuity, and loop detection.

Safe by construction

Read-only and offline: it auto-discovers the latest transcript, redacts secrets, and never controls the agent.

Node.jsJavaScriptESM

// 04 > THE_RESULT

A messy transcript becomes one self-contained HTML report scoring six behaviours, with zero network calls and full secret redaction.

Before

  • Sessions hard to inspect
  • No behavioural metrics
  • Manual transcript reading

After

  • 6-metric scorecard + timeline
  • 0 network calls, secrets redacted
  • Two-session comparison
If you can't measure how an agent behaves, you can't fix it. Glassbox stays read-only and offline, so observing never changes the run.
AAmit RanaAuthor & Maintainer, Glassbox

Have a similar problem?

Book a 15-min call