Bulletins

27 September 2026

From past chats

Model one queue before formalising a codebase

The formal-verification example in the recent model discussion fits several problems that keep recurring in your chats: Temporal signals, message queues, retries, and concurrent Go code. A useful trial would be deliberately small: model a queue with enqueue, lease, acknowledge, timeout, and retry, then check three properties—no lost accepted work, no two active leases for one item, and eventual availability after a timeout. Let an agent draft the TLA+ or PlusCal, but require every transition to map back to a named operation in the Go implementation. Stop after ninety minutes or the first genuine counterexample; the question is whether modelling exposes an ambiguous contract before it becomes a code bug.

Measure model cost per accepted change

The recent model and pricing launches make price per token tempting to compare, but the useful denominator for your agent work is probably an accepted change. Re-run three frozen, representative repository tasks with the same starting commit and task brief, allowing one retry per model. Record billed usage, elapsed time, failing tests, reviewer corrections, and whether the patch was ultimately accepted. This could be a new record type in the run ledger you have considered before. The follow-up question is concrete: does the inexpensive model remain cheaper after retries and review, or is it best only for a recognisable class of task?

From the current front page

Preserve the Delphi games separately from their ports

Before doing more browser-port work, make one preservation bundle for each old Delphi game: untouched source and assets, original binaries, compiler and dependency versions, a short build-and-run note, checksums, screenshots, and a brief capture of normal play. Keep the browser version as an access copy beside that bundle rather than letting it replace the original. A strong first milestone is not “runs forever in a browser” but “a clean machine can identify every required artefact, and a future reader can see what correct behaviour looked like.”

Try one workflow in three configuration languages

The frustration with YAML workflows is a good reason to test existing ideas before designing a language. Take one real but modest CI job—with a matrix, a conditional step, a secret reference, and a reusable fragment—and express its configuration in CUE, Nickel, and Dhall, each compiling to the runner’s YAML. Introduce the same type error and missing field in all three, then score the diagnostics, editor support, abstraction overhead, generated diff, and how easily a teammate can trace output back to source. Even if none wins, the comparison should turn “something better” into a compact set of language requirements.