Spike or prototype¶
The output is an answer, not code. The code stays on a spike branch and never merges.
Use when¶
- A decision needs facts that only a quick build can give (for example "Can library X do Y?").
Do not use when¶
- The code is meant to stay. Use app-slice.
Flow¶
- Run the shaper. Write the question, the time box, and what counts as an answer (G1).
- Create a branch with the
spike/prefix. - Start the investigator in a fresh session. It builds the smallest code that answers the question. It can skip tests.
- Stop at the time box, also if the answer is not complete.
- Write the findings report: the answer, the evidence, the limits, and a recommendation.
- A human reads the report and decides the next step (G4).
CAUTION: K16 blocks a PR from a
spike/branch to the main branch or the integration branch. To keep spike code, rebuild it with a profile that has a Build stage and gate G3.
The hook trusts the spike/ prefix, so the investigator can write code on that branch (D25). K16 is
the control that stops this code from merging. Make the K16 job a required status check on the main
branch and on the integration branch. See
K16 and the spike branch.
WARNING: Do not merge a spike branch into a different branch, for example a feature branch. K16 reads only the head branch name, so it does not see spike commits on that branch (D33). The reviewer at gate G4 must find them.
Exit criteria¶
- The report answers the question, or says why it cannot.
Evidence¶
Dossier IDs: E10, D4.