Spikes and research
A spike answers one question by trying it. Research answers one question by reading and comparing. Both end in a result the maintainer can decide on, posted on the spike’s issue and followed by the records and pages it changes.
Standards first
Section titled “Standards first”A spike that compares formats or protocols starts from the standards that exist, and pins their versions (Standards first).
The shape of a result
Section titled “The shape of a result”Write the parts in this order:
- Question. The one question the spike or research answers.
- When. The date and time it was measured, in UTC. A number without a date cannot be compared with the next one.
- Verdict. The answer, first, in one or two sentences.
- Method. What was run or read, with the exact versions (tool, firmware, library, standard), so someone else can repeat it.
- What the setup over- and under-counts. How the test setup differs from a real use, and in which direction each difference moves the numbers.
- Numbers. In tables, with units.
- Roads not taken. The approaches you did not try or dropped, each with the reason.
- Open questions. Each as options with pros and cons, and a recommendation. The maintainer decides.
- Changes made. Every change to any machine, account or device: what was installed, configured, created or reset, and whether it was undone.
- Raw logs. Where the raw output is kept.
Measure before you conclude, and read what each tool printed, not only its exit code (Tools, checks and verification).
Keep it public
Section titled “Keep it public”A result posted in the repository or on an issue follows Public content and secrets: example names for hosts and accounts, no secrets, no device serials. A result that needs private names to make sense stays internal, and only a generic version is posted publicly, as GOVERNANCE.md says in “From internal reasoning to a public ADR”.