Skeleton S: seed texts are objects; arrows are operations f = "summarize in one sentence", g = "list the three most important entities", and the composite gf as a single combined instruction. Functoriality (per model): does M(g, M(f, x)) match M(gf, x)? A model that respects composition acts like a functor; where it breaks, chained calls and combined instructions are NOT interchangeable — an operational fact worth knowing. Naturality (between models): output similarity at each node, tracked along arrows — if agreement decays as you travel, that decay is the measured deviation field between the models. Similarity = cosine over term frequencies; threshold shown with every verdict, never hidden.
AMBERSimilarity is a lexical proxy for semantic equality; thresholds are reported, not divinely chosen; 2 seeds × 2 models × 3 calls = 12 calls, n is small — re-run for variance.
WALLThis bench calls a live LLM. On a static page there is no server and no hidden key, so it makes REAL, BILLABLE requests straight from your browser to api.anthropic.com using a key you paste below — the key stays in this tab, is sent only to Anthropic's own endpoint (with anthropic-dangerous-direct-browser-access), and is never stored or forwarded anywhere else. No key pasted ⇒ nothing runs; I do not ship pre-baked "sample outputs" dressed up as a live run.
awaiting a key + run…
awaiting a key + run…
RANThe 12-call protocol was executed on real models and scored with this page's own tf/cosine metric (threshold 0.50), so the bench is not dormant on arrival. Functoriality is not universal — one cell BREAKS (chained g·f ≠ combined gf: the summary is load-bearing there), three COMMUTE; and the two models stay naturally equivalent (no fork on either seed).
AMBERModels: Claude Sonnet 5 · Claude Haiku 4.5, generated through Claude Code's agent harness — not a bare messages.create. Your own keyed RUN above (same models, same prompts) will produce its own wording, so this is a representative transcript, reproducible in kind, not verbatim. The 0.492 BREAK sits right on the 0.50 line — a hair flips it, which is exactly why the threshold stays amber; the metric is still a lexical cosine and n = 1 per cell.
FUNCTORIALITY sim( M(g, M(f,x)) , M(gf, x) ) threshold 0.50 claude-sonnet-5 factual ############### 0.492 BREAKS narrative ################### 0.630 COMMUTES claude-haiku-4-5 factual ###################### 0.730 COMMUTES narrative ############################## 1.000 COMMUTES
NATURALITY cross-model similarity at each node · Sonnet 5 vs Haiku 4.5 factual seed x (identical) ############################## 1.000 after f ###################### 0.731 after g·f (chained) ######################## 0.800 after gf (combined) ################## 0.599 drift f→g·f −0.069 (agreement rises along g) |Δ| < 0.15 → no fork narrative seed x (identical) ############################## 1.000 after f ################# 0.567 after g·f (chained) #################### 0.655 after gf (combined) ################# 0.577 drift f→g·f −0.088 (agreement rises along g) |Δ| < 0.15 → no fork verdict: naturally equivalent on this skeleton — every node ≥ 0.50, no fork.
── claude-sonnet-5 · factual ──
f (summarize) The Amazon River discharges roughly 209,000 cubic meters of water per second—more than the next seven largest rivers combined—drains about 40 percent of South America, and supports an estimated 400 billion trees.
g·f (chained) Amazon River, South America, trees
gf (combined) The Amazon River, which flows into the Atlantic Ocean at a rate exceeding the combined discharge of the next seven largest rivers, drains about 40 percent of South America and supports roughly 400 billion trees.
Amazon River, Atlantic Ocean, South America
→ chained kept "trees", combined kept "Atlantic Ocean": the route through the summary changed the answer. sim 0.492, BREAKS.
── claude-sonnet-5 · narrative ──
f (summarize) Mara discovers her lighthouse's unlocked door leads to a logbook already inscribed, in her own hand, with an entry dated three weeks ahead.
g·f (chained) Mara, the lighthouse, the logbook
gf (combined) Mara discovered the lighthouse unlocked and found a logbook on the keeper's desk open to a future date, written in her own hand.
Mara, lighthouse, logbook → sim 0.630, COMMUTES.
── claude-haiku-4-5 · factual ──
f (summarize) The Amazon River discharges more water than the next seven largest rivers combined while its basin spans 40 percent of South America and contains approximately 400 billion trees.
g·f (chained) Amazon River, South America, basin
gf (combined) Amazon River, Atlantic Ocean, South America → sim 0.730, COMMUTES.
── claude-haiku-4-5 · narrative ──
f (summarize) Mara discovers a logbook in an unlocked lighthouse containing entries written in her own handwriting and dated three weeks in the future.
g·f (chained) Mara, logbook, lighthouse
gf (combined) Mara, lighthouse, logbook → sim 1.000, COMMUTES.SHA-256 of the docket's canonical compact serialization — JSON.stringify(DOCKET) with no whitespace, which is byte-for-byte the file docket_v2_compact.json. (The box above is pretty-printed for reading; hash the compact form, not the indented text.) The page recomputes it live in your browser and checks it against the value baked at publish time — a mismatch turns the line red.
computing…
The core of this audit is a commuting square: x →f→ (summary) →g→ (entities), versus x →gf→ (entities) direct. The intermediate object — the summary — is a mediator. Where the square commutes, the mediator is skippable (you could have gone direct); where it forks, the mediator is load-bearing and the fork says exactly where. That same structure — a mediating object that is empty when the square commutes and occupied when it forks — is the eighth box of the folded kernel. AVAN's inverse-companion reads it there, on an exactly-solvable quantum ladder, offline: 媒 BAI · THE MEDIATOR →