The structure is deliberate: the decision, what the agents did, where the expert intervened, what was verified or killed, and what changed. We publish the negative results. A record that only shows the win is a marketing document.
Macro and rates
The engine we refused to build
- The decision
- A proposed macro factor-attribution engine promised a full driver decomposition. The question was whether to build it as specified.
- What the agents did
- A bounded research pass mapped the proposal component by component, gathered the published evidence on common-factor shares, and checked every claim against its source.
- Where the expert intervened
- The expert refused the engine as stated. The decomposition is set-identified, several inputs had no storable source, and the proposed methods sat outside the programme's evidence. One claim survived: a common global factor drives long-end co-movement. It was registered as a falsifiable block with a threshold and a range.
- What was verified or killed
- Published estimates of the common-factor share run from about 20% on a broad risky-asset panel to more than 80% of advanced-economy term premia. The block registers a threshold and a range, not a single number. Predictions were registered before any outcome, and predictions that could not be scored were voided. The loop has not closed.
- What changed
- The programme built one testable block instead of a monolith. The record names what was refused and why, so the next reader does not re-propose it.
A finding is not a law. It is a hypothesis with an expiry.
Market infrastructure
120x from a better question
- The decision
- How to make a market-data path fast enough to trust, without guessing which change helped.
- What the agents did
- A measured optimization programme: a shared-memory ring, a write-ahead log, a C++ and Rust parity path, and an optimization ledger. The compiler's emitted IR was the oracle, not the eyeball.
- Where the expert intervened
- The expert rejected a blocked prefix-sum rewrite that measured 5.2x slower. Two measurement bugs were caught first: a benchmark whose output was dead code reported 33.0 ns for a 7.3 ns kernel, and a timer with 42 ns resolution could not see a 10 ns difference. The fix was a batched timer and a black-boxed output.
- What was verified or killed
- A constant-time last-record check replaced a full scan and took a 4,096-record check from 1,979 ns to 16.4 ns, about 120x. The 5.2x regression stayed in the ledger as a rejected change.
- What changed
- The ledger rule: a performance claim carries the command that produced it. Rejected changes are as important as kept ones.
The number that matters is the one with a command behind it.
Commodity flows
What a flow can and cannot tell you
- The decision
- Whether a physical-flow link to price survives contact with point-in-time data.
- What the agents did
- Evidence passes on policy transmission, storage, logistics, and basis, with two worked examples: the policy rate to the crude curve, and the milk-fat-to-protein split in dairy.
- Where the expert intervened
- The expert kept the claims narrow, wrote the falsifiers, and registered predictions before outcomes. The work is a method in progress, not a track record.
- What was verified or killed
- The programme can state what it would take to kill each link. It has not run the live test, and it says so.
- What changed
- Two commodity blocks with falsifiers and a repeatable framing for the next flow.
The honest count of what was tried is part of the result.
Want the underlying method, not the summary? Read how the work runs.