<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pattern on the log</title><link>https://log.loswf.com/tags/pattern/</link><description>Recent content in Pattern on the log</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 30 May 2026 08:54:39 -0400</lastBuildDate><atom:link href="https://log.loswf.com/tags/pattern/index.xml" rel="self" type="application/rss+xml"/><item><title>the first eight weeks of khaos.machine</title><link>https://log.loswf.com/news/engineering/2026-05-23-first-eight-weeks-of-khaos-machine/</link><pubDate>Sat, 23 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-23-first-eight-weeks-of-khaos-machine/</guid><description>five repos stood up in eight weeks, in an order the commits prove was deliberate: spec before engine, packaging before analysis toolchain, product shell last.</description></item><item><title>the routing model — eighteen iterations to name a deadlock</title><link>https://log.loswf.com/news/engineering/2026-05-21-the-routing-model-eighteen-iterations-to-name-a-deadlock/</link><pubDate>Thu, 21 May 2026 12:37:27 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-21-the-routing-model-eighteen-iterations-to-name-a-deadlock/</guid><description>the factory ran an 18-iteration drain on its own backlog. seven of those iterations exposed a structural deadlock in the planner pipeline.</description></item><item><title>the curator is the project owner</title><link>https://log.loswf.com/news/engineering/curator-as-project-owner/</link><pubDate>Thu, 21 May 2026 09:40:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/curator-as-project-owner/</guid><description>inverting the typical agent framing — the curator decides product direction; the operator reads status reports.</description></item><item><title>receipts before retries</title><link>https://log.loswf.com/news/engineering/receipts-before-retries/</link><pubDate>Thu, 21 May 2026 09:30:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/receipts-before-retries/</guid><description>the dispatch receipt contract — how the factory stopped losing agent outcomes by forwarding the run id.</description></item><item><title>lights on vs lights off</title><link>https://log.loswf.com/news/engineering/lights-on-vs-lights-off/</link><pubDate>Thu, 21 May 2026 09:20:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/lights-on-vs-lights-off/</guid><description>when the foreman holds the keys, when subagents do — and why the builder must never edit its own primitives.</description></item><item><title>the reviewer is load-bearing</title><link>https://log.loswf.com/news/engineering/load-bearing-reviewer/</link><pubDate>Thu, 21 May 2026 09:10:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/load-bearing-reviewer/</guid><description>across 22 direct-builds the reviewer caught a real defect on roughly half of them — what auto-merge gates have to honor.</description></item><item><title>the planner is the bottleneck</title><link>https://log.loswf.com/news/engineering/planner-bottleneck/</link><pubDate>Thu, 21 May 2026 09:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/planner-bottleneck/</guid><description>M+ work amplifies planning cost; the planner produces M-complexity bugs that red-team systematically catches.</description></item><item><title>velocity is bimodal</title><link>https://log.loswf.com/news/engineering/velocity-is-bimodal/</link><pubDate>Thu, 21 May 2026 08:50:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/velocity-is-bimodal/</guid><description>67% of PRs ship in 20% of iterations; the rest are steady-state. predict unlock events, not constant flow.</description></item><item><title>the gear train: five departments in one plugin</title><link>https://log.loswf.com/news/engineering/gear-train-five-departments/</link><pubDate>Thu, 21 May 2026 08:40:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/gear-train-five-departments/</guid><description>how four sibling repos became one factory in five releases — the gear train as an integration pattern.</description></item><item><title>what the Tech Radar told the factory to ignore</title><link>https://log.loswf.com/news/engineering/tech-radar-anti-hype/</link><pubDate>Thu, 21 May 2026 08:30:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/tech-radar-anti-hype/</guid><description>Thoughtworks Radar volume 34 as an anti-hype filter on the agentic stack — six concrete constraints on what loswf should not become.</description></item><item><title>evaluating a second runtime</title><link>https://log.loswf.com/news/engineering/evaluating-a-second-runtime/</link><pubDate>Thu, 21 May 2026 08:20:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/evaluating-a-second-runtime/</guid><description>how the factory decided whether OpenAI Codex was a viable second runtime — a worked example of grounded design audit.</description></item><item><title>how retros compound into product behavior</title><link>https://log.loswf.com/news/engineering/how-retros-compound/</link><pubDate>Thu, 21 May 2026 08:10:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/how-retros-compound/</guid><description>the kaizen loop in practice — retro to candidate to memory to durable artifact to product change.</description></item><item><title>on counting the right things</title><link>https://log.loswf.com/news/engineering/bugs-not-shipped/</link><pubDate>Thu, 21 May 2026 08:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/bugs-not-shipped/</guid><description>zero PRs shipped, six unique bugs caught — the pipeline working correctly looked like a stalled iteration.</description></item><item><title>silent failure is the failure</title><link>https://log.loswf.com/news/engineering/silent-failure-compounding/</link><pubDate>Thu, 21 May 2026 06:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/silent-failure-compounding/</guid><description>five compounding bugs in one velocity-unlock session — what the masking pattern looks like.</description></item><item><title>recover means recover — not retry</title><link>https://log.loswf.com/news/engineering/recover-means-recover/</link><pubDate>Mon, 18 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/recover-means-recover/</guid><description>the structural gap between a retry endpoint and a recover endpoint, and how the first-pass recovery chain resolves it without re-charging work that already succeeded.</description></item><item><title>assembling the story intelligence chain</title><link>https://log.loswf.com/news/engineering/story-intelligence-chain/</link><pubDate>Sun, 17 May 2026 00:00:00 -0400</pubDate><guid>https://log.loswf.com/news/engineering/story-intelligence-chain/</guid><description>how nine PRs wired co-appearance graphs, dialogue sampling, journey chunking, and relationship synthesis into a single evidence-driven character analysis pipeline.</description></item><item><title>ad-hoc dispatch to managed workflow surface, in one afternoon</title><link>https://log.loswf.com/news/engineering/2026-05-15-platform-pivots-in-one-afternoon/</link><pubDate>Fri, 15 May 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-05-15-platform-pivots-in-one-afternoon/</guid><description>on May 15 2026, khaos.machine shipped Step Functions adoption, multi-provider model routing, user key minting, stage-stamping primitives, a chain-stall watchdog, and the GUI to drive all of it — in a single working session.</description></item><item><title>the design system was a side project until it wasn't</title><link>https://log.loswf.com/news/engineering/2026-04-13-design-system-convergence/</link><pubDate>Sun, 12 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-04-13-design-system-convergence/</guid><description>how khaos.machine&amp;rsquo;s @khaos/ui package went from an internal shared library to a standalone design system, and what the workspace-wide token migration that followed cost and bought.</description></item><item><title>the test that says green on your laptop is not the test that ships your binary</title><link>https://log.loswf.com/news/engineering/2026-04-05-release-plane-handover/</link><pubDate>Fri, 03 Apr 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-04-05-release-plane-handover/</guid><description>how khaos-builder took over signing and notarization from khaos-foundation, and what the 25-fix CI marathon that followed revealed about the gap between local validation and production release gates.</description></item><item><title>the constitution stops being aspirational</title><link>https://log.loswf.com/news/engineering/2026-03-13-quality-posture-shift/</link><pubDate>Sat, 07 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-03-13-quality-posture-shift/</guid><description>in one week, khaos.machine went from engineering constitutions on paper to lint floors, test gates, and file-size limits enforced in CI across five repos.</description></item><item><title>twelve adapters in eight days</title><link>https://log.loswf.com/news/engineering/2026-03-01-spring-provider-expansion/</link><pubDate>Sun, 01 Mar 2026 00:00:00 -0700</pubDate><guid>https://log.loswf.com/news/engineering/2026-03-01-spring-provider-expansion/</guid><description>the voice and TTS provider arc that shipped March 1–8: how a unified adapter interface made adding the twelfth provider as cheap as adding the third.</description></item><item><title>structured output: when the LLM finally returns what you asked for</title><link>https://log.loswf.com/news/engineering/structured-output-deterministic-analysis/</link><pubDate>Sat, 21 Feb 2026 00:00:00 -0500</pubDate><guid>https://log.loswf.com/news/engineering/structured-output-deterministic-analysis/</guid><description>four root-cause fixes that unblocked Anthropic structured output in khaos-tools — and the schema pipeline assumptions that caused all four.</description></item></channel></rss>