A year ago I was steering all my projects with prompts in a terminal. A feature was born in one message, fixed in a second, drifted in a third. Six weeks later, three perfectly simple questions had become unanswerable: what is actually done? in which version? on which branch?
This is not a problem with the coding agent - it does its job remarkably well. It is a problem with the tooling around the agent. When you delegate the code, you need, more than ever, to keep the product view. And the throwaway prompt is the exact opposite of a product view: ephemeral, unversioned, unreadable three days later.
You cannot steer a product with a terminal history.
The throwaway prompt, that false friend
The direct prompt is seductive because it is immediate. But it has three fatal flaws as soon as a team - or simply next month's version of you - has to pick up the thread:
- It is not versioned: nobody knows what was asked, when, or why.
- It is not reviewed: no team decision before the machine is set running.
- It is not connected to a branch, a merge request, a preview, a token cost.
The inversion: the spec first
Survol's proposal fits in one sentence: you describe a feature the way you would to a colleague, you approve it as a team, and that approved spec becomes the instruction sent to the agent. You never type the prompt - it is generated, refined and traced from what you have already written and decided.
Concretely: every feature has a version history (v1.0, v1.1, v2.0…) with the changes requested in between. The version is the unit of truth - not the author, not the prompt.
That shift has an unexpected but decisive consequence on costs. When the spec is the object of work, you can calibrate context down to what is strictly needed: the spec, the settled decisions, the files actually concerned. Nothing more.
# What Survol sends to the agent, generated from the approved spec: context: feature: "Promo codes & gift cards" version: "v2.0" decisions: ["cannot be combined with sale prices"] files: ["src/Pricing/Promo.cs", "src/Checkout/Cart.cs"] model: "selected automatically for the task"
Where do humans fit in?
Inverting the flow does not mean taking control away from teams - quite the opposite. Product decisions are discussed before a session is launched. Your developers can still write code directly: manual branches, commits and merge requests are detected and attached to the right feature, with no informer's tone. And at any moment, a human expert review can turn its findings into tasks for the agent.
What changes day to day
- You write the feature once, properly.
- The team settles the open decisions.
- The agent builds it on its branch, and you follow live.
- You approve the preview - or your feedback becomes the next version.
After a few weeks, the question "what is actually done?" has an answer, permanently. That is all we were asking for in the first place - and it is precisely what the throwaway prompt will never give you.
