Assertions are a surprisingly nuanced design space. In a test, if I assert `x < y`, I really want to see the values of x and y when it fails.
Do you define an API for every possible predicate (Python's assertLess, expect.js) or try to support the native syntax (c.f. pytest)?
miniblog.
Related Posts
I've never seen a good design philosophy on how to sort compiler errors for the best UX.
Do you order by line, or by severity? Do you put the most actionable at the end (because that's most visible when the terminal scrolls) or at the beginning?
AI agents (OpenClaw, Hermes Agent etc) seem to be increasingly standardising their design.
You have a UI for the markdown files writable by the agent (sometimes just Obsidian) plus a set of CLI tools for performing actions.
I've seen so many new CLIs recently too.
Anthropic used Claude to write a C compiler in Rust (CCC). I've really enjoyed following the discussion.
The initial post shows how they wrote the harness with GCC as an oracle and a prompt specifying a design using SSA. The author has clear domain expertise.
https://www.anthropic.com/engineering/building-c-compiler