{"slug": "our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs", "title": "Our coding agent prompts live in the ticket, reviewed like PRs", "summary": "Panth, who leads the software team at air-quality platform Oizom, built a coding-agent pipeline in which every prompt lives in the ticket that requested the work, making prompts reviewable like pull requests. The orchestrator, orch, provisions each ticket with its own branch, backend, simulator, frontend, dev-database copy and preview URL, and the agent posts previews and per-turn costs back into the thread; the team uses these threads to coach developers on how they phrase requests.", "body_md": "Every prompt my team writes to our coding agent is stored in the ticket that asked for it. The ticket thread is the only way a developer can talk to the agent, so there is nowhere else for a prompt to go.\n\nI'm Panth, and I lead the software team at Oizom, where Envizom is the platform that turns data from air-quality and environmental monitors into something cities and industries can act on. This post is about one design goal of our agent pipeline: the prompt is kept with the work, and it can be reviewed.\n\nA developer writes what they want in a ticket, in plain English, and drags it to **Approved**. There is no IDE open, no terminal and no prompt window. That ticket text is the whole spec.\n\nOur orchestrator, orch, gives the ticket its own stack: a branch in every repo, its own backend, drivers, simulator and frontend, a copy of the dev database and a private preview URL. A coding agent does the work inside that stack. When it is done, it posts the preview link into the thread and moves the ticket to **QAQC**.\n\nThe developer opens the preview, tests it, replies in the same thread and moves the ticket back. The same agent, with the same context, picks up where it left off. Every follow-up is a message in the thread, so every follow-up is stored too.\n\nWhen we set out to build this, it was one of five things we wanted from the start:\n\nEvery prompt should be stored with the work it produced, so we can review and coach how people ask for things.\n\nBy the time a ticket is done, its thread holds the whole exchange, turn by turn:\n\n| In the thread | Who writes it | \n|---|---|\n| What was asked | the developer, in the ticket and in each reply | \n| What was built | the agent, with the preview link | \n| Which preview was tested | the developer, by replying to that preview | \n| The feedback | the developer, in the same thread | \n| What the turn cost | posted on every agent turn | \n| The PR and commit links | orch, after the ticket is dragged to **Git Push** | \n\nHere is the shape of a real one. In the walkthrough video I asked for a camera layout change on a device page:\n\n``` php\nticket   camera layout change on the device page          -> Approved\nagent    builds it in the ticket's stack, posts the preview -> QAQC\nme       \"also handle more than 4 cameras with a horizontal scroll,\n          and set up 8 test cameras on this device\"         -> back to the agent\nagent    does both, the 8 test cameras in the ticket's own\n          database copy, posts the preview                  -> QAQC\nme       drags it to Git Push\norch     commits, opens and merges the PRs, posts the links,\n          waits for CI, deploys to dev, checks health        -> Completed\n```\n\nEvery line of that is in the thread. Anyone can open the ticket and read what was asked, in the words it was asked in, next to what came out of it.\n\nBecause the prompts are stored, they can be reviewed. I read how each person on the team asks for things and coach them on it. That has been more useful than any prompting guide.\n\nA prompting guide tells you what good asks look like in general. A ticket thread shows you how one person on your team asked for one change, what the agent built from it, and how many replies it took to get to something they were happy with. You can point at a specific message and talk about it, the way you would point at a line in a pull request.\n\nThe cost line matters here as well. Each agent turn posts its cost into the thread, right where the ask was made. The person asking sees what the ask cost, and it changes how they write the next one. That is on purpose too.\n\nA stored prompt is only useful if it sits next to the work it produced, and nothing else. That is where per-ticket isolation comes in.\n\nEach ticket has its own branch in every repo, its own services and its own copy of the dev database. So a ticket's thread is a self-contained record: what was asked, what was built in that stack, what was tested on that preview. A ticket can sit in QA for a week while three others ship, and its history is still in one place, not mixed into anyone else's.\n\nThe thread is also where the rest of the process shows up. After **Git Push**, no agent is involved: orch commits, merges, opens and merges the pull requests, waits for CI, deploys to the dev VM and checks its health, and posts the PR and commit links back into the same thread. The prompt, the result and the review trail end up in one ticket.\n\nIf your team uses coding agents, where do the prompts go once the work ships?\n\n*I lead the software team at [Oizom](https://oizom.com). The full pipeline, including where we drew the line (dev only, human QA, visible cost), is in [The ticket is the interface](https://dev.to/panthpatel/the-ticket-is-the-interface-how-our-developers-ship-without-a-laptop-4of1).*", "url": "https://wpnews.pro/news/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs", "canonical_source": "https://dev.to/panthpatel/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs-4f2g", "published_at": "2026-10-20 23:00:29+00:00", "updated_at": "2026-10-20 23:19:57.223386+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "mlops"], "entities": ["Oizom", "Envizom", "Panth", "orch"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs", "markdown": "https://wpnews.pro/news/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs.md", "text": "https://wpnews.pro/news/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs.txt", "jsonld": "https://wpnews.pro/news/our-coding-agent-prompts-live-in-the-ticket-reviewed-like-prs.jsonld"}}