Skip to content
Winnfield Request early access
Pre-launch · taking design partners

From what your agent got wrong to a tested fix

This page follows one case from the first question to a pull request your engineers merge. Requests reach Winnfield in four ways. Your own people ask it in Slack or assign it a Jira ticket, your customers can ask in Winnfield Chat, an optional support chat for your app or website, and scheduled checks look for problems nobody reported.

The examples come from Larkspur, a fictional company whose AI booking assistant kept quoting an old late-checkout policy.

How a request moves through Winnfield, in six steps. Each step shows the Larkspur example, a guest charged $45 for a late checkout that the booking assistant said was free, and links to the section below that explains it.
  1. 01A request comes in
    • Your people ask in Slack
    • Someone assigns it a Jira ticket
    • Your customers ask in Winnfield Chat
    • A scheduled check finds a problem

    Example Jordan, a guest, asks in Winnfield Chat why he was charged $45.

  2. 02Winnfield reads, read-only
    • Your code
    • Your logs
    • Your agent’s conversations or outputs
    • Your production data

    Example It reads his booking, LS-48213, and what the booking assistant told him.

  3. 03It answers
    • With the records it read
    • Or it says it can’t tell

    Example The $45 fee started on October 14, and the booking assistant quoted the old policy.

  4. 04It decides what’s needed
    • Fix the agent
    • Fix the software around it
    • Tell support which setting to change
    • Build a new feature

    Example The booking assistant’s instructions quote the old policy, so the agent needs a fix.

  5. 05It does the work
    • Files a bug or a story in Jira
    • For a Slack request, only once the person who asked confirms
    • Once it’s assigned the Jira ticket, fixes or builds on a branch
    • Tests the fix by running the case again

    Example It files LSP-1294. Once an engineer assigns it, Winnfield fixes the booking assistant and runs the 37 conversations again.

  6. 06A person merges
    • Your engineers review and merge
    • Winnfield never merges

    Example A Larkspur engineer merges pull request #1187.

One bug, from start to finish

Follow one bug from chat to pull request

Larkspur is a fictional company whose AI booking assistant handles guests’ bookings. Since October 14, late checkout has cost $45, but the booking assistant still tells guests it’s free, and no alert fires. Larkspur’s guests get help in Winnfield Chat, the support chat in Larkspur’s app. Jordan, a guest, asks there why he was charged. Maya runs support at Larkspur.

Example with a fictional company

  1. Winnfield Chat

    Writes the answer for Larkspur’s support team

    Jordan asks in Winnfield Chat. Its AI can’t answer that from the docs, so the question goes to Winnfield. Winnfield reads his booking and what the booking assistant told him, and finds the cause in the booking assistant itself, whose instructions hard-code the old policy. It writes its answer in an internal note, which only Larkspur’s team sees. Once Maya from support approves, Winnfield Chat sends Jordan the part of the note marked safe to share.

  2. Jira

    Files the bug with the evidence

    For Larkspur’s team, not for Jordan’s reply, it also checks, read-only, whether other guests were told the same thing, and finds 37 conversations since October 14. Because Larkspur’s admin has turned on the File stage, Winnfield files LSP-1294 in Jira itself, with the records and the cause.

  3. Jira

    Fixes it on a branch

    An engineer assigns the Jira ticket to Winnfield, which has already traced the cause to a file and line. The fix makes the booking assistant read the fee from the property’s settings.

  4. GitHub

    Tests the fix on the same 37 conversations

    It runs the same 37 conversations again on the fixed booking assistant, and all 37 now quote the current $45 fee. The fix passes 412 unit tests. The integration tests haven’t run, because they need Larkspur’s staging services, the running copies of its other systems that those tests call. That’s separate from the disposable staging database Winnfield uses for features. Winnfield opens a pull request, and your engineers merge it.

  5. No one has to re-explain

    The same evidence travels from Winnfield Chat to the pull request

    The same booking and the same 37 conversations follow the issue through every tool.

Learn

It learns your system and writes it down

Winnfield reads your code, logs and docs, and it has read-only access to your production data. From these it writes the Runbook, its notes on how your system runs, for you to review. The Runbook says how to build, test and run your system, where your agent’s conversations or outputs live, and what Winnfield couldn’t run. Every job starts from it.

Example Larkspur’s Runbook says its tests run with pnpm test, that bookings and the booking assistant’s conversations are in Postgres, and that its integration tests couldn’t run without its staging services.

Read

It starts from a real question and reads the records behind it

Your own people ask Winnfield in Slack or assign it a Jira ticket, and your customers can ask in Winnfield Chat. Once your admin turns on the Build stage, which lets Winnfield write fixes, scheduled checks also find problems on their own. Whichever way it starts, Winnfield reads the records behind it.

Every claim cites a record it read. When the records don’t settle the question, it says it can’t tell.

Example Maya asks why Jordan was charged $45. Winnfield reads his booking, LS-48213, the conversation in which the booking assistant told him late checkout was free, and the fee setting. It answers that the fee started on October 14.

CodeWhat the system does
Production dataRead-only records of what happened to this customer and what your agent said or did
LogsWhat happened at the time
DocsWhat it should do

One answer, with every claim cited

Decide

Then it works out what kind of fix is needed

After reading the evidence, Winnfield works out what’s needed. Support can fix a wrong setting without an engineer, but not a real defect. Telling the two apart is the first thing Winnfield does.

Bug · to engineering

The fix belongs in the agent’s prompts, tools or model, or in the software around it. Engineering gets a Jira ticket with the IDs of the records Winnfield read, the chain from cause to effect with evidence for each step, and the repositories involved.

Example Larkspur’s booking assistant quoted an old policy because its instructions still said so. If the booking system had returned the wrong fee instead, the fix would go in that code.

Setting · to support

That customer’s configuration needs a change. The exact setting, checked against the docs, goes back to support, which can fix it without an engineer.

Example If one Larkspur property had its late-checkout setting wrong, support would change it, and no engineer would be needed.

Missing feature · to product

Product gets a story, a Jira ticket with acceptance criteria and a plan for each repository involved. Winnfield asks its questions instead of guessing, and files the story once they’re answered. When someone assigns the story to Winnfield, it builds the feature on a branch and shows it working on the staging database.

Example Guests ask to split a booking’s payment. Priya, the product manager, answers who pays the cleaning fee, and then the story is filed.

Can’t tell yet

Nothing is filed. Winnfield says what it checked and what would settle the question.

Example If the records couldn’t show why Jordan was charged, Winnfield would say so and list what it still needs.

Filing

It files a bug only when it can show the evidence

Before Winnfield files a bug, three things must be true. It read every record it cites, it opened every repository it names, and every file and line it cites exists. Pointing at a line of code isn’t enough. If any of the three fails, Winnfield doesn’t file the bug.

Example Before filing LSP-1294, Winnfield had read the 37 conversations it cites, opened the repository, and confirmed that line 31 of src/assistant/prompt.ts exists.

A suspected bug
  • It read the records it cites.
  • It opened every repository it names.
  • Every file and line it cites exists.
Filed
Not filedif any of the three fails

Filing

How bugs and feature requests get filed, and when nothing is

  • Your people ask in Slack

    Support, engineers, product managers and executives ask Winnfield to triage a bug, fix one or build a feature. Winnfield drafts the bug or the story, and files it in Jira once the person who asked confirms. Your team can also ask Winnfield from a conversation in Winnfield Chat’s inbox, in an internal note.

    Example Sam, on Larkspur’s QA team, confirms in Slack, and Winnfield files LSP-1294.

  • Winnfield files on its own, from customers’ questions or scheduled checks

    Filing from customers’ questions starts once your admin turns on the File stage, and at first you confirm each Jira ticket. Scheduled checks, whatever their action, start only once your admin turns on Build, the last stage, because looking for problems nobody has asked about needs the most trust.

    • When a customer’s question in Winnfield Chat turns out to be a bug, it files the Jira ticket itself, with the evidence.
    • When a customer asks for something your product doesn’t do, it files a story for your product team and links every customer who asked.
    • Scheduled checks are checks your team defines, or that Winnfield suggests. Each runs on the schedule you choose, reads your logs and events, records of things that have already happened, such as a finished call or a booking, and looks for one kind of problem. When it finds one, it takes the action you’ve set. It can file a Jira ticket for your team, file one and assign it to Winnfield, which starts Winnfield’s work on it, or alert a person.

    A bug is filed only when Winnfield has actually read every record and line it cites. A story is filed only once Winnfield’s product questions are answered. Your team reviews each new Jira ticket.

    Example If Larkspur had set an hourly check before October 14, it would have filed a Jira ticket with the first conversations that quoted the old policy and assigned it to Winnfield.

  • Nothing is filed for a setting

    Winnfield tells support which setting to change and how. Support changes it or walks the customer through it. Winnfield never changes production settings.

    Example If one Larkspur property’s late-checkout setting were wrong, support would get the setting to fix.

Fix

Each fix is tested on the case’s own records

Winnfield’s trusted code, meaning its ordinary software rather than its AI, fetches the records the Jira ticket cited, read-only. Then a separate test step, which holds no production, cloud or push credential, must show the fix working on them.

Example LSP-1294 cites 37 conversations. Winnfield fetched them again and ran them on the fixed booking assistant, and all 37 now quote the current $45 fee.

  1. The ticketLSP-1294 cites 37 conversations
  2. Fetched againRead again, read-only, by Winnfield’s trusted code
  3. The testRuns them again on the fix
  4. The result37 of 37

    now quote the current $45 fee

  • No test command actually ran?The fix isn’t counted as tested.
  • Did the fix pass by changing the test records instead of the code?Winnfield throws it away.
  • Can’t reproduce it?The Jira ticket says so.

Features are shown meeting their acceptance criteria on a disposable staging database.

Test

It runs your own test suites

It runs your test suites the way the Runbook describes them. Pull requests use your template, and a checklist box is ticked only when your pipeline has confirmed it, never on the AI’s word alone.

Example On Larkspur’s pull request, the unit-test box is ticked because 412 tests ran and passed. The integration-test box stays empty because those tests didn’t run.

Slack

Your people ask Winnfield in Slack

Slack is where your own people ask Winnfield for help, from support and engineers to product managers and executives. They ask it to triage a bug, which means finding out whether it’s really a bug, what caused it and what’s needed. They also ask it to fix a bug or build a new feature. When the work needs a Jira ticket, Winnfield files it once the person who asked confirms.

In Slack, you can @mention it in a channel it watches, post in #ask-winnfield, or send it a DM. If someone mentions it late in a thread, it reads the messages above first.

Example Dana, Larkspur’s CEO, asks whether the late-checkout complaints are a bug. Winnfield answers yes and cites the 37 conversations since October 14 in which the booking assistant quoted the old policy.

  • @Winnfieldin a channel it watches
  • #ask-winnfielda channel just for it
  • A DMthe same answers, recorded in the same audit log

Jira

Jira is where Winnfield files and tracks the work

Assigning a Jira ticket to Winnfield is what starts its work. A ticket that isn’t assigned to Winnfield waits for your team.

In the Jira projects you allow, you can assign Winnfield a ticket, which Jira calls a work item. Choosing it as the ticket’s agent, or starting it from a workflow or automation, does the same. Until your admin turns on Build, Winnfield replies that it can’t start yet. To ask it a question, @mention it. If your team uses Linear instead of Jira, Winnfield files and tracks the work in Linear.

It needs Jira Cloud on Standard, Premium or Enterprise, with Rovo, Atlassian’s AI, turned on, because Winnfield works inside Jira as a Rovo agent. Each time it works on a ticket, it uses your Rovo credits.

Example Priya answered Winnfield’s question about who pays the cleaning fee before the split-payments story, LSP-1301, was filed. Then she assigned the story to Winnfield, which builds it on a branch.

GitHub

In GitHub, Winnfield opens pull requests and never merges

Fixes arrive on a feature branch with their test results. Merging stays with your engineers.

Example Larkspur’s pull request waits for review, and merging stays blocked until an engineer approves it.

Winnfield Chat

Winnfield Chat, for your customers

Winnfield Chat is an optional add-on, included in some plans, which aren’t published yet. It’s a support chat you add to your app or website for your signed-in customers. Its AI answers from your docs. When the docs don’t cover a question, Winnfield investigates, read-only, and writes its answer in an internal note that only your team sees. Winnfield Chat sends the customer the part of the note marked safe to share, after your team approves it or, on topics you’ve turned on, automatically. Topics are the subjects your staff tag in your help articles, such as checkout times.

Example Jordan asks why he was charged $45. Winnfield writes the answer for Larkspur’s team, and Maya approves the reply.

Included in some plansHow Winnfield Chat works

Stages

Trust, earned in stages

Winnfield works in four stages, and each one lets it do a little more. Everyone starts in Shadow for two weeks. Then your admin turns on the other three, Answer, File and Build, one at a time, in Winnfield’s web app. Winnfield counts the answers your team flags as wrong and shows you the count.

Before Build, Winnfield writes no fixes. In Shadow, its answers are private, for your team to rate. Once Answer is on, it answers your team in Slack and Jira, and once File is on, it also files Jira tickets. A Jira ticket assigned to it before Build gets a reply that it can’t start yet, and scheduled checks wait for Build too.

Your admin can turn on the next stage only after a week with no answers flagged as wrong. When your admin turns on the File stage, Winnfield starts by asking you to confirm each Jira ticket.

Example Larkspur would start in Shadow, with Maya rating Winnfield’s private answers for two weeks.

What Winnfield can reach, keep and never hold
  1. ShadowIt drafts private answers for your team to rate.Changes nothing
  2. AnswerIt answers your team where they ask, read-only.Changes nothing
  3. FileIt files bugs and stories in Jira, with their evidence.Adds Jira tickets someone reads
  4. BuildIt writes fixes, tests and features on branches.Opens pull requests your engineers review

Mistakes

When it’s wrong

Example If Winnfield had blamed the wrong file for Larkspur’s bug, an engineer could give the answer a 👎, say the conclusion was wrong, and withdraw the Jira ticket from the same thread.

  1. Give an answer a 👎, and Winnfield asks what was wrongThe facts, the conclusion, or missing context.
  2. The correction can go into your Product BriefThat’s the one-page description of your product that Winnfield drafts during setup and your admin can edit.
  3. A wrong Jira ticket can be withdrawnYou do it from the same thread.

Setup

What you do, and what you never have to do

Winnfield drafts the Runbook, the Product Brief and the help articles that Winnfield Chat answers from. Your part is to review and approve.

What you do
  • Review the Runbook and the Product Brief that Winnfield drafts
  • Approve the help articles that Winnfield Chat answers from
  • Approve access rules
  • Choose where it runs, in our cloud or in yours
What you never have to do
  • Write prompts for Winnfield
  • Write training data
  • Write schema documentation
Does Winnfield write to our production database?

No. Winnfield reads production through a role that your DBA creates with read-only grants. We generate the exact grant statement for your database engine and test the credential’s privileges when you connect it. The read-only limit is enforced by your database, not by a prompt.

Each credential, with its scope and worst case

Can it push to main or merge?

No. Every code change arrives as a feature branch with a pull request, which your engineers review and merge. Winnfield never merges. It pushes only feature branches, and your branch protection still applies. The credential that pushes a branch never enters the environment where the AI works.

Pull requests that your engineers merge

What does it need from us?

It needs Slack, your code on GitHub, and either Jira Cloud or Linear. Jira Cloud must be on Standard, Premium or Enterprise, with Rovo, Atlassian’s AI, turned on, because Winnfield works inside Jira as a Rovo agent. It also needs a read-only role on your production database, a disposable staging database, and a read-only credential for your cloud that is scoped to its logs. Read-only access to your docs is optional. For the third-party services your code calls, it needs test-mode keys. When we host it, the machine that runs your code never holds the production credential.

Each credential, with its scope and worst case

Join early access as a design partner and bring us your hardest escalation.

Request early access

A design partner is one of the first companies to use Winnfield, before it launches. An escalation is a customer problem your support team had to pass to engineers. Requesting early access is how you apply. The founder leads your onboarding, and requesting access commits you to nothing.

Request early access