Discover v0.1 · retrospective discovery traces

How the ideas came together.

Give it a hard problem. It works through it and returns a discovery trace: a DAG of typed events — obstruction, pivot, decisive_insight — with causes links to the prior events that produced each. Same r_t stack + discipline audit + overlap-repair readout as Reflect, but at problem-scale rather than turn-scale. Reasoning Trace v0.2.1. Framework note: DISCOVERY_TRACES.

model max events

Problem

Idle — enter a problem and hit Discover ↗

The endpoint runs one long-form LLM call and heartbeats every 10s while it works — gpt-5 typically takes 30–180s on a hard ask. If you paste an OpenAI/OpenRouter key below, that key is used per-request (BYOK); otherwise the server key is used.

BYOK — bring your own key

Rides in X-Api-Key per request. Never stored server-side.

Discovery trace

After you hit Discover, the model's r_t and a DAG of typed events will appear here. Each event is one of obstruction (an approach ruled out), pivot (a change of setting), decisive_insight (a load-bearing move), or one of the standard schema types. Cause chips at the bottom of each event show which prior events produced it — the trace is a DAG, not a linear log.

One long-form LLM call → an r_t stack + a discovery_trace whose events form a DAG via causes. The three new event types (obstruction, pivot, decisive_insight) extend the Reasoning Trace schema to v0.2.1; existing v0.2 traces validate unchanged. Server sanitizes the DAG: forward references and self-references are dropped so the trace is provably acyclic. Discipline audit runs per-head, and the overlap-repair readout (public r_t + G_cons) fires the same way it does in Reflect. See DISCOVERY_TRACES / PDF for the framework note and server.py for the endpoint code.