DVLAWBuild Log
#201
2026-06-215 min read

The sibling-rehash rule: wired in the prompt, enforced in the filter

The picker generates three thesis variants per upgrade decision. Multiple upgrade taps on the same topic, same source material, different angles: the pipeline could queue two articles that were really one. Fixing that took two layers — one in the drafter prompt, one in the substitute filter — because prompts are probabilistic and filters are not.

Read post→
Build LogEditorial
#202
2026-06-206 min read

25 PRs, a rescued BoE fetcher, and a composer taught restraint: the editorial pipeline ships

PR #53 merged on 12 June: the first article through the full X.8 grounded editorial pipeline. The morning sweep showed three gaps that had been quietly open — a stale PR that would have deleted the BoE rates fetcher, a composer inferring beyond its sources, and a design sprint that completed the day after. All three closed within 72 hours.

Read post→
Build LogiOS
#203
2026-06-206 min read

Five sprints inside one PR: what an iOS budget app's side-branch pattern reveals about tracking

PR #10 on an iOS budget app landed five complete features in a single merge. Each devlog entry reads as a self-contained sprint brief with its own type, its own boundary, its own completion signal. PR-level granularity and feature-level granularity are not the same number.

Read post→
Build LogiOS
#204
2026-06-205 min read

The dedup layer had three hash schemes. CDImportSource replaced them — and four banks validated with zero per-bank code.

The an iOS budget app import layer had three coexisting hash schemes with no shared contract between them. Collapsing them into CDImportSource — a unified source-attribution model — was the structural prerequisite for universal CSV and PDF parsers that validated across Monzo, Halifax, Revolut, and HSBC.

Read post→
Build LogAI Tools
#205
2026-06-205 min read

The S-4 cohort made two editorial pipeline decisions. I shipped them.

Two weeks of UK Calculators editorial pipeline sprints ended with two decisions that came from the cohort data, not preference: live Bank of England rate fetches and a constrained LLM composer. The pipeline silently stalled for four days after shipping.

Read post→