Models
The organic research engine
Researches an audience per platform and produces a framing brief. It has no posting function, and no credential it could post with.
A product surface, not a published identifier. It runs on the shared inference path and carries no identifier of its own.
What it is for
The organic engine reads a platform's public conversation about a product's category and returns a framing brief: the biggest topic, the biggest problem, the strongest solution, and how the product should be positioned into that conversation.
It is the surface most defined by what it refuses. Where a platform will not yield rows, it names the refusal rather than inventing an audience, and it cannot act on an approval even when one is recorded.
What it can do
The retrieval is the narration
Every step it reports is the retrieval itself, stamped with the URL, the HTTP status and the time. There is no separate progress narrative that could run ahead of the work.
An empty response is a failure
Success is a property of the rows retrieved, never of a response that merely arrived. A two-hundred carrying an empty shell is a refusal and is reported as one.
Approval is recorded, never executed
Nothing is posted. There is no posting function and no import that could become one; the approval gate records an approval, no code path can act on it, and no platform credential exists in the system to act with.
The inference path
| Property | Value |
|---|---|
| Runtime | Codex CLI, one ephemeral session per request |
| Model | gpt-5.5 |
| Reasoning effort | medium |
| Sandbox | read-only by default; workspace-write only where an edit is being applied |
| Isolation | The caller supplies an already-authorised account workspace as the working directory. No session state is shared between founders, and workspace-write never extends above that directory. |
| Pinned flags | exec --ephemeral --ignore-user-config --skip-git-repo-check --output-last-message |
The session is ephemeral and ignores any user configuration on the host, so a response cannot be shaped by state left behind on the machine. A refusal from the runtime is read out of its own event stream and passed through in its own words: an account out of credits reports that, rather than a generic failure the operator can do nothing about.
How it is measured
Not covered by commerce-v1.
Because no recorded run exercises this surface, this page states no measurement of it at all. The benchmark and its system cards are published under research; they describe commerce-reasoning-v1 and nothing else.
Its limits
- Research currently refuses on platforms that no longer serve extractable data. A confident audience insight from a platform that returned nothing would be a fabrication.
- A brief is a framing, not a measurement. It carries no claim about how an audience will respond.
- Nothing is published on the operator's behalf, on any platform, under any circumstances.
- commerce-v1 does not exercise this surface.
Where these facts come from
Each line names a file in the implementation. The descriptions on this page are a transcription of those files and are marked provisional at their source until they have been checked against it again.
- Organic research and the approval log — flowfinds-ai-tool/backend/organic.py
- Capabilities implemented today — flowfinds-ai-tool/PRODUCT-MAP.md
The others
- commerce-reasoning-v1 — The decision engine an operator talks to: it investigates a question with application tools before it answers, and it names the evidence it used.
- The find engine — Scores a candidate product on three independently sourced legs, and refuses to average them into one comfortable number.
- The store editor — Turns an instruction in the operator's own words into a proposed change with a cited reason, a rejected alternative, and a reversibility flag.
- The support agent — Answers a customer from one product's own record, and is scanned on the way out for the things it must never say.
Back to all models, or read what the engine is used for under the product.