01 / DECIDE
Architecture decision
Use it when behavior must remain stable across releases, models, languages, or multiple product surfaces.
Separate durable developer instructions from user input, give the task an explicit output contract, and keep prompt changes reviewable. Map input, output, state, and side effects as one observable path before deciding which layer owns version prompts like application code.
02 / BUILD
Three-step implementation
- 01
Frame the contract
Write down the caller, data classification, success condition, timeout, cancellation, and ownership. Use it when behavior must remain stable across releases, models, languages, or multiple product surfaces.
- 02
Build one narrow path
Implement one end-to-end path with request correlation, typed state, and reversible failure handling. Separate durable developer instructions from user input, give the task an explicit output contract, and keep prompt changes reviewable.
- 03
Prove the outcome
Turn acceptance into a repeatable fixture, contract test, or browser test. A fixture suite compares expected task outcomes and refusal handling before each prompt revision ships.
03 / BOUND
Production boundary
Prompts are not authorization. Server policy must still validate tools, data access, and consequential actions.
04 / PROVE
Acceptance evidence
A fixture suite compares expected task outcomes and refusal handling before each prompt revision ships.
SOURCE / HTTP
Reproducible source probe
curl -fsSI 'https://developers.openai.com/api/docs/guides/prompt-engineering' | sed -n '1,5p'