Validate PoC
Purpose
Run the smallest safe experiment that can resolve a consequential uncertainty.
Optimize for trustworthy learning, not feature count or presentation polish.
Treat the result as evidence for a decision, not as proof of production
readiness.
Use applicable project, language, architecture, security, and testing skills for
the implementation details. Let this skill govern experiment scope, evidence,
and the exit decision.
Establish the Experiment Contract
Before writing code:
- Inspect the current repository, documentation, decisions, configuration,
contracts, and exact upstream behavior relevant to the uncertainty.
- State the decision the PoC must inform.
- Express the central hypothesis in a falsifiable form:
Given <conditions>, <approach> will achieve <measurable result> within <constraints>.
- Rank assumptions by impact if false and uncertainty. Select only the one to
three assumptions necessary for the decision.
- Define:
- success thresholds;
- failure thresholds;
- conditions that make the result inconclusive;
- representative inputs and relevant edge or failure cases;
- a time, cost, and scope box;
- explicit non-goals.
- Identify the evidence to capture before choosing the implementation.
Do not implement an experiment that cannot distinguish success from failure.
When requirements remain ambiguous but a safe assumption permits progress,
record the assumption instead of broadening the PoC.
Choose the Minimum Valid Fidelity
Match the artifact to the uncertainty:
- Use a sketch or interaction prototype for comprehension or usability.
- Use a technical spike for a library, protocol, algorithm, or platform
capability.
- Use a narrow integrated slice when the hypothesis concerns an application
flow or interaction between components.
- Use a representative benchmark when the hypothesis concerns latency,
throughput, cost, or resource use.
Use mocks only outside the boundary being tested. Use the real component,
protocol, data shape, or failure behavior at the boundary whose feasibility is
in question. Prefer sanitized representative data over convenient toy data when
the difference could change the decision.
Isolate disposable work through a sandbox, test project, feature flag, separate
entry point, or similarly bounded mechanism. Preserve the user's existing
changes and avoid unnecessary production architecture.
Execute Proportionately
If the user requested analysis or a PoC plan only, deliver the experiment
contract without implementing it. If the user requested a working PoC:
- Implement only what the experiment requires.
- Keep the measurement path deterministic and inspectable.
- Exercise the representative happy path and at least one material failure,
boundary, or edge case.
- Repeat measurements when variance could affect the conclusion.
- Capture exact commands, effective configuration, inputs, raw outputs, logs,
timings, costs, or screenshots needed to reproduce the finding.
- Compare observations with the predefined thresholds.
For nondeterministic AI or ML behavior, use a representative evaluation set and
multiple trials where appropriate. Measure relevant quality, latency, cost, data
readiness, and safety dimensions; do not validate from cherry-picked examples.
Protect Safety and Result Integrity
Keep these constraints even when the code is disposable:
- Do not write to production systems, contact real users, incur material cost,
or use sensitive data without explicit authorization.
- Use least-privilege credentials, sanitized data, bounded quotas, and
reversible operations.
- Never commit or expose secrets.
- Do not weaken a production control merely to make the PoC pass.
- Label mocked, omitted, or simulated behavior clearly.
- Record confounding factors and limitations that could invalidate
extrapolation.
If public exposure, persistent user data, authentication, billing, destructive
effects, or regulated data enters scope, apply the corresponding production
safeguards or reclassify the work as an MVP, pilot, or production change. The
PoC label is not a security exemption.
Decide and Hand Off
Conclude with exactly one status:
- Go: the evidence meets the criteria and supports the stated next
investment.
- Pivot: the underlying goal remains useful, but the tested approach should
change.
- Stop: the evidence fails the criteria or the value no longer justifies
investment.
- Inconclusive: the experiment could not resolve the hypothesis; state the
smallest next experiment and why it would be decisive.
Separate:
- code or design that may be reusable after review;
- deliberately disposable code;
- missing production concerns;
- new risks or unknowns;
- cleanup actions;
- the recommended next step.
Do not silently turn a successful PoC into an MVP. Audit any reused code against
the target project's architecture, security, data, testing, observability, and
operations requirements first.
Provide an Evidence Receipt
Report the result in this compact order:
- Decision being informed
- Hypothesis and selected assumptions
- Scope, non-goals, timebox, and environment
- Success, failure, and inconclusive criteria
- Experiment implemented or proposed
- Evidence and verification commands
- Limitations and non-production shortcuts
- Go, pivot, stop, or inconclusive decision
- Cleanup and recommended next step
1---2name: validate-poc3description: Design, implement, and evaluate a time-boxed proof of concept that tests the riskiest product, technical, integration, data, performance, or workflow assumption using explicit success, failure, and exit criteria and an evidence-backed go, pivot, stop, or inconclusive recommendation. Use when the user says PoC, proof of concept, concept test, feasibility test, technical spike, validate an application flow, test whether an architecture or integration can work, or reduce uncertainty before full implementation. Do not use for a production release or a complete early-user product; use build-mvp after feasibility is sufficiently resolved.4---56# Validate PoC78## Purpose910Run the smallest safe experiment that can resolve a consequential uncertainty.11Optimize for trustworthy learning, not feature count or presentation polish.12Treat the result as evidence for a decision, not as proof of production13readiness.1415Use applicable project, language, architecture, security, and testing skills for16the implementation details. Let this skill govern experiment scope, evidence,17and the exit decision.1819## Establish the Experiment Contract2021Before writing code:22231. Inspect the current repository, documentation, decisions, configuration,24 contracts, and exact upstream behavior relevant to the uncertainty.252. State the decision the PoC must inform.263. Express the central hypothesis in a falsifiable form:27 `Given <conditions>, <approach> will achieve <measurable result> within28 <constraints>.`294. Rank assumptions by impact if false and uncertainty. Select only the one to30 three assumptions necessary for the decision.315. Define:32 - success thresholds;33 - failure thresholds;34 - conditions that make the result inconclusive;35 - representative inputs and relevant edge or failure cases;36 - a time, cost, and scope box;37 - explicit non-goals.386. Identify the evidence to capture before choosing the implementation.3940Do not implement an experiment that cannot distinguish success from failure.41When requirements remain ambiguous but a safe assumption permits progress,42record the assumption instead of broadening the PoC.4344## Choose the Minimum Valid Fidelity4546Match the artifact to the uncertainty:4748- Use a sketch or interaction prototype for comprehension or usability.49- Use a technical spike for a library, protocol, algorithm, or platform50 capability.51- Use a narrow integrated slice when the hypothesis concerns an application52 flow or interaction between components.53- Use a representative benchmark when the hypothesis concerns latency,54 throughput, cost, or resource use.5556Use mocks only outside the boundary being tested. Use the real component,57protocol, data shape, or failure behavior at the boundary whose feasibility is58in question. Prefer sanitized representative data over convenient toy data when59the difference could change the decision.6061Isolate disposable work through a sandbox, test project, feature flag, separate62entry point, or similarly bounded mechanism. Preserve the user's existing63changes and avoid unnecessary production architecture.6465## Execute Proportionately6667If the user requested analysis or a PoC plan only, deliver the experiment68contract without implementing it. If the user requested a working PoC:69701. Implement only what the experiment requires.712. Keep the measurement path deterministic and inspectable.723. Exercise the representative happy path and at least one material failure,73 boundary, or edge case.744. Repeat measurements when variance could affect the conclusion.755. Capture exact commands, effective configuration, inputs, raw outputs, logs,76 timings, costs, or screenshots needed to reproduce the finding.776. Compare observations with the predefined thresholds.7879For nondeterministic AI or ML behavior, use a representative evaluation set and80multiple trials where appropriate. Measure relevant quality, latency, cost, data81readiness, and safety dimensions; do not validate from cherry-picked examples.8283## Protect Safety and Result Integrity8485Keep these constraints even when the code is disposable:8687- Do not write to production systems, contact real users, incur material cost,88 or use sensitive data without explicit authorization.89- Use least-privilege credentials, sanitized data, bounded quotas, and90 reversible operations.91- Never commit or expose secrets.92- Do not weaken a production control merely to make the PoC pass.93- Label mocked, omitted, or simulated behavior clearly.94- Record confounding factors and limitations that could invalidate95 extrapolation.9697If public exposure, persistent user data, authentication, billing, destructive98effects, or regulated data enters scope, apply the corresponding production99safeguards or reclassify the work as an MVP, pilot, or production change. The100PoC label is not a security exemption.101102## Decide and Hand Off103104Conclude with exactly one status:105106- **Go**: the evidence meets the criteria and supports the stated next107 investment.108- **Pivot**: the underlying goal remains useful, but the tested approach should109 change.110- **Stop**: the evidence fails the criteria or the value no longer justifies111 investment.112- **Inconclusive**: the experiment could not resolve the hypothesis; state the113 smallest next experiment and why it would be decisive.114115Separate:116117- code or design that may be reusable after review;118- deliberately disposable code;119- missing production concerns;120- new risks or unknowns;121- cleanup actions;122- the recommended next step.123124Do not silently turn a successful PoC into an MVP. Audit any reused code against125the target project's architecture, security, data, testing, observability, and126operations requirements first.127128## Provide an Evidence Receipt129130Report the result in this compact order:1311321. Decision being informed1332. Hypothesis and selected assumptions1343. Scope, non-goals, timebox, and environment1354. Success, failure, and inconclusive criteria1365. Experiment implemented or proposed1376. Evidence and verification commands1387. Limitations and non-production shortcuts1398. Go, pivot, stop, or inconclusive decision1409. Cleanup and recommended next step