Spikes¶
Spike reports live in the project wiki, not in this repository.
A spike is a timeboxed, throwaway experiment run to settle a fact a decision was blocked on; the code is deleted and the report is what survives. Like specs, a report is point-in-time — read for the answer it reached and the conditions on it, not kept true as the code moves. Keeping them here put a record of one afternoon's experiment beside documentation that has to stay current.
Contributor guides, engineering standards and testing conventions stay in docs/,
because those change with the code.
| Spike | Question settled | Verdict | Date |
|---|---|---|---|
| ffmpeg-render-binding | Is there a CGO-free Go path to render against in-memory buffers? | DONE — no binding for now; materialise↔readback bridge |
2026-06-26 |
| ogen-incremental-adoption | Can an OpenAPI server be adopted one operation at a time, and which generator? | DONE — yes, per operation; ogen on composition |
2026-08-02 |
| openapi-client-generation | Which TypeScript generator fits a plain-JS, zero-runtime-dep SPA? | DONE — openapi-typescript; types only, no runtime dep |
2026-08-02 |
Running one¶
See the spike-before-spec skill in the phpboyscout marketplace: write the
question down first, say the timebox out loud, build the least thing that answers
it, record the verdict on the wiki, then delete the code.