Measured Data
The ledger: every number we’ve measured, with the conditions that pin it.
One row = one measurement — hardware, conditions, and date included, because a number without its conditions is how wrong advice spreads. The canonical article remains the record of truth; this ledger is its index. Machine-readable mirror: /data.json.
219 measurements · 39 dispatches · verified hardware only
Industrial AI
75 rows What Does the Future Production Line Look Like? Full-Inspection Vision, Patrol Agents, and an On-Prem 27B LLM in One Discrete-Manufacturing Plant
VERIFIED · LineWatch patrol system, two live production lines at a discrete-manufacturing plant (production run Aug–Sep 2026) · on-prem machine-room workstation, single RTX 4090D 24GB, Qwen-family 27B model, 4-bit quantized, served via vLLM
Measured 2026-09-05
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| LineWatch patrol agent (scheduled patrols) | Scheduled patrol trips per day | 3 trips/day | Day-shift patrol, overnight dispatch, morning reconciliation; scored PDF per line per trip, roughly 5 minutes line-to-phone |
| LineWatch test agent (overnight research shift) | Controlled measurement rounds per overnight shift | 8 rounds | First unsupervised overnight shift on the evening of 2026-09-05; one round per hour on the hour through the night; on both lines; in-container autonomous run |
| On-prem event judge (Qwen-family 27B, 4-bit, via vLLM on RTX 4090D 24GB) | Test cases ruled correctly, night of 2026-09-05 | 5/5 | Includes one correct ruling of 'uncertain' on insufficient evidence; measured after three rounds of role-manual iteration (~1.2K words per manual) |
| On-prem alert triage (same 27B deployment) | Stress-test cases passed, night of 2026-09-05 | 5/5 | Real fault not falsely downgraded; orphan alert kept as an independent case; device alert correctly exempt |
| On-prem text roles (summarizer, judge, triage) number fidelity | Fabricated numbers found by automated per-number comparison against real patrol JSON | 0 | Automated check comparing every number the model writes against the source patrol JSON, 2026-09-05 |
No One on the Line Tonight: The Dress Rehearsal Before an AI Agent's First Unsupervised Night Shift
VERIFIED · LineWatch patrol system, two live production lines at a discrete-manufacturing plant (production run Aug–Sep 2026) · rehearsal executed on the live lines over the encrypted read-only collection path
Measured 2026-09-05
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Test agent remote dispatch (dress rehearsal, 2026-09-05) | Ignition-confirmation latency after launch | 25 s | Both lines dispatched 18:09/18:10; process-alive probe confirms the research process is really alive, not a fake start |
| Test agent hour-boundary alignment (dress rehearsal) | Error of second-round start versus 19:00:00, both lines same second | 0 s | Agent re-aligned itself to the next hour boundary after being woken early; both lines opened round two in the same second |
| Dress rehearsal versus formal overnight shift | Rounds run (rehearsal override / formal default) | 2 / 8 rounds | Same unmodified in-container script; only a launcher knob shortened the rehearsal; formal launch takes the default with no parameter |
| Patrol agent day-shift patrol scores (2026-09-05) | Line scores out of 100 (line one / line two) | 90 / 100 | Line-one deduction event: an early-afternoon spec change with a 25-minute detection gap; discovered, graded and delivered with no one on site |
| Headless sentinel (rehearsal window) | First automatic bulletin delivered at | 18:55 | 'Both lines OK, round 1 complete' — arrived on the manager's phone with nobody at a computer; must-send contract, silence is the alarm |
19:00:00 Sharp, Two Lines, Zero-Second Error — and Not One Bit of AI in That Second
VERIFIED · LineWatch patrol system, two live production lines at a discrete-manufacturing plant (production run Aug–Sep 2026) · deterministic in-container script; design parameters as deployed
Measured 2026-09-05
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Hour-boundary alignment arithmetic (one line of Bash, in-container) | Start error of round two versus 19:00:00 across both lines | 0 s | (now/3600+1)*3600 alignment to the next hour boundary; observed in the 2026-09-05 dress rehearsal, zero error on both lines |
| Dispatcher launch command (hard-coded) | Remote command timeout | 60 s | SSH + container execution; no probabilistic component in the dispatch path |
| Ignition-confirmation guard | Post-launch process-alive probe delay | 25 s | Added after a real fake-start lesson (a background command 'succeeded' while dying instantly on a missing directory) |
| Gate condition on database freshness | Maximum database staleness that still allows launch | 60 min | WAL side-file must be considered alongside the main database file; a main-file-only check misjudges a producing line as stopped |
| Overnight rounds knob (launcher parameter) | Default rounds / rehearsal override | 8 / 2 rounds | The formal overnight launch runs without the parameter and is byte-for-byte the original design; the rehearsal set it to 2 |
The Hardest Paper Came Back Blank Twice — and the Fix Was the Exam Rules, Not the Model
VERIFIED · Changeover-daily pipeline (LineWatch family) on two live production lines at a discrete-manufacturing plant · on-prem Qwen-family 27B, 4-bit quantized, on one RTX 4090D 24GB under vLLM · incident 2026-09-10 night, fix and re-exam 2026-09-11
Measured 2026-09-11
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| On-prem Qwen-family 27B (4-bit, single stream) — the invigilator library's constant | Sustained decode rate on the RTX 4090D | 13.4 tok/s | vLLM, stability-first launch settings; derived from the inference server's 10-second-sampled logs across the seven exam windows of 2026-09-10/11; the start-time assertion divides max_tokens by this rate (×1.05 safety factor) |
| The twice-blank hardest window (283 machine-history rows), re-examined after the rule fix | Generated tokens with finish=stop (wall time 484 s, config 12288/medium self-attested on the sheet) | 5986 tokens | the same paper first hit the 8192-token cap mid-thinking (≈8.7 K generated, body empty), then a config race handed the retry a 4096 pad (≈4 K generated, body empty); re-exam used less than half the pad |
| Changeover-daily generation budget peak, hardest report day of the four-window verification | Tokens used of pad (wall time 842 s, finish=stop) | 10881/12288 tokens | 88.5% of pad — a 12% headroom; the daily tool's pad was subsequently raised to 16384 on a 1400 s clock (assertion floor ≈1282 s) |
| Three-way changeover judgment, same real production windows | Latency: hard-coded path / local 27B per window / cloud model per six-day dataset | 2.5 / 149–600 / 23.3 s / s / min | verdict kept all three seats: judgment to code, exploration to cloud (7 anomalies code could not find), interpretation and writing to local with zero process data leaving the plant |
| KV-cache offload beyond on-card memory | Decode rate with context pushed past VRAM | 3.7 tok/s | 48K context + CPU offload vs 13.4 in-card (a 73% loss); context window fixed at 38912 as the measured sweet spot; every generated token re-reads the KV notebook across a PCIe bridge roughly 40× narrower than on-card memory |
The Whole Factory Had One AI Call — and 97% of Its Bill Was Door Fee
VERIFIED · LineWatch patrol system on two live production lines at a discrete-manufacturing plant (production run Aug–Sep 2026) · audit covers the AI-summary lane's full production life 2026-09-05→09-11 (44 calls, transcript-measured) · rebuild and A/B on 2026-09-12, same model both sides
Measured 2026-09-12
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| The AI-summary lane's full production life under the agent-harness route (2026-09-05→09-11) | Calls and total tokens, transcript-measured with a reproducible filter | 44 / 2,239,178 calls / tokens | trigger = verdict red or event-bearing; green and yellow shifts make zero calls; building week 09-05→09-08 = 24 calls / ~1.2M tokens (development traffic included); steady window 09-09→09-11 = 20 calls / ~1.04M (~52K per call, ~104K per event trip); 09-06 = zero calls (no event trip) |
| Night-patrol receipts, both lines (2026-09-11 ~20:58, event shift) | Input / cache-read / output tokens, wall time, tool invocations | 39,485 / 6,720 / 2,312 · 35 s · 0 and 39,556 / 6,720 / 4,940 · 72 s · 0 tokens · s · calls | fields verbatim from the call transcripts; same frontier cloud model on both sides of the later A/B (re-verified call-by-call); thinking tokens 0; per-receipt totals 48,517 and 51,216 |
| Door-fee share of input, agent-harness route | Briefing tokens ÷ total input | ≈97.5 % | business payload ≈1K tokens (sanitized fact sheet) of ≈39.5K input; computed this episode from the 09-11 receipts; the tool catalog was carried on every call and invoked on none |
| Rebuilt direct route, same-model A/B (2026-09-12, same fact JSON as the 09-11 night shift) | Per-call tokens and wall time, with the role manual mounted | 2,030 · 7.7 s and 2,156 · 8.3 s tokens · s | line one 1,650 in + 380 out; line two 1,735 in + 421 out; bare (no manual) run measured 1.4K; per call steady-state ~52K→~2.1K (−96%); per event trip ~104K→≈5K (−95%) |
| The digest role manual | Size and revision chain | 2,652 · v0.1→v0.2 bytes · commits | v0.1 committed 2026-09-07 (cbab20f), v0.2 committed 2026-09-12 (7b0a9e4; one line + version bump, every revision diffable); one file serves the cloud production lane and the on-prem 27B experiment lane as the same system message, read fresh from disk each run |
The Staircase: Four Steps for Every Job in the Plant, and the Top Step Stays Empty
VERIFIED · LineWatch patrol system on two live production lines at a discrete-manufacturing plant · staircase assembled 2026-09-12 from the Episode-4 audit and the same-day lane rebuild · dual-lane comparison mornings 2026-09-11→09-13 (12 windows, two recipes) · ruling delivered 2026-09-13 · the rebuilt lane's first live event shift 2026-09-12 20:55, with the next morning's green shift as the zero-call control
Measured 2026-09-13
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Dual-lane comparison, three mornings (2026-09-11→09-13) | Windows completed, blanks, wall time — same sanitized fact sheet to both lanes | 12 / 2 / 0 windows / cloud blanks / on-prem failures | cloud lane ran a stress recipe (earlier-generation model, bare, 8,192 output pad) — not the production recipe (current generation, manual mounted, 4,096 pad); on-prem 27B with manual went 12-for-12 at 124–171 s; cloud completed windows at 20–27 s; both blanks stopped at exactly 8,192 output tokens (09-12 line two, 09-13 line one; an early log note misnamed one blank's line — the comparison reports are the authority, corrected in this record) |
| Cost of running both lanes per day | Tokens per day, both lanes combined, by morning | 13,196 / 18,089 / 18,522 tokens | 09-11 / 09-12 / 09-13; local (on-prem) share 7,389 / 7,675 / 8,026 at zero API cost; cloud share 5,807 / 10,414 / 12,496; the two blank windows (8,192 each) were the largest single items; in+out as self-reported by each API |
| The rebuilt lane's first live event shift (2026-09-12 20:55) | End-to-end chain time and per-line AI completion | ≤3 min 35 s · both lines true s · boolean | trip generated 20:55:47, service journal logged both lanes' AI calls complete at 20:59:22 (alert delivered, both PDFs rendered and sent); token-level receipt absent — the production path prints usage only on failure, so the cost anchor remains the A/B measurement (~2K per call); a one-line success-usage print awaits approval; next morning's 06:30 patrol was green on both lines — zero calls, reports rendered on schedule |
| The 09-13 ruling on the Step-3 contest | Window extension, as landed in code | 2026-09-13 → 2026-09-20 dates | ruling: not either-or — both lanes stay, comparison continues; operator's reason paraphrased from the session record (the comparison costs almost nothing; let it keep running); landed as a one-line change to the comparison script's exit date, syntax-checked, delivered 09:20–09:35 CST per the session timeline |
| Episode 4's 500-token discrepancy, settled | Steady-state total, re-added from the per-day table | 1,035,772 tokens | 207,528 + 416,208 + 412,036 over 09-09→09-11 (20 calls); the prose figure 1,036,272 was a transcription slip no combination of rows can produce; Episode 4's published text rounds to 'about 1.04M' and stands uncorrected on the site — the correction lives in this record |
The Audit Came Home: 1.8 Billion Tokens, 95% Re-read — the Cure Was Forgetting
VERIFIED · The operator's home fleet — a three-node private mesh (cloud services node + on-prem GPU workstation) · all evidence gathered on-box on 2026-09-12: thirty days of interactive coding-agent session transcripts aggregated per-session from usage fields, the chat gateway's own ledger read from its local store (2,564 metered calls since 2026-07-25), compaction applied the same day to the gateway's four largest sessions and verified at the wallet level
Measured 2026-09-12
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| The desk book — interactive coding-agent sessions, 30 days to 2026-09-12 | Session count, cache-read share of tokens, top-ten concentration | 85 · ~95% · 64 sessions · share · share | ~1.8 billion tokens total in the window; top five sessions 39%; the plant's whole audited AI life (2,239,178 tokens, Episode 4) is about one part in a thousand of this book (computed); all top-ten sessions are multi-day relay jobs |
| Heaviest session and the counterfactual compaction | Turns, total tokens, back-half re-reads before → after a fold at turn 300 | 667 · 197,060,000 · 144,730,000 → 12,810,000 · −91 turns · tokens · tokens · % | counterfactual computed 2026-09-12 from the session's own per-turn usage; fold assumed ~35K of minutes; the back half was 73% of the session's total cost; house trigger line set at 300 turns or 250K of context |
| The chat gateway's heartbeat tax | Low-value heartbeat polls and tokens they hauled | 2,564 · 92 · 16,600,000 calls · polls · tokens | gateway ledger since 2026-07-25 totals 263M tokens, cost-equivalent ~91.5M fresh-input at the cache list rate ~18.5%; each poll carries the full ~159K session history; the main session ran 118M tokens over nine days from birth on 09-03, 11.19M of them on audit morning; cache share 70–97% |
| The compaction, same day, gateway sessions | Context watermarks before → after, per session; final sweep count | 160,000/205,000 (78%) → 41,000 · 216,000→23,000 · 120,000→23,000 · 115,000→20,000 · 42 tokens · tokens · sessions | one session already at 106% of the window when caught; each pressed session ended at a quarter or less of its pre-press size (computed); final sweep: 42 sessions, none over the 100,000 line; wallet-level receipt after compaction: 41K in, 4 out on the first real heartbeat |
| Estimated monthly savings at current intensity | Tokens per month, all books, estimate | 0.8–1.2 billion tokens/month (estimate) | gateway compactions ~500M/month if periodic discipline holds (group sessions rebound); desk-side compaction discipline 300–700M at half-credit (law passed, first battle unfought); plant lane already rebuilt in Episode 4; ≈half of a ~2 billion monthly burn; cache priced at the list rate — actual bills depend on the plan in force |
Can Simulation Fill Your Defect-Sample Gap? An Isaac Sim Route That Never Got Past the Install
VERIFIED · Workstation 2-GPU rig (RTX 4090D 24GB + RTX A4000 16GB) — RTX present but never used by this line
Measured 2026-08-30
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| ~/.ros/log Kit launch attempts | Log files from 2025-12-18, all zero bytes | 19 | Real process IDs and timestamps, zero logged output — launches that died before boot; no session ran |
| Isaac Sim on workstation | Installations present on disk | 0 | No application tree, no Omniverse packages, no isaacsim in any conda env; planning + troubleshooting documents only |
| Synthetic-data line under ~/tools | SDG-side repositories staged | 3 | actor_sdg (generation scheduler), isaacsim.sensors.rtx (sensor sim), scene_blox (scene composition) |
| ~/tensorboard monitoring directory | Event files retained at inspection | 0 | Scaffolding stood up; nothing trained on this line |
How Does a Vision Model Reach a Factory-Edge NPU? The ONNX→RKNN→RK3588 Route, Staged and Smoke-Tested
VERIFIED · Workstation docker engine (2-GPU rig: RTX 4090D 24GB + RTX A4000 16GB)
Measured 2026-08-30
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| docker image rk3588-rknn-dev:20.04 | Image size on disk | 3.03 GB | docker images; conversion + quantization environment |
| docker image rk3588-cross-compiler:20.04 | Image size on disk | 3.03 GB | docker images; aarch64 application cross-compile |
| docker image rk3588-base-cross-compiler:20.04 | Image size on disk | 798 MB | docker images; base layer for leaner build images |
| Rockchip edge staging (three images total) | Combined disk footprint | 6.86 GB | Sum of the three image sizes above |
| rk3588-rknn-dev container (first-ever execution) | Python version inside image | 3.8.10 | docker run --rm rk3588-rknn-dev:20.04 python3 -V; no prior containers from these images existed |
| Machine-wide conversion check | .rknn artifacts on disk | 0 | find across home tree; the ONNX-to-RKNN leg has never been walked here |
| resnet18 ONNX export (conversion leg, station one) | Exported model file size | 46733662 bytes | torch.onnx.export opset 12, dynamo=False (torch 2.9 default exporter requires onnxscript, absent); random weights |
| RKNN toolkit acquisition (2026-08-30 session) | Routes tried / succeeded | 6 / 0 | git-https (TLS reset), Releases API (zero assets), tree API (no wheels), raw CDN (404), container PyPI (unreachable), domestic mirror (package absent) |
| anomalib_env (export side of the route) | ONNX package version | 1.19.1 | pip list in conda env; openvino 2025.3.0 also present as parallel edge route |
SAM3 on a Workstation: Docker Door, Source Door, and a Wire Into ComfyUI
VERIFIED · Workstation 2-GPU rig (RTX 4090D 24GB + RTX A4000 16GB) · docker Engine · ComfyUI install
Measured 2026-08-30
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| SAM 3 (as published by Meta) | Parameters, single model | 848 M | Per Meta's SAM 3 announcement and paper (arXiv:2511.16719) — authors' figure, not our measurement |
| SAM3 staging on workstation | Deployment routes staged | 2 | docker door (pull script, linux/amd64 pinned) + source door (131 MB upstream clone, January 2026 commit) |
| docker door depth | SAM3 images present on disk | 0 | docker images inventory; the scripted pull was never completed on this machine |
| ComfyUI nodes_sam3.py custom node package | Lines of code / node classes defined | 533 / 4 | SAM3_Detect, SAM3_VideoTrack, SAM3_TrackPreview, SAM3_TrackToMask |
| ComfyUI SAM3 integration | Saved workflow blueprints | 2 | 'Image Segmentation (SAM3).json' and 'Video Segmentation (SAM3).json', wired via comfy_extras/nodes_sam3.py custom node |
| Deploy scripts, credential hygiene | Plaintext sudo-password pipes remaining after 2026-08-30 sanitization | 0 | Both deploy scripts rewritten to interactive sudo; residual sudo -S lines verified zero |
Can a Mac Mini Run Industrial Defect Detection on CPU? A Workstation-to-Edge Deployment That Actually Ran
VERIFIED · Mac mini (Apple Silicon, CPU inference; anomalib 2.0.0, torch 2.7.1) + Basler GigE camera via Aravis
Measured 2025-11-20
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| PatchCore inference, wood model (Mac mini, CPU) | Processing time across the 3 recorded runs | 0.176 / 0.158 / 0.156 s | processing_time fields in the 3 results JSONs; input 494x659 camera frame -> 256x256; anomalib 2.0.0, torch 2.7.1, env anomalib_new_env |
| Captures archive (~/anomalib_inference_local/captures) | Files / capture groups in the 2025-11-20 session | 210 / 70 | png+tiff+json triplets; session span 21:13-22:06 (~53 min) |
| Deployed model set (models/{wood,cable,screw}/v1.0) | Lightning checkpoints deployed | 3 | wood 255118891 B (2025-07-14); cable 240649771 B and screw 301051435 B byte-identical to workstation training outputs |
| cable checkpoint (cross-machine provenance) | File size, Mac mini vs workstation | 240649771 bytes | Exact match both machines; workstation md5 20f418d97822b4f271efb792a1c1ef69 |
| screw checkpoint (cross-machine provenance) | File size, Mac mini vs workstation | 301051435 bytes | Exact match both machines; workstation md5 d2d88d71a085612a4d3426cf33e6510c |
| Basler camera via Aravis (camera_config.json) | Exposure / resolution | 10000 µs / 659x494 | Mono8, gain 1.0, free-run trigger, tiff+png+json output triplets |
| Decision configuration (models/{wood,cable,screw}/v1.0/config.yaml) | Fixed threshold / min anomaly area, per model | 0.6/0.55/0.3 and 50/30/20 | Per-category tuning documented in config comments; morphology 3x3/3x3/2x2; resize 256x256 bilinear, ImageNet normalization |
How Do You Ship Industrial Defect Detection With Only 'Good' Samples? An Anomalib Field Guide
VERIFIED · Workstation 2-GPU rig (RTX 4090D 24GB + RTX A4000 16GB) · conda anomalib_env · anomalib 2.1.0.dev0
Measured 2025-11-19
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| MVTecAD dataset (workstation copy) | Industrial scene categories prepared for training | 15 | Folder-format tree with train/good + test + ground_truth per category under ./data |
| MVTecAD dataset (workstation copy) | Disk footprint, archived copy under datasets/ | 4.8G | du -sh ~/anomalib/datasets/MVTecAD; extracted working copy under data/ is 5.0G |
| Patchcore training artifacts (results/Patchcore) | Disk footprint of training/inference results | 804M | du -sh ~/anomalib/results/Patchcore; checkpoints + config.yaml + visualizations |
| results/Patchcore/MVTecAD/bottle/v0 checkpoint | model.ckpt file size | 231212587 bytes | Per-scene coreset memory; resolved config.yaml preserved alongside |
| results/Patchcore/MVTecAD/cable/v0 checkpoint | model.ckpt file size | 240649771 bytes | Different size per scene — coreset scales with the category's feature memory |
| MVTecAD categories with trained checkpoints (after 2026-08-30 sweep) | Categories complete | 15 | 12 newly trained on the A4000 (pinned by UUID) + 3 November checkpoints read-only evaluated in place |
| PatchCore image-AUROC across all 15 categories (2026-08-30) | Mean / range | 0.981 / 0.911-1.000 | One-epoch defaults, no coreset or threshold tuning; pixel-AUROC brittle on 3 texture classes (0.439-0.632) |
| Per-scene training time (2026-08-30 sweep, A4000) | Range over 11 first-pass scenes | 29-169 s | toothbrush fastest, carpet slowest; hazelnut retry at eval_batch_size 8 took 309 s after OOM at defaults |
| Read-only evaluations of November checkpoints | Eval time per scene | 28-38 s | anomalib test on bottle/cable/screw v0 weights, untouched (Mac-deployment provenance preserved) |
| Patchcore training artifacts (results/Patchcore/MVTecAD) | Categories with model.ckpt on disk at publication | 3 | bottle, cable, screw — v0/weights/lightning/ each; batch sweep not carried to completion |
| train_all_scenes.py | Default training epochs per scene | 1 | CLI default; quick_start.sh full option uses 5 |
| train_all_scenes.py | Default train/eval batch size | 32 | Single GPU (--trainer.devices 1) |
| MVTecAD per-scene normal training images | Good-sample count, bottle / cable / screw / hazelnut | 209 / 224 / 320 / 391 images | ls of data/<category>/train/good on the workstation; defect images exist only in test splits |
| RTX 4090D (training GPU, single-GPU runs) | Total VRAM as reported by nvidia-smi | 24564 MiB | --trainer.accelerator gpu --trainer.devices 1 |
AI & Compute
144 rows One Man, One Legion: Can a Single Operator Run a 3-Machine AI Fleet End to End?
VERIFIED · 3-machine fleet — US-West 512 MB VPS + Seoul 2-vCPU cloud VM + local RTX 4090D 24 GB / RTX A4000 16 GB workstation · live-inspection audit
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Fleet scheduler (cron) across the 3-machine legion | Cron jobs installed vs enabled at audit | 22 / 4 | Live inspection 2026-08-27; 18 disabled in a deliberate over-automation pullback; 6 timestamped job-file backups preserve the add/remove history; enabled set = 1 feed delivery, 2 topic-scouting pings, 1 arXiv digest |
| Agent diary corpus (daily files, workstation) | Diary files on disk | 97 files | Counted 2026-08-27; file count only — consecutive-day coverage not claimed |
| Agent runtime chat channels (Telegram) | Connected chat groups | 12 groups | Counted from live config 2026-08-27; Feishu channel also enabled (no group count); group identifiers withheld by policy |
| Local model stable on the workstation | Locally runnable LLMs (simultaneous serving at audit) | 3 (2 simultaneous) | Qwen3.8-27B-AWQ 29 GB + gemma-4-12b-coder 23 GB in two simultaneous vLLM instances; Qwythos-9B 18 GB standby; counted 2026-08-27; runtime fallback chain = 1 cloud tier then local 9B |
| Chat-triggered image workshop (FLUX on A4000 16 GB) | Wall time from chat command to image posted back | 50 / 66–112 / 330–379 s | 10 completed logged runs: fast path 1280×720·20 steps n=3 → 50 s each; full path 1920×1080·28 steps warm n=5 → 66–112 s (3 face-locked at 66 s); session-opening runs n=2 → 330–379 s, same settings settle to 66 s afterward (cold model load); single workstation GPU, queue-dependent, log timestamps 2026-08 |
How Fast Does a Chat Command Become a Finished AI Image? Inside the One-Man FLUX Workshop
VERIFIED · RTX A4000 16 GB workstation GPU · ComfyUI API-first (workflow JSON over HTTP) · FLUX fp8 stack (~11 GB in VRAM) with optional PuLID v0.9.1 face-lock
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Chat-triggered FLUX fast profile (1280×720, 20 steps, guidance 3.5) | Wall time from command to image posted back | 50 s | n=3 identical logged runs, 2026-08; single A4000, warm queue, pure text-to-image |
| Chat-triggered FLUX full profile, warm (1920×1080, 28 steps, guidance 5.5) | Wall time from command to image posted back | 66–112 s | n=5 logged runs: 3 face-locked (66 s each, PuLID weight 0.8) + 1 plain (68 s) + 1 art render (112 s); same session as the cold opens below, 2026-08 |
| Chat-triggered FLUX full profile, session-opening cold load | Wall time from command to image posted back | 330–379 s | n=2 runs opening a session cluster; identical settings settle to 66 s afterward — latency is the fp8 model-stack load into VRAM, not the render; 2026-08 |
| Face-lock overhead (PuLID v0.9.1, identity weight 0.8 vs 0.65) | Additional wall time vs non-face warm full-profile runs | 0 (66 vs 68) s | n=3 face-locked at 66 s vs n=1 plain at 68 s — no measurable overhead at this sample size, 2026-08 |
| Image workshop output on disk | Finished FLUX images | 14 files | Counted 2026-08-27; 10 of them carry job logs (mode line + seed + wall time), 4 predate the logging habit |
What Does It Take to Give a Chat AI Nine Tools and Your Home Directory? A 50-Line Bot That Grew to 850
VERIFIED · Workstation-hosted Python bot under a systemd user unit · GLM-5.2 via Anthropic-protocol-compatible endpoint · counts from source and bot.log
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Telegram chat gateway (bot.py, GLM-5.2 backend) | Lines of Python on disk vs README's stated origin | 850 vs ~50 lines | wc -l on source, 2026-08-27; the ~50-line origin is the README's own account of the starting point, not independently reconstructable |
| Tool surface exposed to the model | Tools available per turn | 9 tools | read_file, glob, grep, edit, write_file, exec_command, web_search, web_fetch, rss_fetch; counted from tool registry in source, 2026-08-27 |
| Agent tool loop per chat message | Maximum tool iterations per turn | 15 iterations | MAX_TOOL_ITERATIONS constant in source; caps runaway chains, 2026-08-27 |
| Process supervision (systemd user unit) | Crash-restart delay | 5 s | Service unit RestartSec; lingering enabled for no-login survival, 2026-08-27 |
| Gateway usage log (bot.log) | Log lines accumulated | 168,996 lines | Single whitelisted user; line count measures chatter, not tasks — no throughput claimed; log tail is a live server-disconnect NetworkError, 2026-08-27 |
What Happens When the Cockpit Itself Goes Dark? Two Outages, Ten Stranded Jobs, One Spare Parked by Subtraction
VERIFIED · Workstation openclaw runtime · evidence = openclaw.json channels, cron jobs.json, run logs, 2 dated diagnosis docs · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| June 20 root cause certainty | Independent DNS resolvers returning NXDOMAIN for the dead proxy exit node | 4 resolvers | Ali, Cloudflare, Google DoH, 8.8.8.8; the single-node exit was the only pipe for every command; gateway logged a polling stall every 90 seconds (telegram-proxy-fix-2026-06-20.md) |
| The redundant pipe built in June | Load-balanced proxy nodes in the pool | 6 nodes | measured latencies 0.44 to 4.14 seconds; health probe every minute, least-ping balancer, named fallback; the June document's measurements, not re-measured 2026-08 |
| July 4 stranded deliveries | OpenClaw cron jobs plus system crontab scripts stuck at push | 10 / 3 jobs / scripts | 13 total; work had succeeded and products sat on disk, only delivery dead; counted from the diagnosis table rows — the document's summary line says 13 OpenClaw jobs, its table lists 10 |
| Same envelope, two channels | Idle time on Feishu vs run time on Telegram for the identical noon job | 10 / 270 seconds | agentTurn news jobs on Feishu ran 149 and 112 seconds the same evening; the systemEvent job spent zero tokens with an empty session; both rows from the 2026-07-04 diagnosis contrast table, not re-run |
| Cockpit wiring at press time | Enabled channels and Telegram group count | 2 / 12 channels / groups | openclaw.json read 2026-08-27; 3 of the 4 lit cron jobs route to Telegram groups and 0 of the 4 Feishu-routed entries are lit; last scheduled Feishu fire July 23, 35 days dark at press time; newest run (arXiv digest) finished status ok |
What Does the One Human Actually Do? Three Touchpoints per Piece, and One Wall That Won't Move
VERIFIED · Fleet-wide · evidence = site playbook, fleet WORKLOG 2026-08-25/26, workstation session log 2026-06-24, wechat-mp-api.mjs full-tree grep, media/inbound count · read 2026-08-27
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Division-of-labor contract | Human touchpoints per published piece | 3 touchpoints | fixed into the site playbook 2026-08-25 after a fully-fictional-article drill; slip budgeted at 5 minutes; the operator never touches git, build, or deploy |
| First real gate slip | Slip items machine-verified vs total pressure-tested | 21 / 27 items | 6 more awaited a terminal grep the operator ran personally on the workstation, confirming the half-resident log line 2 times; 1 sourcing label caught and fixed pre-slip; final slip rows: 13 A-items and 6 B-items passed, 4 C-items left to the human fact arbiter; article held unpushed until the slip returned |
| WeChat publish path | freepublish call sites in checked-in code | 0 call sites | code ends at draft/add (1 call site); the one interactive attempt, 2026-06-24, returned 48001 api unauthorized — a subscription-account permission wall; publishing happens from the phone's subscription assistant, per the session record |
| Touchpoint 1 inbox | Chat-dropped jpg files in the media inbound folder | 26 files | counted 2026-08-27, newest 2026-08-08; identity-lock image jobs take the newest file with no path asked |
| Distribution packages | Paste-ready packages delivered with the first Watch issue | 3 packages | aimed at r/LocalLLaMA, r/DeepSeek, r/ChatGPT with a recommended firing order and a risk flag on the thinnest source; a 4th (r/webdev plus Show HN) followed the same evening; all unclicked at press time, held for a hotter news cycle |
Six Doors, 231 Lines, and No Dashboard: Putting a Three-Machine Fleet on One Screen
VERIFIED · Fleet-wide · evidence = fleet WORKLOG 2026-08-10/11/13, cross-machine-channel and aws-fleet-role machine memories, multi-server-framework.md v3 (58 lines, wc), wrapper files stat'd on all 3 machines 2026-08-27, fleet-probe.sh (231 lines, wc), state.json and alerts.log read live 2026-08-27, ts-keepalive log tail
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Cross-machine channel | Directed ssh + headless-Claude doors between the 3 machines | 6 doors | all 6 wrapper files verified on disk 2026-08-27; built in one day 2026-08-10 (timestamps 08:33 / 09:12 key auth / 09:16 / 15:45); 4 of them stat at 334 to 912 bytes; stateless one-shot calls; credentials eval'd on the far side and never cross the wire |
| Mesh stress test | Claude round trip to the 512 MB box vs the workstation | 24 s vs 8–12 s latency | measured 2026-08-11 06:32 UTC; 0 packet loss on both links; direct network 140 ms and 89 ms; the ≈2.4× gap attributed to RAM (interactive Claude 157 MB resident, 77 MB available vs 99 MB headless need); test deliberately single-shot, no flooding |
| Fleet probe | Bash lines checking the whole fleet every 5 minutes | 231 lines | 12 keys (small box memory/load/disk/gateway/Tailscale path, Seoul vitals, 3 external APIs, orchestrator dispatcher), 4 severity states, whole fleet logged in 3 lines per round, Telegram push on red; first run 9.9 s 2026-08-11 07:06, 3.7 s after the 09:42 v2 rewrite |
| Alert history | Red / yellow / green alerts over 16 days | 20 / 8 / 25 alerts | machine-counted from alerts.log 2026-08-27; exactly 1 real link outage (August 12, 10 minutes); load reds 10 times at 2.01–2.88, all gone by the next check; memory warn brushes 5 times at 78–98 MB recovering to 140–162 MB; bot self-check red 7 times, each healed within 10 minutes, once at 01:15 on measurement day |
| Longest unbroken streak | Consecutive 5-minute checks since the v2 reset | 4,711 checks | held by 6 keys; span 16.4 days; arithmetic lands within 5 minutes of the 2026-08-11 09:42 v2 state reset; the path key's own 4,526-check streak begins on the exact minute of the August 12 outage recovery |
What Does an AI Legion Write to Itself? 63 Entries, 75 Days of Silence
VERIFIED · Workstation openclaw workspace memory system · evidence = memory/ directory (97 files), AGENTS.md constitution, MEMORY.md, quality-lessons.jsonl · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Agent memory directory, inventoried | Daily diary files vs topical note files | 63 / 34 files | 97 files total, read 2026-08-27; corrects the anchor post's 97 daily diary files — 97 counts every file in the directory, 63 are dated daily entries |
| Diary coverage | Days with a daily entry vs days in span | 63 / 186 days | first daily 2026-02-23, last 2026-08-27 (mtime 18:26 on the day of reading); 123 days in the span hold no daily entry |
| Longest silence | Interval between consecutive daily entries | 75 days | 2026-03-29 (records the GLM-5.1 swap; the same day the first cron job fired, 21:27, per episode 19) to 2026-06-12; why the pen stopped is inference, not logged |
| Raw diary volume | Characters across all daily entries | 225236 characters | wc -m over 63 daily files, markdown included, average about 3,575 per entry; the agent writes in Chinese |
| Curated long-term memory | MEMORY.md size (lines / bytes) | 3576 / 160639 lines / bytes | top section stamped 2026-08-15, file last maintained 2026-08-21 11:25; mandated by the 292-line AGENTS.md constitution, last edited 2026-08-17 19:57 |
One Sentence In, Stereo Video Out: 6 Jobs, 90–790 Seconds, an Unfilmed Actress
VERIFIED · Workstation · MiniMax H3 on one RTX 4090D via ComfyUI 0.30 · evidence = h3-video skill + 6 job logs + 11 MP4s on disk, h3-guide.md, h3_t2v.py, h3-prompt-director v1.3 (test-log-001, C001.json, r2v_pipeline), MP4 box scans · recounted 2026-08-27 · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| H3 text-to-video jobs | Logged jobs / completed / MP4s on disk | 6 / 6 / 11 jobs | job logs h3job_*, Aug 6 to Aug 14, every log ends in a completion line; 11 MP4s = 6 job outputs + 5 deployment-day tests (first-success test + 4 content probes: baseline, horror, war, weapon) |
| Render-time ladder | Wall-clock generation by clip length and resolution | 90 / 138 / 790 seconds | 3s clip at 0.3MP = 90s (two runs); 5s at 0.4MP = 138s (three takes, identical); 10s at 0.4MP = 790s; steps=20; 4090 runs the model through weight offload — doubling clip length 5s to 10s cost 5.7x render |
| Self-delivery | Jobs whose finished video was posted back to the chat group by the script | 5 / 6 jobs | each delivery leaves a message receipt in the job log; the first skeleton test was not sent; the agent never polls — launch returns instantly and the script posts video + prompt + seed on completion |
| R2V character test matrix | Test cells and outcomes | 8 (3 pass / 2 fail / 2 improved / 1 unmarked) cells | test-log-001, Aug 10, reference-to-video model at 15 steps test mode; failures = seed-related eye defect and underexposure; retries improved by seed swap and by writing the light source into the prompt |
| Motion budget | Cap on motion elements per prompt | 1 / 2 / 2 / 1 / 1 motions | primary / secondary / environmental / camera / expression; director rule: brainstorm ten actions, keep the 3 that matter; result tracker built to log every run has zero entries — its history file was never created |
Who Edits an AI Writing Staff? 191 Articles, 15 Iron Laws, One Stamp
VERIFIED · Workstation openclaw workspace wechat-editor-team · evidence = article archive (articles/, daily/, archive/), WORKFLOW-STANDARD-V3.md, utils/quality-gate.py, .gate.json stamps, quality-lessons.jsonl · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| WeChat article archive | Finished HTML articles by directory, summed | 72 + 105 + 14 = 191 files | articles/ 72, daily/ 105, archive/ 14 (recursive); counted 2026-08-27; span June 15 (first daily article; topics pool opened June 12) to Aug 27 (three articles dated that day) |
| Quality codification vs enforcement | Iron laws / machine hard scans / AI judgments | 15 / 7 / 4 rules | WORKFLOW-STANDARD-V3.md; machine scans M1-M7 run in utils/quality-gate.py; AI judgments A1-A4 answered by the writing agent pre-push; fact-check law adds an AI judge for high-risk claims |
| Pen names in active use | Personas with verified bylines in shipped files | 4 pen names | Lu Shi / Shen Jianwei / Lin Shu / Qin Yin mapped by emotion type A-D; bylines appear in 30 archived HTML files; a fifth persona (Zhixing Xiaoya, US-stock config) has zero signatures in the archive — configured, not shipped |
| Quality learning loop | Failure records with round distribution | 102 (88 / 11 / 3) records | quality-lessons.jsonl, 2026-07-18 to 2026-08-27 17:46:40 (still written on the measurement day); promotion rule: same error 3 times becomes a hard-scan rule |
| Push unlock stamp | Machine checks run vs passed on a passing article | 7 / 7 checks | articles/2026-08-27-gates-ai-warning.gate.json, round 1, 2026-08-27 17:31:32; push script refuses to run without a .gate.json stamp; final leg is the platform's official draft-box API |
Whose Name Goes on the Article? Five Bylines, One Human
VERIFIED · Workstation openclaw workspace wechat-editor-team · evidence = WORKFLOW-STANDARD-V3.md (v9.2), EMOTION-CONTROL-WRITING.md (v1.0, 2026-07-29), ARTICLE-FORMAT-TEMPLATE.md (2026-08-17), STOCK-ARTICLE-V2.md (2026-07-19), byline grep recount across articles/ daily/ archive/ plus push-script AUTHOR constants · counted 2026-08-27 · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Byline distribution (main account archive) | Signed files by pen name: Lu Shi / Shen Jianwei / Lingche / Lin Shu / Qin Yin | 12 / 9 / 8 / 2 / 2 files | grep recount of byline lines across articles/ daily/ archive/, 2026-08-27, 33 signed files total (live archive, count moves); genre mapping A event / B industry / C person / D suspense / E system-diagnosis per WORKFLOW-STANDARD-V3.md push step; E-type Lingche added in v9.2 on 2026-07-21, signature check added 2026-07-26; byline line mandatory in the one-legal-format template accepted 2026-08-17 (one daily file dated 2026-08-07 already carried it) |
| Shared column AI-era survival guide | Pieces in column / distinct bylines on the column | 10 / 5 pieces / names | byline-line tally 2026-08-27: 5 Lu Shi + 2 Shen Jianwei + 1 Lin Shu + 1 Qin Yin + 1 Lingche — the byline follows genre, never column |
| E-type banned-word list (Lingche) | Emotional-vocabulary entries banned for the system-diagnosis persona | 9 entries | WORKFLOW-STANDARD-V3.md E-type machine-scan adaptation, v9.2; includes 躺平 (lying flat), 血流成河 (rivers of blood), 末日来临 (doomsday arriving), 资本家的阴谋 (capitalist conspiracy); A-D types instead require an emotion micro-pulse every 300-500 characters in a friend's voice |
| Push-script AUTHOR constants | Surviving scripts carrying an AUTHOR constant: Lu Shi / Shen Jianwei / Lingche / Qin Yin / Lin Shu | 3 / 3 / 3 / 2 / 0 scripts | tally over daily/push-*.py and project-root push scripts, 2026-08-27; person-story genre (Lin Shu) rarest — 2 archived pieces and no surviving script |
| Second-account persona Zhixing Xiaoya | Workspace-wide files signed by the byline | 0 files | search of all workspace HTML 2026-08-27; config exists at project root and a stock-commentary style doc is effective 2026-07-19 (overrides the standard for stock topics) — configured, never shipped |
Who Checks the Checkers? 313 Lines of Gate, 61 Stamps, One Empty Column
VERIFIED · Workstation openclaw workspace wechat-editor-team · evidence = utils/quality-gate.py (v9.0, 313 lines), quality-lessons.jsonl (102 records, 2026-07-18 to 2026-08-27), .gate.json stamps, daily/push-*.mjs gate checks, WORKFLOW-STANDARD-V3.md · counted 2026-08-27 · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| QC gate script | Lines / exit codes (0 = unlock push, 1 = red light) | 313 / 0 / 1 lines / exit codes | utils/quality-gate.py v9.0, wc -l 2026-08-27; 7 machine hard scans + 4 AI-judgment checklist items (A1-A4) |
| Machine-scan failure record | Red-light rounds by rule: legal / title / images / sources / banned / quotable / length | 61 / 54 / 34 / 31 / 22 / 2 / 0 rounds | quality-lessons.jsonl parsed 2026-08-27, 102 records total (37 in July, 65 in August); legal-safety 61 splits into 54 missing counter-view + 25 missing disclaimer (some rounds failed both); banned-word rounds caught 12 forbidden + 11 high-risk occurrences |
| Passing gate stamps | Stamps total / first-try / round-2 / round-3 / round-4 | 61 = 46 + 15; 42 / 8 / 8 / 3 stamps | .gate.json counted 2026-08-27 (46 in articles/, 15 in daily/); 3 stamped on the measurement day; enforcement = 13 per-article push scripts in daily/ read the stamp and exit 1 without it — all 24 push scripts in the project root (checked individually) never reference gate.json |
| Gate dictionaries | Pain / banned / high-risk / disclaimer / counter-view word-list sizes | 69 / 12 / 5 / 8 / 15 entries | counted in quality-gate.py source 2026-08-27; 3 of the 15 counter-view markers are British-Steel fossils (英国政府说 / 英方 / 英方角度) from the 2026-07-18 article; pain dictionary applied to first 15 title characters |
| AI-judgment logging | Records with populated ai_issues column | 0 of 102 records | quality-lessons.jsonl 2026-08-27: record_issues is called with machine findings only — the 4 model judgments are never persisted; the 3-strikes promotion rule therefore only ever fires on regex failures |
The Analyst Desk: 85 Points of Fact, ±13 of Feeling, One Dead Cron
VERIFIED · Workstation openclaw workspace · evidence = US_STOCK_ANALYSIS_SOP.md (V4.1a, 2026-06-21), skills/sec-filing-monitor (MULTI_AGENT_FRAMEWORK_SUMMARY.md V2.0, 2026-03-16; STRESS_TEST_REPORT_20260314.md 10/10; v4_stress_test_report.json 26 pass / 4 warn / 0 fail, 2026-06-17), STOCK_REPORT_PRESSURE_TEST.md (9 sources, 2026-03-13), filings/US (49 files, 13 tickers) vs config/companies_mvp.json (14 companies), wechat-editor-team/daily stock artifacts, cron jobs.json · counted 2026-08-27 · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Score engine weights | Fixed fact base / correction envelope (peers + news + community) | 35% + 25% + 25% = 85; ±13 = ±5 + ±5 + ±3 percent / points | US_STOCK_ANALYSIS_SOP.md V4.1a; stress tests confirm weights sum to 0.85 (15% left for corrections) and the envelope: 85+13=98 clamped at 100, 85−13=72; news-vs-community conflict resolves −5 + 3 = −2 (news outranks mood) |
| Correction behavior in stress test | News adjustments on six mega-caps; extreme-positive vs extreme-negative caps | +3, +1, +2, +2, 0, 0; +3 vs −5 points | v4_stress_test_report.json 2026-06-17 (26 pass / 4 warn / 0 fail): T1 series adj values for AAPL/MSFT/AMZN/META/TSLA/NVDA; T5 extreme-negative hits the −5 floor, extreme-positive earns only +3 with the harness noting (in Chinese, ke yi geng ji jin) that the positive side could be more aggressive; consensus cage = Reddit posts qualify at 100+ upvotes, ±3 needs multiple subreddits plus HN, single-source posts annotate but never score |
| Verification gate generations | June 17 re-pull / June 27 claimed-vs-actual / July 12 dual-source | 29/29 points, 0 errors; 192.53 / −1.64% / −8.62% (claimed = actual); 7 tickers points / percent / tickers | wechat-editor-team/daily: 2026-06-17-stock-verification.json (dual_round_v2, 29/29 checked, coverage 100%), 2026-06-27-stock-verification.json (NVDA close 192.53, day −1.64%, week −8.62%, every pair equal), 2026-07-12-stock-verification.json (dual_source_cross_validation, yfinance × Sina); SOP marks the gate 'automatic, cannot be skipped', exit code 0 or nothing ships |
| Analyst desk output | Analysis posts / push records / verification files | 4 / 6 / 3 files | counted in wechat-editor-team/daily 2026-08-27; push records span June 29 to July 20; first V2-style piece 'Four Ways to Die' shipped July 17 at 5,290 characters with 3 images; style guide (July 19) transcribed from a human analyst — empathy hook, no price numbers in the first paragraph |
| Filings library vs config | Files on disk / tickers on disk / companies in config | 49 / 13 / 14 files / tickers / companies | filings/US tree vs config/companies_mvp.json (3 tiers, 5+5+4), both counted 2026-08-27; AMAT and ENPH listed in config but never downloaded; AAPL on disk but not in the config list |
| Desk lifecycle | Pressure test → monitor MVP → six-agent framework → V4 SOP → cron dead | March 13 (9 sources) → March 15 (10/10) → March 16 (6 agents) → June 21 → July 23 dates | STOCK_REPORT_PRESSURE_TEST.md (SEC EDGAR 403 until a User-Agent is declared, SGX five stars of difficulty, 9 sources probed); STRESS_TEST_REPORT_20260314.md 10/10 including 100 records in 0.00 seconds and 5 concurrent instances; MULTI_AGENT_FRAMEWORK_SUMMARY.md declares 6 agents production-ready 2026-03-16; cron jobs.json: US-stock job last ran 2026-07-23, error, disabled — shut down in the 22→4 contraction (Episode 19) |
The Audio Workshop: Six Voices on a Shelf, One Episode That Never Shipped
VERIFIED · Workstation openclaw workspace · evidence = voice-library/ (6 reference wavs + podcast_tts.py, counted 2026-08-27), podcast_tts_indextts.py (wc -l = 172), /tmp/index-tts checkpoints (du = 8.3 GB, contains qwen0.6bemo4-merge), podcast_script_* and podcast_timeline_* JSONs for 06-28 / 07-20 / 07-21 / 07-26 (parsed 2026-08-27), essay-era MP3s (06-14 to 06-26 mtimes), tts_ssml_test2.py, PENDING_PODCAST_DELIVERY.md, PODCAST-VIDEO-V3-WORKFLOW.md (2026-08-17) vs podcast_video_generator_v3.py (wc -l = 445), cron jobs.json (3 podcast jobs, all enabled=false) · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Casting shelf | Reference voices + scripts in voice-library (designed hosts vs real-speaker clips) | 6 + 1 = 7 files (4 designed hosts + 2 real-speaker clips) files | voice-library/ listing counted 2026-08-27: ai_female_host_ref.wav, ai_male_host_ref.wav, eng_female_host_ref.wav, eng_male_host_ref.wav plus 2 real-speaker reference clips and podcast_tts.py; house rule blurs cloned-voice identities — used, never named |
| Studio pipeline | TTS tool size / model footprint / output format | 172 lines; 8.3 GB checkpoints incl. a Qwen 0.6B; 192 kbps MP3 + timeline JSON lines / GB / kbps | wc -l on podcast_tts_indextts.py; du on /tmp/index-tts/checkpoints (bigvgan, semantic codec, w2v-bert-2.0, qwen0.6bemo4-merge — the voice engine carries its own small LM); script hard-codes libmp3lame at 192k and a per-segment timeline with start/end/text; reads edge-tts-format JSON whose rate/pitch fields it ignores for compatibility; monkey-patches torchaudio.save with soundfile |
| Episode output, June 28 to July 26 | Segments / duration / script length per episode | 36, 16, 27, 23 segments; 201, 393, 351, 385 seconds; 1584, 1378, 1496 characters segments / seconds / characters | timeline JSONs (06-28: 36 segs, last end 201 s; 07-20: 16 segs / 393 s, script 1584 chars + a compact cut; 07-21: 27 segs / 351 s, 1378 chars, plus a 42 MB video; 07-26: 23 segs / 385 s, 1496 chars, audio only); June 28 also shipped 3 video variants in podcast_output/ |
| The lost July 4 episode | Duration / size / delivery outcome | 5 minutes 50 seconds, 2 MB, never delivered time / MB / outcome | PENDING_PODCAST_DELIVERY.md: generated 2026-07-04 04:25, proxy tunnel to Telegram failed with an SSL error while domestic sites stayed reachable, status 'waiting for proxy recovery'; the .ogg file is absent from the workspace today — only the tombstone note remains |
| Shutdown and doc drift | Podcast cron jobs disabled / workflow-doc line count vs disk | 3 podcast crons disabled; doc says 344 lines, disk has 445 jobs / lines | cron jobs.json: news-podcast production job plus 2 daily AI-trend podcast jobs, all enabled=false (part of the 22-to-4 contraction, Episode 19); PODCAST-VIDEO-V3-WORKFLOW.md dated 2026-08-17 cites the generator as v3.3 at 344 lines while podcast_video_generator_v3.py measures 445 on 2026-08-27 — docs drift, wc -l does not |
The Model Stable: Two Days in June, One Evening in August
VERIFIED · Workstation model stable · evidence = du -sh on ~/models (23 GB gemma-4-12b-coder / 29 GB Qwen3.8-27B-AWQ / 18 GB Qwythos-9B-Claude-Mythos-5-1M, counted 2026-08-27), dir mtimes (06-19 / 08-18 / 06-25), ~/本地大模型部署全记录.md (v1.0 2026-06-26), ~/vLLM部署对比-Gemma vs Qwythos.md (2026-06-25), ~/gemma-coder-handbook.md (2026-06-19), ~/vllm-gemma4-tp2.log (2026-06-19), ~/models/download_qwen38.log + download_qwen38_awq.sh + start_qwen38.sh + vllm_qwen38.log (2026-08-18), ~/.openclaw/workspace/qwen38-eval/cc-q38.sh, live state 2026-08-27 (ps / nvidia-smi / ss / openclaw.json via jq) · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| The stable on disk | Model directories / sizes / arrival order | 23 GB coder + 18 GB reasoner + 29 GB workhorse = 70 GB total GB | du -sh on the three model dirs, 2026-08-27; arrival order from dir mtimes and logs: gemma-4-12b-coder 06-19, Qwythos-9B-Claude-Mythos-5-1M 06-25, Qwen3.8-27B-AWQ 08-18; hardware per deployment record: one 24 GB flagship card plus one 16 GB worker card |
| First horse boundary (the coder, June 19) | Project scale vs window / single-module debug / first serve attempt | 11,648-line project ≈ 100K tokens vs 32K window; 190-line module: 3 real bugs missed, 1 false positive; 600-second timeout on the first two-GPU attempt lines / tokens / bugs | gemma-coder-handbook.md (2026-06-19) tested conclusions — a code commentator, not a project detective; dir mtime 11:27, first two-GPU (tensor-parallel) serve attempt logged 11:43:55 dies waiting 600s for engine cores (VLLM_ENGINE_READY_TIMEOUT) |
| The June campaign (the 9B fallback) | Campaign duration / download speeds / pitfalls / room triage | 07:47 decision → 07:30 next-day conclusions; 300 KB/s proxy → 2.3 MB/s mirror (7×), 18 GB landed by 15:12; seven pitfalls; ten rooms: 4 capable, 3 degraded, 3 forbidden times / speeds / counts | deployment record v1.0 (2026-06-26): proxy estimate 17 hours with frequent disconnects, mirror switch at 13:10; tool-call parser found on the fifth attempt (reasoning + tool parsers must share the qwen3 family); 32K window overflowed on the framework's own 28K system prompt (error cites 28,673 input tokens) → 64K; a tool named web_search went uncalled until renamed internet_search; forbidden rooms include the article workflow needing 170K tokens of context; same-provider backups die together, so failover crosses providers (cloud primary, local 9B behind it) |
| The August evening (the 27B workhorse) | First byte → serving banner → Claude Code mounted / serving config | 14:41 download → 19:58 banner → 20:02 mounted = 5 hours 21 minutes; 38,912-token window; fp8 KV cache times / tokens | download_qwen38.log first line 2026-08-18 14:41:08 (domestic mirror, resume-safe script — June's download lesson promoted to infrastructure); vllm_qwen38.log banner 19:58:41 under the same vLLM 0.23.0 as June's logs; cc-q38.sh (mtime 20:02) forces an explicit effort level because Claude Code's default draws a 500 from this vLLM, and low is recommended for a 27B; the 4090D's CUDA index is probed at runtime because enumeration shifts between boots; the conda environment still carries the first horse's name; mount script notes 3-4 minutes to ready |
| Live state, 2026-08-27 | Uptime / VRAM occupancy / failover chain vs what actually runs | day 9 continuous at 95% of 24 GB; chain = glm-5.3 → local 9B only, 27B not in chain; fallback endpoint has no listener days / percent / state | ps shows the 27B vLLM process up since Aug 18; nvidia-smi: 23314/24564 MiB on the flagship card, 267 MiB on the worker card; openclaw.json read via jq: primary zai/glm-5.3, fallbacks [local-vllm/qwythos-9b], the 27B registered under a separate provider not referenced in defaults; ss finds no listener on the fallback endpoint and the 9B's serving log ends with a clean shutdown |
Model or Harness? Two Controlled Experiments on a 363-Line Hand-Rolled Coding Agent
VERIFIED · Local gemma-4-12b-coder served via vLLM (workstation GPU) vs cloud GLM-4.6 · identical 363-line Python harness · run traces as logged by the harness
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| mini-agent codebase (hand-rolled coding agent, no framework) | Lines of Python | 363 lines | Single file incl. dumb loop, tool layer with validation, vLLM fallback parser, finish(summary) protocol; counted 2026-08-27 |
| Controlled swap — same harness and task, model changed (fix clamp missing return) | Rounds to outcome | 15 (stuck) vs 4 (pass) rounds | gemma-4-12b-coder local vs GLM-4.6 cloud; 12B edited a hallucinated function 15 rounds, pytest 1 failed; GLM exact edit, 3 passed; temp=0 both; single run per cell, 2026-08 |
| Controlled swap — same model and task, system prompt changed (GLM-4.6) | Rounds to pass | 6 vs 7 rounds | Slogan prompt vs fully structured prompt; both 4 passed; structured adds scan-first opening and what-changed/risks/how-verified reporting; single run per cell, 2026-08 |
| Weak-model prompt rescue attempt (gemma-4-12b-coder) | Prompt variants that completed the task | 0 / 3 | Structured variant truncated to zero tool calls; slogan and weak-targeted variants hallucinated edit targets, ignored tool errors, reported fake success; 2026-08 |
| Code-level supervisor mechanisms (A1 edit-validation, A2 error-forcing, A3 finish-validation) | Mechanisms implemented and tested | 3 | Implemented in mini_agent.py; measured effect per experiment log: fake-success finish calls eliminated — honest failure remains for the 12B; 2026-08 |
The Model Exam: Seven Passes, Two Zeroes, One Home
VERIFIED · Workstation qwen38-eval directory · evidence = Q38压测报告-20260818.md (v2.0) + WORKLOG-20260818.md + run.py / run_tests.py (runners) + t1-t7 .md/.py pairs + A/B output files + toolA.py / toolB.py + verify.py + data.csv / empty.csv, all read 2026-08-27; DSH-side numbers from ~/.openclaw/workspace/memory/2026-08-18.md; six-rule file ~/.dsh/AGENTS.md still on disk; live state via ps / ss / nvidia-smi · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Baseline capability (seven coding tasks) | Pass rate / per-task time / output tokens | 7/7 pass; 13-142 seconds per task; 194-1834 output tokens; temperature 0.2 tasks / seconds / tokens | run_tests.py one-shot runner, 2026-08-18; answers extracted and executed against verify.py assertion scripts, not eyeballed; logged caveats: one answer hand-extracted (no code block), one key-name mismatch scored as verifier strictness, log-filter answer carried an example block before the code; on this serving stack the model's thinking leaks into the body; in-file headers of t1_basic.md to t7_messystyle.md carry the per-task times and token counts |
| A/B usage test (dedup command on the CSV tool) | Six logged requests: max_tokens / seconds / output | A 3000 → 223 s → 0 chars dead; A retry 8000 → 256 s → 1465 chars; B1 3000 → 125 s → 298 chars; B2 3000 → 58 s → 604 chars; B3 1500 → 123 s → 0 chars dead; B3 retry 6000 → 260 s → 468 chars tokens / seconds / characters | run.py, temperature 0.2, same task both groups; assembled tools toolA.py / toolB.py 53 lines each; one-shot passed all five verifier cases cleanly, split path passed four — on the missing-column case it errored to stderr but still printed the raw rows; split path's three good steps 443 seconds vs one-shot attempts 479; thinking burns 500-3,000+ tokens before the body starts (iron rule: max_tokens 6,000+); group B's missing-column print bug traced to the prompt's own return-original-list wording — toolB.py still carries it; B3 self-check (B3_check.md) caught that bug plus two more |
| Habitat race (tickets out of the 38,912-token window) | System-prompt cost / working space | Claude Code 24769 tokens = 64% of window, leaving 6.1K; terminal harness 7710 = 31% of that, 3.8× the working room; bare endpoint zero ticket tokens / percent / ratio | from the day's memory diary 2026-08-18: CC ticket designed for a 200K-token model; harness dialogue space ~23K; refused upgrades measured same evening: 48K window with CPU offload ran 3.7 tokens/s vs ~14 baseline (an 8,000-token answer = 36 minutes) — rejected; prefix caching would not start at that window, measured ceiling ~12 seconds a round vs 5,600 tokens of context — rejected |
| Six global rules, ON/OFF comparison | Injection cost / behavior delta | +241 tokens (7710 → 7951, 3.1%); correctness 5/5 both; prompt tokens 49394 rules-on vs 64907 rules-off tokens / percent / cases | ~/.dsh/AGENTS.md, six rules chosen to be harmless to the cloud model (read before edit / minimal changes / stop after two failures / ask when unsure / verify after change / split big jobs), still on disk 2026-08-27; same dedup task, same data, same five-case verifier, rules as the only variable; rules-on built a temp file to self-verify then cleaned up and asked about an ambiguity; cloud model told to refactor boldly correctly overrode the minimal-change rule — priority is protocol-level |
| The revival run and the verdict | Harsh task end-to-end cost / final assignment | log-filter job 68984 tokens in-harness; verdict 21:05 — harness = home, bare endpoint = pipelines, Claude Code keeps cloud model, wrapper kept as spare tokens / assignments | per the memory diary: the log filter re-run on the bare endpoint that evening died zero-character; in-harness it met every requirement (case-insensitive filter, ascending order, ValueError, original function preserved, example runnable); the model caught the verifier expecting 3 where the fixture holds 2 and stopped to ask which side was right — rule four as designed; live state 2026-08-27: the serving process up since 2026-08-18 still holds the GPU |
The Brain Swap: Ten Backups, One Insurance Card, No Standby Factory
VERIFIED · Workstation ~/.openclaw/ backup strata, read 2026-08-27 · evidence = ten-file openclaw.json layer (parsed per file for primary/fallback/catalog), json-diff of rolling .bak.4 vs .bak.3, memory diaries 2026-08-15.md / 2026-08-18.md / 2026-07-03.md, ~/.claude/ settings strata, article counts via ls|wc -l · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Backup strata (openclaw.json layer) | File count / span / size growth | 10 files; 2026-03-29 10:53 to 2026-08-18 18:39; 2,459 bytes to 7,540 bytes files / dates / bytes | one live config + 5 rolling (.bak to .bak.4) + 4 named (backup-glm5, backup-before-glm51, backup-before-glm53, backup-0818-notify); backup-glm5 verified the oldest file in ~/.openclaw by find|sort on mtime; named backups are hand-made before each migration, rolling ones are platform routine |
| First brain transplant (glm-5 to glm-5.1) | Age at transplant / staging state | 118 minutes after birth; 03-29 10:53 → 12:51 same day minutes / timestamps | backup-glm5 shows primary zai/glm-5, single model, alias GLM, no fallbacks; backup-before-glm51 (12:51) shows glm-5.1 already staged in the catalog while primary is still glm-5 — stage, back up, then flip, all on day one |
| The evidence gap (glm-5.1 to glm-5.2) | Days between named backups / corroborating waypoints | 139 days silent, 03-29 12:51 to 08-15 21:05 days | no named backup exists for the 5.1→5.2 flip; 5.2 appears as primary inside backup-before-glm53; sideways evidence: memory diary 2026-07-03 already tests glm-5.2 as default, and the 2026-06-26 deployment record (cited in episode 14) discusses 5.2 as the cloud primary; reported as an honest gap, not reconstructed |
| August 15 double swap (5.2 → 5.3) | Day-shift output / surgery timeline / protocol items | 20 articles 14:38-19:21 (17 digests in 13 minutes + 3 evening); Claude Code 20:52-21:00, backup 20:54; OpenClaw 21:08, named backup 21:05; 4-item protocol articles / timestamps / items | article counts from wechat-editor-team/articles/ filenames via ls|wc -l; CC edits: model, opus mapping, availability list, Sonnet/Haiku mappings untouched; OC flip via gateway config.patch (validated merge, not hand edit), 3 edits; protocol per diary 2026-08-15.md: dual-route precheck, named backup, insurance card (rollback command sent to the human before self-restart), fallback chain frozen at qwythos-9b; side discovery: 5.2 requests returned labeled 5.3 on both routes; 21:17-21:28 Anthropic-route test entry added then fully removed after user correction, captured by rolling .bak.4 (21:18) and .bak.3 (21:27) |
| Aftermath and catalog end-state | Post-swap production / catalog size / chain shape | 1 article on 08-16, 6 on 08-17; 7 catalog entries; primary glm-5.3 with 1 local fallback articles / entries / rungs | 27B registered 08-18 18:40 under provider local-vllm-qwen38 with supportsTools on (without it OpenClaw does not pass tools, per diary), alias usable via /model; catalog seat only — not primary, not in the fallback chain; catalog = glm-5, glm-4.7, glm-5.1, glm-5.2, glm-5.3, qwythos-9b, qwen3.8-27b |
What Should an AI Legion Do While You Sleep? 22 Cron Entries, Four Still Lit
VERIFIED · Workstation openclaw cron daemon · evidence = jobs.json, 7 backup snapshots, 27 per-job JSONL run logs · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Cron schedule after the contraction | Job entries in file vs currently enabled | 22 / 4 jobs | jobs.json read 2026-08-27; the 18 disabled include both duplicated noon entries; enabled are the YouTube material drop, two video-topic asks, and the arXiv digest |
| The auto-publishing era, aggregate | Finished runs vs runs ending in status error | 790 / 154 runs | 27 run logs, action=finished lines; error status includes timeouts whose work may have partially completed; no failure taxonomy claimed |
| Old-guard lifespan | First cron run to last pre-cut run | 116 days | 2026-03-29 21:27 (off-schedule manual first fire) to 2026-07-23 08:00, Asia/Shanghai; the cut itself left no log line, dated by the runs going silent |
| Silence between empires | Last pre-cut run to first relit run | 25 days | 2026-07-23 08:00 to 2026-08-17 16:31 (YouTube material drop, off-schedule manual fire), Asia/Shanghai |
| Peak concurrent enablement | Most jobs lit at once (observed) | 16 jobs | Backup snapshots 2026-07-05 (16 of 16) and 2026-07-08 (16 of 17); observed maximum, not a proven ceiling |
Bug Diaries: 9 Failure Files, 158 Days, and the Root Cause It Got Wrong
VERIFIED · Workstation openclaw workspace failure archive · evidence = 9 dedicated failure documents (memory/ lesson files, root-level LESSON volumes, wechat-editor-team archive) + cron jobs.json payloads · timestamps Asia/Shanghai
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Dedicated failure-document corpus, inventoried | Files whose sole purpose is recording failure | 9 documents | 4 lesson files in memory/ (2 filename spellings) + 1 failed-test note + 3 root-level volumes + the 901-line team archive; beside, not inside, the per-article loop episode 9 measured at 102 lines |
| Failure library span | First file timestamp to final save | 158 days | 2026-03-14 12:25 (first lesson file) to 2026-08-19 11:48 (final save of the team archive); all read live 2026-08-27 |
| Founding cluster | Failure documents created in the opening burst | 5 documents | 2026-03-14 12:25 to 2026-03-15 21:08, under 33 hours: NeMo article lesson, browser-tool write-up (2 hours, 20 headlines, 0 relevant, value produced 0), RAG test at 15 percent (0 of 3 real queries; 8 of 401 chunks usable), media-tier collapse (0/0/7 tiers, fixed in 29 minutes), and the review rota |
| Image-failure recurrences after first lesson | Documented repeat occurrences of the image class | 4 recurrences | lesson filed 2026-03-29; relapses 2026-06-14 (zero images), 2026-06-23 (external URLs not rendered), 2026-07-12 (stale images reused); 77 days from lesson to first relapse; the archive's own top-5 table ranks image failures No. 1 at 4-plus |
| Step-0 read order wired into scheduler payloads | Job definitions whose prompt orders reading the error archive first | 8 job payloads | grep over cron jobs.json 2026-08-27; all 8 disabled since the contraction episode 19 described — enforcement stamped into prompts, then darkened with the schedule |
The LangGraph Autopsy: 12 Green Imports, 668 Silent Seconds, One 203-Line Survivor
VERIFIED · AWS brain-node orchestrator (~/orchestrator) · evidence = WORKLOG.md entries of 2026-08-12/13 (UTC convention) + live code and venv read 2026-08-27 · run timings as recorded in the log, not re-run
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| First true run stall | Time spent polling without advancing | 668 seconds | T5 end-to-end test, logged 13:33 UTC 2026-08-12; submission succeeded (prompt_id 6f476a70) and the render finished on the GPU box — the state machine never learned; run timing from the work log, not re-run |
| Load-bearing lifetime of the LangGraph layer | Skeleton-complete log entry to deletion log entry | 90 minutes | 12:35 to 14:05 UTC 2026-08-12; skeleton = 12 modules import-green, 9 nodes, conditional routing, sqlite checkpointer with tables built; deletion kept the node functions and DB (4 business tables), dropped the framework layer and its 2 orphaned checkpointer tables |
| Rewritten engine, same flow | End-to-end completion time | 163 seconds | 13:59 UTC 2026-08-12, 26 minutes after the stall was logged; the audit printed a poll_done line for the first time — proof the poll node had never executed under the framework; next-morning north star (2026-08-13 11:16) ran the same chain in 27 seconds, user-confirmed |
| Fault-injection harvest | Bugs sharing one root | 4 bugs | T6 injections 2026-08-12: fatal segmentation (dead with the deleted layer), stage field desync, delivery counter that ignored the send's return value, poller with zero tolerance for one SSH hiccup; root = zero tolerance plus false done; entry reconstructed from a 612-event session transcript |
| Survivor size, read live | engine.py line count | 203 lines | read 2026-08-27; package code carries 0 langgraph imports with exactly 2 comment tombstones (nodes.py, db.py) and the graph directory gone; the pip package still sits in the venv, unimported; the engine now routes 3 kinds of work — image, digest, retrieval Q&A |
The Security Handcraft: 12 Fossil Scripts, One Live Key, Zero Leaks in Print
VERIFIED · 3-machine fleet, all evidence gathered 2026-08-27 · workstation: config field-path counts (values never printed), source-code pattern scans, on-box getMe probes through the fleet's own proxy — token strings compared by hash and never left the machine · AWS: orchestrator secrets/logging code read live, permission bits verified · publication scan across all 23 posts in this repository
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Single credentials home on the workstation | Scalar fields in the one config file that holds credentials | 138 fields | of which 6 are credential-shaped — 3 apiKey entries, 1 appSecret, 1 botToken, 1 token — plus the proxy address; file mode 600, owner-only, verified 2026-08-27; counted by field-path names only, no values printed |
| Inline-token fossil lane | Legacy scripts carrying one identical hardcoded token | 12 scripts | news-push v3/v4/v5, hotspot-monitor skills, social-trend monitors, a reddit monitor, and video-batch helpers; every copy byte-identical (one distinct hash) and 46 characters long; no scheduled job invokes any of them since the Episode 19 contraction; neither this directory nor its parent is a git repository |
| Live strings, one bot | Distinct token strings authenticating against the same bot | 2 live strings | getMe returned ok=true for both the config string and the inline fossil on 2026-08-27, identical bot id; probed on the workstation through its own proxy so neither string left the machine; compared by hash, never by value; no bot identifiers published |
| Publication gate across the whole library | Secret-pattern hits across every published post | 0 hits | machine scan of all 23 published posts for Telegram-token, sk-, ghp-, and AKIA-shaped strings, 2026-08-27; the same-day source scan on the workstation found 16 matching code files — 12 ours, 4 upstream test fixtures from a packaged retrieval project |
| Ritual receipts in the work log | Work-log entries recording a pre-push secret scan | 5 receipts | machine-counted 2026-08-27; the ritual greps each episode's two files for token, group-id, port, and proxy patterns before every push; both credential homes re-verified mode 600 today (workstation config file, orchestrator secrets file) |
The Token Ledger: 261,720,417 Tokens, 147 Re-reads per Token Written
VERIFIED · workstation, all evidence gathered 2026-08-27 · the main agent's 93 session transcripts parsed on-box, usage fields summed across 3,931 metered assistant turns, per-month and per-model cross-tabs computed, whale-session totals re-read individually, cost fields audited on every turn (2,689 nonzero, all February–March, totaling 52.27, currency field null) · component arithmetic re-verified: 38,875,077 + 1,769,499 + 221,075,841 + 0 = 261,720,417
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Total metered consumption, main agent | Tokens recorded in usage fields across all sessions | 261,720,417 tokens | 93 session transcripts spanning February 1 to August 27, 208 days, 3,931 metered assistant turns; components re-summed: input 38,875,077 plus output 1,769,499 plus cacheRead 221,075,841 plus cacheWrite 0; cost fields audited on every turn — 2,689 nonzero, all in February and March (February 24.24, March 28.03), totaling 52.27 with a null currency field; every turn since the June restart reads zero |
| Composition of the burn | Cache-read share of total tokens | 84.5 percent | 221,075,841 of 261,720,417; fresh input 38,875,077 is 14.9%, output 1,769,499 is 0.68%; read-to-write ratio 147:1 — 259,950,918 context tokens in against 1,769,499 out; average metered turn roughly 66,580 in, about 450 out |
| Founding-era concentration | Share of the ledger burned in February and March | 71.6 percent | February 91,168,392 across 9 sessions and 1,302 turns plus March 96,182,265 across 28 sessions and 1,391 turns equals 187,350,657; February ran over three million tokens a day versus about 1.2 million now (July 34,679,955; August 31,743,159 through day 27); largest single session began February 19 — 298 turns, 31,989,653 tokens, 12.2%, averaging 107,350 per turn; top three sessions 69,171,676, or 26.4% |
| The silence | Days of zero metered turns between March and June | 75 days | last March entry March 29 at 12:53 UTC, two minutes after the glm-5.1 swap Episode 18 dated to 12:51; first entry back June 12 at 21:33 UTC, the same day the diary resumed in Episode 6; April and May record nothing; three independent systems agree |
| Local fallback usage | Metered turns served by the local 9B fallback | 17 turns | 672,468 tokens, 0.26% of the ledger, all in June, provider local-vllm/qwythos-9b; the 27B serving Claude Code (Episode 14) runs on a separate harness and is off this cloud ledger; 586 turns totaling 44,334,074 carry no model header and remain unattributed |
The Human Ledger: 26 Drops, 191 Pieces Behind One Phone, Five One-Line Rulings
VERIFIED · workstation + fleet records, all evidence gathered 2026-08-27 · chat-runtime inbound folder re-listed entry by entry with extension breakdown, wechat-editor-team archive recounted by extension (html only: 72 articles + 105 daily + 14 archive), all 61 article-*.gate.json records parsed for retry-round histogram, full-tree freepublish grep re-run (0 hits), agent diary 2026-08-19.md line 25 read, openclaw.json backup list re-statted · token and turn totals cross-referenced from Episode 24's published measurement
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| Touch one, dropped material | Entries in the chat-runtime inbound folder | 26 entries | window 2026-02-19 through 2026-08-08, 171 days, about one gesture a week; composition by extension: 15 jpg, 6 png, 2 voice clips (ogg), 2 PDFs, 1 extension-less investigation bundle; Episode 4's '26 jpg files' corrected here — 15 jpg among 26 |
| Touch three, pieces behind the phone ceiling | Finished html pieces in the WeChat archive | 191 html files | 72 articles + 105 daily + 14 archive, modification dates 2026-06-15 through 2026-08-27 (newest written today); 0 freepublish call sites in the checked-in tree re-grepped 2026-08-27, draft box is the API ceiling, each piece that shipped shipped through one phone tap — tap count is architecture-implied, not logged; separately 4 paste-ready Reddit/HN packages sit at 0 clicked |
| Machine self-stamps on the same production line | Quality-gate records with no human field | 61 records | per-article records — 46 on the articles line, 15 on the daily line; each record holds 7 machine checks (machine_checks 7, machine_passed 7) plus pass flag and timestamp; retry-round histogram 42 first-pass, 8 second, 8 third, 3 fourth — the seven machine checks are the gate, the human is the exit |
| One-line rulings receipted by machines | Verdicts that reversed a machine conclusion, 208 days | 5 rulings | August 11 token-leak doctrine (Episode 23 record), August 13 one principle three machines (Episode 5 record), August 15 21:17 redundancy call on brain-swap night (Episode 18 record; the named pre-swap backup from 21:05 survives, that night's rolling-backup fossils have since been rotated away), August 19 11:47 root-cause reversal verified today at agent diary 2026-08-19.md line 25, August 25 contract terms (Episode 4 record) |
| Tokens per logged human act | Episode 24 machine ledger divided by the human column | 1,163,202 tokens per act | 261,720,417 tokens and 3,931 turns across 208 days against roughly 225 logged acts (26 drops + 3 gate interactions + 191 tap-capped pieces + 5 rulings); about 17 machine turns per act, about one logged act per day; treating every finished piece as one tap makes 225 an upper bound on acts, so the per-act ratio can only be higher |
The Loop Closes: What One Man and One Legion Answered to a Turbulent Era
VERIFIED · this site's own repository, all evidence gathered 2026-08-27 · series statistics computed from the published corpus itself — post, arc, and episode-number counts from the posts collection frontmatter, body-word totals summed after stripping frontmatter, measurement-entry count from the ledger collection · every cross-referenced figure (261,720,417 tokens, 147:1, 84.5%, 52.27, 18 of 22, 191 pieces, 5 rulings, roughly 225 acts) re-grepped verbatim from the published episode bodies on the day of writing
Measured 2026-08-27
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| The completed series | Posts in One Man One Legion at completion | 24 posts | one anchor (seriesOrder 0) plus 23 episodes; episode numbers 8, 15, and 22 were never issued, so episode 26 by numbering is the 23rd by count; all 24 posts carry the same frontmatter date, 2026-08-27 — counted from the posts collection the day the finale was written |
| Arcs lit at completion | Series arcs and their episode counts | 5 arcs | The Workshops 7 episodes (1, 7, 9, 10, 11, 12, 13), War Stories 5 (6, 19, 20, 21, 23), The Engine Room 4 (14, 16, 17, 18), The Cockpit 4 (2, 3, 4, 5), The Ledger 3 (24, 25, 26) — read from frontmatter across the 23 episode files |
| Public ledger entries filed by the series | Measurement entries across the series yaml files | 121 ledger entries | 116 counted across the 23 series yaml files preceding the finale on 2026-08-27, plus 5 in this episode's own file; every entry's value mirrors a number printed in its post body — the preflight mirror check enforces this per post |
| Corpus size | Body words across the series | 21,818 words | whitespace-split after stripping each post's frontmatter, summed across all 24 posts including this finale in its final amended form, computed on 2026-08-27 — the count moves with any future edit, this is the completion-day reading |
| The closing ratio | Machine tokens per logged human act | 1,163,202 tokens per act | Episode 24's 261,720,417 metered tokens over 208 days divided by Episode 25's roughly 225 logged acts (26 drops + 3 gate interactions + 191 tap-capped pieces + 5 rulings); to the nearest act — treating every finished piece as one tap makes 225 an upper bound, so the ratio can only be higher |
Can a Static Blog Hand AI Agents Real Tools? Wiring ARD + MCP into an Astro Site (Measured)
VERIFIED · Astro 5.18.2 static build on AWS Seoul node (2 vCPU) · Vercel global CDN + one Serverless Function · web-stack timings, no GPU
Measured 2026-08-26
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| SigPulse agent interface (commits 8eeb3ec + 4b2db6f) | Push-to-live deployment latency | 12–18 s | Single observation, 6 s polling granularity (live by the 4th check at t≈18 s); GitHub push → Vercel auto-build of 13 files (+950 lines) |
| sigpulse.com /api/mcp (359-line stateless Serverless Function) | tools/call end-to-end latency — first call in run | 0.90 s | curl POST sigpulse_search from AWS Seoul node to production, 5-sample run, 2026-08-26; mechanism (cold vs warm start) not observable from outside |
| sigpulse.com /api/mcp (359-line stateless Serverless Function) | tools/call end-to-end latency — follow-up calls | 0.28–0.34 s | 4 samples immediately after the first call, same node and endpoint; same method |
| Agent-facing static artifacts (posts.json + watch.json + openapi.json + agents.md + ai-catalog.json) | Total payload size for full first-contact fetch | 37305 B | ≈36.4 KiB; per-file: posts.json 4,138 B · watch.json 11,186 B · openapi.json 14,394 B · agents.md 3,163 B · ai-catalog.json 4,424 B; dist output byte-identical to live production |
| sigpulse_search (MCP tool, commit 4b2db6f) | Natural-language query hit count, phrase-only vs all-terms fallback | 0 → 1 hits | Query 'DeepSeek price': 0 hits with phrase-only substring matching (pre-fix), 1 hit after all-terms-must-match fallback; control queries 'helium export ban' → 1 hit, 'InfiniteTalk VRAM' → 3 typed hits |
| /api/mcp under burst load | 20-concurrent mixed-request success rate | 20/20 | Mixed posts.json/watch.json + tools/list + tools/call(sigpulse_search) burst from one AWS Seoul node, 2026-08-26; latency p50 0.25 s, p95 0.34 s, max 0.35 s, wall 0.4 s |
| Agent interface declared-vs-actual conformance (11-hypothesis adversarial pass) | Gaps found and fixed | 5 gaps | limit:-1 slice truncation, limit:0 zero-return with full count, empty-query match-all (30 hits), missing-query literal-'undefined' match, undeclared OpenAPI security (7 redocly errors); all fixed in eae3a23 (+31/−4), re-verified live same day |
| Real MCP client end-to-end (Claude CLI → production /api/mcp) | Autonomous tool calls answering 3 fact questions | 4 calls | Client planned 4 calls unprompted (first 3 in parallel, passed limit 1000 unasked); all facts verified correct incl. Chinese original title 「DeepSeek涨价背后,一个时代结束了」 and 2026-08-14 original date; 2026-08-26 |
InfiniteTalk Dies at torch.load: the Error Tells You to Upgrade torch — the Measured Fix Is Pinning transformers 4.52.0
VERIFIED · RTX 4090D 24GB + RTX A4000 16GB dual-GPU workstation (Ubuntu 24.04, conda, Python 3.10)
Measured 2026-02-19
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| InfiniteTalk 14B fp8 restore, transformers 4.57.3 on torch 2.4.1 | Launch outcome | Blocked at torch.load (CVE-2025-32434 ValueError) | Gate fires in transformers check_torch_load_is_safe when the wav2vec2 .pt loads; time-to-fail 18.0–18.6 s, three consecutive attempts, 2026-02-19; safetensors loads exempt |
| InfiniteTalk 14B fp8 stack, torch upgraded to 2.10.0+cu128 | Stack outcome after upgrade | 5 simultaneous breakages | pip: torchaudio 2.4.1+cu124 / torchvision 0.19.1+cu124 / xformers 0.0.28 all require torch==2.4.1; runtime: operator torchvision::nms does not exist; diffusers JITCallable._set_src() import failure; flash_attn_2_cuda undefined symbol; xformers built-for-cu121 warning — 2026-02-20, rolled back same morning |
| InfiniteTalk 14B fp8 restore, transformers 4.49.0 on torch 2.4.1 | Launch outcome | Imports, dies in xfuser→diffusers import chain | Passes the torch.load gate but fails at runtime inside xfuser's diffusers imports, 2026-02-20 |
| InfiniteTalk 14B fp8 restore, transformers 4.51.0 on torch 2.4.1 | Launch outcome | Imports, dies in xfuser→diffusers import chain | Same failure mode as 4.49.0, 2026-02-20 |
| InfiniteTalk 14B fp8 restore, transformers 4.52.0 on torch 2.4.1 | Launch outcome | Reaches pipeline initialization + quantized T5 load | Only version in the 4.49/4.51/4.52/4.57 sweep to pass every wall; full pins: torch 2.4.1, torchvision 0.19.1, xformers 0.0.28, flash-attn 2.8.3; final-run completion unrecorded (log ends 'Process still running') |
| InfiniteTalk 14B fp8 deepest pre-fix run (2026-02-19 15:02) | Time-to-fail | 277.5 s | Died with missing quantized-weight keys audio_proj.proj1.output_scale / .weight._scale / .weight._data; cause never root-caused, did not recur in later launches |
| InfiniteTalk 14B fp8 full launch, pre-fix environment (2026-02-20 07:55) | Time-to-fail | 13 s | 07:55:24 start → 07:55:37 dead at wav2vec2 torch.load CVE gate; passed GPU init and split-GPU setup first |
Can You Run InfiniteTalk on Two Consumer GPUs? Yes — at 218.5 s/step (RTX 4090D + RTX A4000, Measured)
VERIFIED · RTX 4090D 24GB (main DiT) + RTX A4000 16GB (VAE/aux) · Xeon Gold 6258R · 503GB RAM · Ubuntu 24.04
Measured 2025-11-29
| Subject | Metric | Value | Conditions |
|---|---|---|---|
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | Denoising step time (20-block semi-resident baseline) | 218.5 s/step | 480P tier, streaming mode, sample_steps 15, motion_frame 9, TeaCache 0.15, fp8 quant, T5 on CPU, dual GPU (CUDA_VISIBLE_DEVICES=0,1); preserved engineering report from the measurement window |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | Denoising step time (24-block residency) | 217.1 s/step | +0.64% vs 20-block baseline for ~1.7GB more VRAM (A4000 10.21→11.99GB, 4090D 22.1→23.2GB); preserved engineering report |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | Generation time per 81-frame clip | 49–54.6 min | DERIVED: 15 steps × 218.5 s/step = 54.6 min; report's own stated figure ~49 min (unreconciled, both published); 81 frames ≈ 5.06 s at Wan2.1 480P 16 fps → ≈647× slower than realtime; fps not captured in logs |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | VRAM residency during generation — RTX 4090D | 22.1 GB | 24GB card (~92%); semi-resident blocks 0-19 + pinned patch embedding; preserved engineering report |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | VRAM residency during generation — RTX A4000 | 10.21 GB | 16GB card (~64%); VAE encode + auxiliary compute, no FP8 support, no VAE tiling (run-log warning); preserved engineering report |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) on Wan2.1-I2V-14B-480P | System RAM usage during generation | 23 GB | 503GB available; CPU-side blocks 20-39 streamed from system RAM; preserved engineering report |
| InfiniteTalk 14B fp8 (infinitetalk_single_fp8.safetensors) | Checkpoint file size | 19,499,692,400 bytes | Byte-exact from disk listing (≈18.2 GiB); fp8 single-person variant; int8 and multi variants each ≈19.5GB |
| InfiniteTalk 14B fp8 on Wan2.1-I2V-14B-480P install | Disk footprint — weights tree (measured, du) | 241.8 GB | 2026-02-01, seven quantization variants on disk; minimum working set ≈104GB (19.5GB fp8 + 77GB Wan2.1 base + 6.7GB T5 fp8 + 1.5GB wav2vec2); whole project incl. env/caches recorded up to ~488GB |