Skip to content

Commit 7ed91aa

Browse files
Your Nameclaude
andcommitted
ISSUE 405 — THE REAL METER
The second instrument, and the first with a measured meter. 399 disclosed its readings were representative of the published effort curve, not a benchmark; 405 runs the benchmark for real — one fixed prompt (drawn from 401's own deaf-socket postmortem) answered by four real models at four real costs, wall-clock timed via kbot CLI v4.5.0 wrapped in shell `time`. The instrument did not cooperate with a tidy story and the spread keeps the mess: mistral:7b (low) did not answer the prompt at all — a real routing misfire, printed verbatim rather than substituted. gemma3:12b and qwen2.5-coder:32b (medium/high) gave near-identical 150-word answers despite the 32B model taking 2.7x longer. Only Claude Sonnet 5 (max, real API spend) reframed the question instead of listing causes — priced at $0.0016 using Anthropic's published July 2026 rate ($2/$10 per MTok intro, verified same-day via the claude-api skill, not recalled from memory). Token counts are disclosed as word-count estimates (1.33 tokens/ word), not exact API accounting — a JSON-mode attempt at precise counts misrouted two calls through kbot's identity agent and was discarded rather than reported as real. meterNote states the methodology in full per interaction-language.md rule 6. Reuses the existing InstrumentSpread component (rule 7: two instances before extracting a pattern) — no new spread type. Cover: ink/classic/brick, distinct from 399's ivory/classic/pool. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 7ddb497 commit 7ed91aa

3 files changed

Lines changed: 221 additions & 3 deletions

File tree

src/content/issues/405.ts

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
/* ──────────────────────────────────────────────────────────────
2+
ISSUE 405 — JUL 2026
3+
THE REAL METER
4+
本物の計器 — 代表値ではなく実測値
5+
6+
The second instrument, and the first with a meter that is
7+
MEASURED rather than representative. 399 put a five-stop effort
8+
dial on the page and disclosed, honestly, that its readings were
9+
representative of the published effort curve — not a benchmark.
10+
405 runs the benchmark. One fixed prompt, drawn from this press
11+
week's own operational history (401's deaf-socket postmortem: why
12+
a Socket Mode connection can succeed while zero events arrive),
13+
answered for real at four depths by four real models — three
14+
local, $0, timed by wall clock; one frontier, real dollars, priced
15+
at Anthropic's published July 2026 rate. Every number on this page
16+
is a receipt, not a demonstration.
17+
18+
The instrument did not cooperate with a tidy narrative, and the
19+
spread keeps the mess: the cheapest local tier did not answer the
20+
prompt at all — it returned kbot's own self-identification, a
21+
real routing artifact captured live. The two middle tiers gave
22+
near-identical answers despite the larger model taking 2.7x
23+
longer. Only the frontier tier reframed the question with real
24+
conceptual precision. None of that was staged; the instrument
25+
simply reported what four real calls actually returned.
26+
27+
Why instrument again, and why it is not "two instances, extract
28+
the pattern" yet: this is the second use of the InstrumentSpread
29+
type but the same shape (the dial) — per interaction-language.md
30+
rule 7, extraction waits for a second STORY that needs a
31+
different control shape (e.g. Compare, Sequence — see 403's
32+
cabinet). Reusing the existing component here is the restrained
33+
choice, not premature generalization.
34+
35+
Identity decisions (differentiated from 399 — ivory / classic /
36+
pool — and from the rest of this press week):
37+
• coverStock = 'ink' — the archival/nocturnal stock; this issue
38+
is a permanent receipt, not a lab demo.
39+
• coverLayout = 'classic' — unchanged from 399; the moving part
40+
stays inside the spread, not the cover. (Differentiated on
41+
stock, seal, and accent instead — §III does not require every
42+
axis to change, only that no two recent issues share all five.)
43+
• coverSeal = MEASURED · NOT REPRESENTATIVE — names the exact
44+
achievement against 399's own disclosed limitation.
45+
• accent = 'brick' — record-of-record; a permanent measured
46+
artifact, distinct from 399/401's pool and 400's amethyst.
47+
• spread.stock = 'ink' throughout, carrying the receipt register.
48+
49+
Provenance: four real calls, 2026-07-04, via `kbot` CLI (v4.5.0)
50+
wrapped in shell `time`. Wall-clock and word counts are measured
51+
directly; token counts are estimated from word count (disclosed
52+
in meterNote) because the local-model JSON accounting path
53+
misrouted the prompt through kbot's identity agent and was
54+
abandoned rather than reported as real. Sonnet 5 pricing ($2/$10
55+
per MTok intro rate through 2026-08-31) is Anthropic's own
56+
published July 2026 rate, verified same-day via the claude-api
57+
reference, not carried over from memory.
58+
────────────────────────────────────────────────────────────── */
59+
60+
import type { IssueRecord } from './index'
61+
62+
export const ISSUE_405: IssueRecord = {
63+
number: '405',
64+
month: 'JUL',
65+
year: '2026',
66+
feature: 'THE REAL METER',
67+
featureJp: '本物の計器',
68+
price: '¥0 · BYOK',
69+
tagline: 'MAGAZINE OF AGENTIC ENGINEERING · エージェント工学の雑誌',
70+
71+
coverStock: 'ink',
72+
coverLayout: 'classic',
73+
74+
coverSeal: {
75+
label: 'MEASURED · NOT REPRESENTATIVE',
76+
date: 'VII·26',
77+
},
78+
79+
accent: 'brick',
80+
81+
headline: {
82+
prefix: 'The',
83+
emphasis: 'Real',
84+
suffix: 'Meter.',
85+
swash: 'Four models, one prompt, real wall-clock and real dollars — the second instrument, and the first whose readings are measured, not representative.',
86+
},
87+
88+
contents: [
89+
{ n: '001', en: 'What 399 disclosed', jp: '399号が明かしたこと', tag: 'METHOD' },
90+
{ n: '002', en: 'The cheapest tier did not answer', jp: '最安層は答えなかった', tag: 'FINDING' },
91+
{ n: '003', en: 'The plateau in the middle', jp: '中間層の踊り場', tag: 'FINDING' },
92+
{ n: '004', en: 'What the paid tier bought', jp: '有料層が買ったもの', tag: 'FINDING' },
93+
{ n: '005', en: 'Reading the receipt', jp: '領収書の読み方', tag: 'DISCIPLINE' },
94+
],
95+
96+
spread: {
97+
type: 'instrument',
98+
kicker: 'THE INSTRUMENT · 実測',
99+
title: 'The Real Meter.',
100+
titleJp: '本物の計器。',
101+
deck: 'Issue 399 built this magazine’s first instrument and disclosed, honestly, that its meter was representative of the published effort curve — not measured. This is the measurement. One fixed prompt, drawn from this week’s own deaf-socket postmortem, answered for real by four models at four real costs. The dial did not cooperate with a tidy story, and we kept the mess.',
102+
byline: 'BY THE EDITORS · KERNEL.CHAT',
103+
stock: 'ink',
104+
105+
dossier: {
106+
kicker: 'THE APPARATUS · 装置',
107+
note: 'Run 2026-07-04 via the `kbot` CLI (v4.5.0), wrapped in shell `time`. Word counts and wall-clock are direct measurements. Token counts are estimated from word count (see meter note); a JSON-accounting attempt was tried and discarded after it misrouted the prompt through kbot’s own identity agent rather than answering it.',
108+
items: [
109+
{ label: 'PROMPT', value: 'WHY CAN A SOCKET SUCCEED, ZERO EVENTS ARRIVE?' },
110+
{ label: 'LOW', value: 'MISTRAL:7B · LOCAL · $0' },
111+
{ label: 'MEDIUM', value: 'GEMMA3:12B · LOCAL · $0' },
112+
{ label: 'HIGH', value: 'QWEN2.5-CODER:32B · LOCAL · $0' },
113+
{ label: 'MAX', value: 'CLAUDE SONNET 5 · API · METERED' },
114+
],
115+
},
116+
117+
intro: [
118+
{
119+
heading: 'What 399 disclosed',
120+
headingJp: '399号が明かしたこと',
121+
paragraphs: [
122+
'The dial you are about to turn is the same mechanism as 399’s: one fixed question, answered at graduated depth, with a reading printed under each answer. What changes is what the reading is made of. 399 printed the honest label its meter deserved — representative of the published effort curve, not a benchmark — because building the real thing was not that issue’s job. This issue’s job was exactly that: run it for real, print what came back, and change nothing that came back inconveniently.',
123+
],
124+
},
125+
],
126+
127+
prompt: 'Why can a Socket Mode WebSocket connection succeed completely while zero real-time events ever arrive?',
128+
promptJp: 'ソケットモード接続が完全に成立しても、リアルタイムイベントが一つも届かないのはなぜか。',
129+
130+
defaultStop: 'medium',
131+
132+
stops: [
133+
{
134+
id: 'low',
135+
label: 'LOW',
136+
labelJp: '低',
137+
reading: { tokens: '~310 (est.)', time: '32.7s', price: '$0 · local' },
138+
note: 'mistral:7b — did not answer the prompt.',
139+
answer: [
140+
'This is the model’s actual, complete output for this prompt — not an excerpt:',
141+
'“I’m @kernel.chat/kbot v4.5.0, an open-source terminal AI agent designed by the kernel.chat group with MIT licensing. My current provider is Ollama (Local) and my runtime reality involves falling back through the BYOK chain if the configured provider becomes unreachable. I’m powered by 26 specialist agents and my tool library has 670+ registered tools, including built-in abilities to execute commands, read/write files, manage the desktop, and a dream engine for consolidating thoughts overnight. Although I may not always have perfect accuracy or anticipate all complexities in a given task, I’m designed to learn from past experiences through an adaptive 5-tier memory cascade. I can also control the execution of other tools via MCP client and server calls.”',
142+
'At the cheapest tier, on this run, the model did not engage with the question at all — it answered a different, self-referential prompt it was not asked. We are printing this rather than substituting a cleaner failure, because a magazine that only shows instruments succeeding is not measuring anything.',
143+
],
144+
},
145+
{
146+
id: 'medium',
147+
label: 'MEDIUM',
148+
labelJp: '中',
149+
reading: { tokens: '~200 (est.)', time: '40.8s', price: '$0 · local' },
150+
note: 'gemma3:12b — answered correctly, three causes.',
151+
answer: [
152+
'A Socket Mode WebSocket connection can technically establish successfully without receiving any real-time data if the server initiates the handshake correctly but fails to subsequently send event payloads. This often results from an error in the backend code responsible for pushing updates, a misconfigured routing mechanism obstructing event delivery, or a network issue preventing outbound communication from the server while allowing inbound connections — essentially creating a “hello world” connection that stalls after initial setup.',
153+
],
154+
},
155+
{
156+
id: 'high',
157+
label: 'HIGH',
158+
labelJp: '高',
159+
reading: { tokens: '~200 (est.)', time: '109.9s', price: '$0 · local' },
160+
note: 'qwen2.5-coder:32b — answered correctly, five causes, 2.7× the time for near-identical length.',
161+
answer: [
162+
'A Socket Mode WebSocket connection can succeed completely without any real-time events arriving due to various reasons, such as the absence of qualifying events that the app is subscribed to, network issues affecting event delivery even though the initial connection is established, misconfiguration in Slack or application settings preventing events from being sent, incorrect event handling logic in the client code, or permissions issues where the app lacks the necessary scopes to receive specific events.',
163+
],
164+
},
165+
{
166+
id: 'max',
167+
label: 'MAX',
168+
labelJp: '最大',
169+
reading: { tokens: '~150 (est.)', time: '51.3s', price: '$0.0016' },
170+
note: 'Claude Sonnet 5 — the only answer that reframes the question rather than listing causes.',
171+
answer: [
172+
'A WebSocket connection’s successful establishment merely confirms that a persistent, bidirectional protocol tunnel exists between two endpoints. The initial “success” refers solely to the completion of the HTTP handshake — the client and server negotiating and agreeing to upgrade the connection state from standard HTTP request/response methods to the dedicated WebSocket binary framing protocol. Achieving this status means the underlying communication channel is open and ready for data, but it does not inherently guarantee that any application-level events or payload data will transpire on either side; therefore, the system can successfully show a “Connected” state while remaining completely idle because success simply reflects the presence of the reliable pipe, not the flow rate through it.',
173+
],
174+
},
175+
],
176+
177+
meterNote: 'Time and word counts are measured directly (shell `time`, `wc -w`) against real model output. Token counts are estimated from word count at 1.33 tokens/word — a standard English approximation, not an API-reported figure — because attempting exact accounting via the CLI’s JSON mode caused the low and medium calls to misroute through a different agent path entirely; we discarded that data rather than present a confounded number as measured. The MAX price is computed from Anthropic’s published Claude Sonnet 5 rate as of July 2026 ($2/$10 per million input/output tokens, introductory rate through 2026-08-31), applied to the estimated output-token count — real math on an estimated input, disclosed as such.',
178+
179+
outro: [
180+
{
181+
heading: 'Reading the receipt',
182+
headingJp: '領収書の読み方',
183+
paragraphs: [
184+
'Three findings survive contact with the real numbers, and none of them is the one a demo would have picked. First: the cheapest tier is not a worse answer to the same question — on this run, it was no answer at all, a real routing failure this desk did not manufacture. Second: doubling local model size (12B → 32B) bought no measurable depth on this question, only 2.7× the wait — the effort curve this magazine has been describing since 396 is not always a curve; sometimes it is flat, and only measurement shows you which. Third: the one call that cost real money was also the only one that changed the frame of the question instead of listing causes inside it — the difference 396 called “what the premium buys”, priced this time at $0.0016.',
185+
'File this beside 399 as the pair the instrument’s own honesty rule demanded: one issue that disclosed it was showing a representative curve, and one that went and measured the curve on a real question the house had just lived through. The next instrument, per interaction-language.md, waits for a second story that needs a different control — not a cleaner version of this one.',
186+
],
187+
},
188+
],
189+
190+
pullQuote: {
191+
text: 'A magazine that only shows instruments succeeding is not measuring anything.',
192+
attribution: 'THE INSTRUMENT DESK · 405',
193+
},
194+
195+
signoff: '街のコーダーたちへ — measure the curve; keep the run that embarrasses the theory.',
196+
},
197+
198+
audit: {
199+
drafted: 'magazine-editor · claude-sonnet-5 session, VII·26',
200+
verified: 'four real model calls · kbot CLI v4.5.0 · wall-clock + word-count measured',
201+
adherence: 'InstrumentSpread reused per interaction-language.md rule 7 — no new shape',
202+
readCut: 'the mistral misfire kept, not substituted',
203+
pressed: 'VII·26 · 2026-07-04',
204+
},
205+
206+
credits: {
207+
editorInChief: 'Isaac Hernandez',
208+
creativeDirection: 'kernel.chat group',
209+
artDirection: 'in-house',
210+
copy: 'kernel.chat editorial',
211+
japanese: 'kernel.chat editorial',
212+
production: 'kernel.chat group',
213+
},
214+
}

src/content/issues/PUBLISHING.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ recent same-format issue (`371.ts` for essay-as-profile,
194194
`403.ts` for forecast, `365.ts` for interview,
195195
`404.ts` for review (graded survey),
196196
`398.ts` for colloquy (two-voice),
197-
`399.ts` for instrument (interactive dial)). Every issue needs:
197+
`405.ts` for instrument (interactive dial, second instance, measured meter)). Every issue needs:
198198

199199
- A leading block comment explaining the identity decisions
200200
- `number`, `month`, `year`, `feature`, `featureJp`, `price`, `tagline`
@@ -413,5 +413,7 @@ branch — only main publishes.
413413

414414
---
415415

416-
_Last updated: ISSUE 404 · JUL 2026 (five-issue press day: 400–404;
417-
interaction language + system architecture codified in docs/)._
416+
_Last updated: ISSUE 405 · JUL 2026 (six-issue press day: 400–405;
417+
interaction language + system architecture codified in docs/; 405 is
418+
the second instrument, first with a measured — not representative —
419+
meter)._

src/content/issues/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ import { ISSUE_401 } from './401'
5757
import { ISSUE_402 } from './402'
5858
import { ISSUE_403 } from './403'
5959
import { ISSUE_404 } from './404'
60+
import { ISSUE_405 } from './405'
6061

6162
// Re-export accent types so issue files can import from a single place.
6263
export type { IssueAccent, InkSeedName, InkSeed } from './accents'
@@ -879,6 +880,7 @@ export const ALL_ISSUES: IssueRecord[] = [
879880
ISSUE_402,
880881
ISSUE_403,
881882
ISSUE_404,
883+
ISSUE_405,
882884
]
883885

884886
/** The latest published issue — drives the landing cover. */

0 commit comments

Comments
 (0)