prototype · git:20260923.c68d399 · 2026-09-23 · sha256 ff746b5502f05eb8
prototype git:20260923.c68d399A
Immutable. This exact content is served forever at /api/v1/blob/ff746b5502f05eb8.
--- name: prototype description: Resolve a bounded design or feasibility question through an observable experiment. Use for authorized interface, logic, or technical exploration, including prepared Prototype issues; not settled implementation or source-only research. --- # Prototype a decision Build the smallest experiment that answers the question, in a representative environment. A prototype produces evidence for a decision, not a production feature. ## 1. Resume and bound the experiment 1. Read the request, project instructions, and existing issue or interview record, including accepted choices, prerequisites, and evidence. Reuse settled framing. 2. Follow project conventions to consult relevant domain definitions, pending accepted changes, and system contracts. Resolve consequential conflicts; distinguish experimental assumptions from accepted meanings and implemented behavior. Missing conventions call for targeted clarification, not automatic project setup. 3. Establish question, scope/exclusions, scenarios, constraints, decision owner, stopping evidence, and where the interview resumes. Distinguish a measured fact from a preference requiring the owner's judgment. 4. Verify execution authorization, access, and representative inputs. A prepared brief or a ready label alone does not authorize building or external writes. | Request | Action | | --- | --- | | Choice requires observing behavior | Prepare/run the bounded experiment within authorization | | Only source evidence is missing | Return a research prerequisite rather than build a demonstration | | Behavior already settled | Propose implementation; do not reopen design for ceremony | | Preparation only, read-only mode, or unmet prerequisite | Retain the experiment brief and name what is pending | **Done:** question, stopping condition, owner, and execution scope established. **Blocked:** preserve the missing decision/evidence and continue only independent, authorized preparation. ## 2. Choose the environment and isolate the work 1. Inspect runtime, assets, inputs, components, and verification tools. Reuse the smallest environment preserving the behavior under test; isolated logic cannot establish real physics, rendering, device interaction, or production performance. 2. Before building, follow [retention and handoff](references/retention-and-handoff.md) to establish the dedicated branch and preserve the prepared checkout. 3. Identify simulated data, temporary resources, and persistent effects. Isolate the experiment from ordinary use; preserve security and access controls. 4. Select only the procedures needed: | Question | Reference | | --- | --- | | Appearance, organization, interaction | [Interface comparison](references/interface.md) | | Rules, data shape, state transitions | [Logic scenarios](references/logic.md) | | Integration, physics, capacity, performance | [Technical evidence](references/feasibility.md) | **Done:** representative environment, isolation, branch, and experimental limits clear. Unavailable tools or unsafe conditions remain blockers, not invented capabilities. ## 3. Build and exercise the experiment 1. Build only the accepted scope, with the minimum variants needed to answer the question. One model can suffice; comparisons need meaningful alternatives. 2. Record entry point, dependencies/configuration, initial data, actions, reset, expected observations, and limitations with the experiment. 3. Run startup, representative scenarios, reset/selection where relevant, and isolation checks yourself before presenting it. 4. Use focused tests or measurements when they protect the question. Neither a full production suite nor a blanket ban on tests is appropriate for every prototype. **Done:** another person can repeat the demonstrated steps and inspect the evidence. **Unresolved:** observations are missing or inconclusive; name the gap rather than claim the question answered. Negative results are valid evidence. ## 4. Review the evidence and obtain the decision 1. Provide the runnable artifact or supported review surface and keep it available. Screenshots or video supplement interaction, not replace it when interaction is the question. Label simulation, assumptions, measured facts, and untested claims. 2. Present observations and trade-offs to the decision owner. Ask only for open judgments; do not ask the user to decide an already measured fact. 3. Record accepted/rejected behavior and remaining uncertainty against the reviewed version. Later changes require renewed validation of affected conclusions. **Done:** the question is answered by evidence and any required judgment is accepted. **Waiting:** owner judgment remains open; preserve the artifact and resume point. A demonstrated failure may conclude the experiment without authorizing a new design. ## 5. Preserve and return Follow [retention and handoff](references/retention-and-handoff.md) for the reviewed commit, authorized remote publication, and updates to the existing Linear record. Return the result, artifact/version, decision or unresolved question, limitations, and next action to the interview or originating task. Stop exploration at its evidence target. Product implementation needs its own request and ordinary verification; prototype approval does not establish production reliability. **Done:** evidence retained, required publication verified, and handoff usable. **Pending:** distinguish accepted decision, local artifact, remote availability, and tracker synchronization; name exact remaining operations instead of claiming completion.