Skip to content
Pine Computer Request access
Menu

25 / 26 Engineering and QA · Example

Reproduce a bug

Every new bug report is tried in a clean browser before an engineer opens the ticket.

Who it’s for
AI triage tools in issue trackers, where bug reports arrive written in a hurry.
Why it’s hard
The report says “the export shows no rows” and skips how the customer got there. A developer’s own browser has old sign-ins and cached files that can hide the bug.
You get back
  • Whether the bug happens, and the exact steps
  • A screenshot and the browser’s logs from the run
How it runs, in your product’s code

Each report gets a fresh computer with an empty browser. It signs in as the test customer, and when Pennant asks for a code, the support engineer reads it off the authenticator app and types it in on the screen. Then it follows the report, filling in the missing steps, and exports September’s invoices. If the file comes out empty, the steps that did it go on the ticket.

Ruby · example
computer = pine.create_computer(  location: { country: "US" },  ephemeral: true)session = computer.create_session(name: "main", browser: true) session.agent.run(<<~JOB)  Follow this bug report in a clean browser as the test  customer, and say whether the bug happens.JOB session.agent.events do |event|  case event.type  when "needs_input"    # Your user takes the controls on the live desktop in your    # product, does what only they can, and hands them back.    session.agent.answer(event.payload["request_id"], "Done.")  when "result"    session.list_artifacts(turn_id: event.turn_id).each do |file|      row.attach(file.filename, session.read_artifact(file.id))    end    break if event.terminal?  endend computer.stop

Build more.
Hand AI the work.

Pine Computer is invite-only while in beta.