# formulas/reproduce.toml — Reproduce-agent formula
#
# Declares the reproduce-agent's runtime parameters.
# The dispatcher reads this to configure the sidecar container.
#
# stack_script: path (relative to PROJECT_REPO_ROOT) of the script used to
# restart/rebuild the project stack before reproduction.  Omit (or leave
# blank) to connect to an existing staging environment instead.
#
# tools: MCP servers to pass to claude via --mcp-server flags.
#
# timeout_minutes: hard upper bound on the Claude session.
#
# Exit gate logic (standard mode):
#   1. Can I reproduce it? → NO → rejected/blocked → EXIT
#                          → YES → continue
#   2. Is the cause obvious? → YES → in-progress + backlog issue → EXIT
#                            → NO → in-triage → EXIT
#
# Exit gate logic (verification mode):
#   Triggered when all sub-issues of a parent bug-report are closed.
#   1. Bug fixed → comment "verified fixed", remove in-progress, close issue
#   2. Bug persists → comment "still reproduces", add in-triage, re-enter triage
#
# Turn budget (standard mode): 60% on step 1 (reproduction), 40% on step 2 (cause check).
# Turn budget (verification mode): 100% on re-running reproduction steps.

name            = "reproduce"
description     = "Primary: reproduce the bug. Secondary: check if cause is obvious. Exit gates enforced."
version         = 1

# Set stack_script to the restart command for local stacks.
# Leave empty ("") to target an existing staging environment.
stack_script    = ""

tools           = ["playwright"]
timeout_minutes = 15
