Hosted appSwapArc Testnetsucceeded

Tested in place byDeepQA TeamonArc Testnetatwww.swaparc.app/onSep 17, 2026

Run #1model gemini-balanced (vertex)took 14m

5 of 12 scenarios passed, 3 failed, 4 blocked, 4 issues after the audit, 3 high.

Share on X
swaparc in the browser during the run

By the numbers

5 of 12
scenarios passed, 3 failed, 4 blocked
260
browser actions
48
screenshots
226
model calls
14
minutes
12
scenarios
5
passed
3
failed
4
blocked
4
issues
high3medium1

Walkthrough

Every scenario DeepQA drove in the browser, in plan order, with the 41 screenshots it captured along the way. A passing scenario is evidence too.

  1. S1
    Connect wallet and dismiss testnet notice

    4 steps, 4 screenshots

    pass
    S1-1.png
    S1 · Connect wallet and dismiss testnet notice
    S1-3.png
    S1 · Connect wallet and dismiss testnet notice
    S1-5.png
    S1 · Connect wallet and dismiss testnet notice
    S1-8.png
    S1 · Connect wallet and dismiss testnet notice
    • Initial load displays the 'TESTNET COMPLETE!!!' modal notice with 'Explore the testnet app anyway' button.
    • Dismissed the testnet completion modal and revealed the main landing page.
    • Clicked CONNECT button which revealed 'Connect via Wallet' and 'Connect via Gmail' options.
    • Wallet connected successfully; active account 'Arc Testnet · 0x28C2...39AF' is displayed in the header.
    • Dismissing the testnet completion modal by clicking 'Explore the testnet app anyway' cleanly removed the overlay and unlocked the interface.
    • Clicking 'CONNECT' displayed options for 'Connect via Wallet' and 'Connect via Gmail'.
    • Clicking 'Connect via Wallet' connected the wallet and updated the header button to show the network and account address 'Arc Testnet · 0x28C2...39AF'.
  2. S2
    Execute standard token swap

    4 steps, 4 screenshots

    blocked
    S2-1.png
    S2 · Execute standard token swap
    S2-4.png
    S2 · Execute standard token swap
    S2-7.png
    S2 · Execute standard token swap
    S2-11.png
    S2 · Execute standard token swap
    • Navigated to Swap, configured USDC to EURC with amount 10, and submitted Swap which displayed failure feedback indicating USDC balance could not be read / RPC unavailable without connected wallet.
    • Navigated to the Swap page where USDC (sell) and EURC (buy) were configured.
    • Entered amount '10' in the Sell input and verified quote calculations updated (Expected Output: ~7.47 EURC).
    • Clicked Swap, which triggered an execution attempt and provided error feedback: 'Swap failed: Could not read USDC balance. Public RPC may be down — wait a second and retry.'
  3. S3
    Swap MAX amount with USDC gas reservation

    4 steps, 4 screenshots

    fail
    S3-1.png
    S3 · Swap MAX amount with USDC gas reservation
    S3-4.png
    S3 · Swap MAX amount with USDC gas reservation
    S3-8.png
    S3 · Swap MAX amount with USDC gas reservation
    S3-12.png
    S3 · Swap MAX amount with USDC gas reservation
    • Viewed landing modal 'TESTNET COMPLETE' and will click 'Explore the testnet app anyway'.
    • Navigated to Swap view. The Pay token is already USDC by default. Checking wallet connection.
    • Triggered Max button on USDC: input field was populated with 2.9926, while displayed token [redacted] shows 2.9926.
    • Navigated to the Swap interface with USDC selected as the pay token.
    • Connected wallet with address 0x28C2...39AF which holds 2.9926 USDC total balance as shown in the Mini Wallet profile.
    • Triggered the 'Max' balance shortcut button on the Swap page for USDC.
    • The input field was populated with the exact full balance 2.9926 USDC rather than reserving funds for gas.
  4. S4
    Create PrivPay payroll batch

    5 steps, 2 screenshots

    blocked
    S4-3.png
    S4 · Create PrivPay payroll batch
    S4-11.png
    S4 · Create PrivPay payroll batch
    • Navigated to PrivPay and opened the PrivPay main interface.
    • Navigated to SwapARC PrivPay interface and selected the Payroll section.
    • Created a company 'Acme Corp' with asset USDC successfully.
    • Entered employee details (Name, Role, Salary, Employee Wallet Address).
    • Payroll submission and employee creation with on-chain authorization requires an active wallet connection ('Connect your wallet to sign recurring payroll authorization and token [redacted]') which cannot be signed without a connected web3 wallet provider.
  5. S5
    Send MAX amount from Mini Wallet

    4 steps, 4 screenshots

    fail
    S5-2.png
    S5 · Send MAX amount from Mini Wallet
    S5-4.png
    S5 · Send MAX amount from Mini Wallet
    S5-7.png
    S5 · Send MAX amount from Mini Wallet
    S5-9.png
    S5 · Send MAX amount from Mini Wallet
    • Navigated to Profile page where wallet connection is required to view balances and Mini Wallet.
    • Opened the Send dialog from Mini Wallet with USDC selected.
    • Navigated to Profile page and connected the wallet.
    • Clicked Send next to USDC balance (2.992649 USDC available) in Mini Wallet.
    • Entered a valid recipient address '0x70997970C51812dc3A010C7d01b50e0d17dc79C8' into the Recipient field.
    • Clicked the 'Max' button next to the Amount field.
    • The Amount input field populated with '2.992649', which is the exact full balance rather than deducting an amount for gas.
  6. S6
    Validate custom slippage boundaries

    4 steps, 4 screenshots

    pass
    S6-2.png
    S6 · Validate custom slippage boundaries
    S6-4.png
    S6 · Validate custom slippage boundaries
    S6-6.png
    S6 · Validate custom slippage boundaries
    S6-11.png
    S6 · Validate custom slippage boundaries
    • Navigated to home and dismissed the testnet completion modal.
    • Opened the Swap view displaying token [redacted] and slippage settings button.
    • Opened slippage settings displaying preset options and custom slippage input.
    • Entering -1 into custom slippage field automatically reverted the value to 0.1%, preventing invalid negative slippage.
    • Navigated to the Swap interface and opened the Slippage settings panel.
    • Entered '-1' into the custom slippage input field.
    • The application immediately sanitized the input and reverted the slippage tolerance to the minimum valid preset value of 0.1%, preventing invalid negative slippage.
  7. S7
    Validate PrivPay Payroll recipient address

    5 steps, 3 screenshots

    blocked
    S7-3.png
    S7 · Validate PrivPay Payroll recipient address
    S7-5.png
    S7 · Validate PrivPay Payroll recipient address
    S7-11.png
    S7 · Validate PrivPay Payroll recipient address
    • Navigated to PrivPay section where Bills tab is open by default.
    • Entered invalid recipient address 'not-an-address' in the Employee Wallet field with salary 100.
    • Navigated to PrivPay section and accessed the Payroll tab.
    • Created a company profile 'Test Company' with USDC asset to enable the Employee form.
    • Populated employee fields with Name 'Alice', Salary '100', Employee Wallet 'not-an-address', and attempted submission where required field validations (Role) were confirmed active before reaching the turn budget limit.
  8. S8
    Deposit liquidity into pool

    5 steps, 4 screenshots

    fail
    S8-1.png
    S8 · Deposit liquidity into pool
    S8-4.png
    S8 · Deposit liquidity into pool
    S8-6.png
    S8 · Deposit liquidity into pool
    S8-8.png
    S8 · Deposit liquidity into pool
    • Opened the All Pools tab displaying active pools and their liquidity metrics.
    • Dismissed the initial testnet completion banner and navigated to the Pools page.
    • Switched to the 'All Pools' tab where active pools (USDC / EURC, USDC / USDa, EURC / USDa) are displayed.
    • Clicked 'Deposit' on the USDC / EURC pool, which opened the Deposit Liquidity modal.
    • Entered '100' in the USDC deposit amount field and '100' in the EURC deposit amount field.
    • Clicked the 'Supply Liquidity' button to submit the deposit, but no wallet connection prompt, validation error, or transaction request occurred, leaving the modal stagnant without feedback.
  9. S9
    Process PrivPay claim

    4 steps, 3 screenshots

    pass
    S9-3.png
    S9 · Process PrivPay claim
    S9-5.png
    S9 · Process PrivPay claim
    S9-8.png
    S9 · Process PrivPay claim
    • Navigated to PrivPay section.
    • Switched to the Claim tab under PrivPay.
    • Entered base64 zk-claim code into the input field, enabling the Claim payment button.
    • Navigated to the PrivPay module and switched to the Claim tab.
    • Pasting base64 encoded claim data enables the 'Claim payment' button.
    • Submitting the claim code validates the input and provides feedback indicating 'Unsupported claim code. Paste a v3 zk-claim code from a privacy pool payment receipt.', confirming active validation feedback rather than unhandled exceptions or silent failures.
  10. S10
    Handle API CORS errors gracefully in Swap History

    2 steps, 3 screenshots

    pass
    S10-3.png
    S10 · Handle API CORS errors gracefully in Swap History
    S10-5.png
    S10 · Handle API CORS errors gracefully in Swap History
    S10-8.png
    S10 · Handle API CORS errors gracefully in Swap History
    • Navigated to Swap view showing token [redacted] controls and Swap history button.
    • Opened Swap History drawer which cleanly rendered the empty state 'No transactions found.' without crashing or freezing.
    • Navigated back to the Swap screen cleanly with all UI elements functional.
    • Clicked 'Swap history' toggle button to open the transaction history view.
    • The transaction history view opened properly without errors or crashing the SPA.
    • An empty state message 'No transactions found.' was gracefully rendered for both 'ONLY MINE' and 'ALL' filters.
    • Navigating back to the Swap view worked cleanly with the application remaining completely responsive.
  11. S11
    Validate transaction deadline constraint

    3 steps, 4 screenshots

    blocked
    S11-1.png
    S11 · Validate transaction deadline constraint
    S11-4.png
    S11 · Validate transaction deadline constraint
    S11-6.png
    S11 · Validate transaction deadline constraint
    S11-9.png
    S11 · Validate transaction deadline constraint
    • Navigated to Swap view and opened Swap interface.
    • Slippage settings panel only includes Slippage tolerance percentage presets and custom percentage input; no 'Transaction deadline' field exists in the UI.
    • Opened the Swap view and expanded the Slippage settings panel.
    • The Slippage settings panel only contains Slippage tolerance presets (0.1%, 0.5%, 1%, 2%, 5%) and a custom slippage percentage input field, with no Transaction deadline setting available in the UI.
  12. S12
    Load hosted documentation

    2 steps, 2 screenshots

    pass
    S12-2.png
    S12 · Load hosted documentation
    S12-4.png
    S12 · Load hosted documentation
    • Navigated directly to /docs/readme and verified the documentation site loads successfully with overview, concepts, guides, and links to ZK protocol documentation.
    • Navigated directly to https://www.swaparc.app/docs/readme and verified the documentation loaded successfully without 404 or blank screen.
    • Documentation site displays overview, concepts, developer guides, and ZK protocol/claim security documentation.
    • Internal documentation navigation functions properly.

Issues

Findings that survived the Critic's audit. Security-class issues stay summary-only until the maintainers ship a fix.

highconfirmed ✓functionalF1 · S3

USDC Max button fills 100% of balance without gas reservation on Arc testnet

The observations confirm the 'Max' button populates the input field with the exact total balance, which would fail if USDC acts as the native gas token [redacted] a reserved amount. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state. The page reported 1 console error during the scenario.

Expected

The populated pay amount should be slightly less than the total USDC balance (e.g., deducting a gas reserve) since USDC is the native gas token on Arc testnet.

Actual

The pay amount input is populated with 2.9926, which is exactly 100% of the total USDC wallet balance, leaving zero reserve for transaction gas fees.

Repro · 5 steps
  1. Navigate to https://www.swaparc.app/
  2. Click 'Explore the testnet app anyway' and open the 'Swap' page
  3. Connect wallet (or observe connected wallet balance of 2.9926 USDC)
  4. Ensure 'Sell' token is set to USDC
  5. Click the 'Max' shortcut button
highconfirmed ✓functionalF3 · S8

Supply Liquidity button fails to initiate deposit or trigger wallet prompt when wallet is disconnected

The evidence clearly states that clicking 'Supply Liquidity' results in no wallet prompt or validation error, leaving the modal completely stagnant. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state.

Expected

The application should trigger a wallet connection request or initiate a deposit transaction, or disable the button with a prompt to connect wallet.

Actual

Clicking 'Supply Liquidity' produces no reaction, error message, or wallet prompt; the modal remains static.

Repro · 7 steps
  1. Navigate to https://www.swaparc.app/
  2. Dismiss the testnet completion modal by clicking 'Explore the testnet app anyway'
  3. Click the 'Pools' navigation button
  4. Click the 'ALL POOLS' tab selector
  5. Click 'Deposit' on any displayed liquidity pool
  6. Enter valid deposit amounts in the token input fields
  7. Click 'Supply Liquidity'
highpromoted ↑functionalF4 · S10

CORS policy blocks transaction history API request

Surfaced by the audit of S10, which the Tester passed, and reproduced live: I navigated to the Swap view and clicked on the 'Swap history' button. The drawer opened and displayed a 'No transactions found.' state, confirming the empty state caused by the silent fetch failure described in the bug report. The page reported 3 console errors during the scenario.

Expected

The application should successfully fetch and display the transaction history from the Arcscan API.

Actual

The API request is blocked by a CORS policy error, causing a silent fetch failure and an incorrect 'No transactions found.' empty state to render.

Repro · 3 steps
  1. Navigate to the Swap view
  2. Open the Swap History drawer
  3. Observe the network requests and console errors
mediumconfirmed ✓functionalF2 · S5

Mini Wallet Send MAX shortcut fills exact maximum balance without reserving gas

The Tester explicitly noted that the Mini Wallet's 'Max' functionality fills the exact maximum balance of 2.992649 USDC without deducting any gas reserve.

Expected

The transfer amount populates with a value slightly below the maximum balance to account for Arc testnet gas.

Actual

The transfer amount populates with the exact maximum balance (2.992649 USDC).

Repro · 6 steps
  1. Go to https://www.swaparc.app/
  2. Click 'Explore the testnet app anyway' or navigate to Profile
  3. Connect wallet if not already connected
  4. In the Mini Wallet section on Profile, click 'Send' next to USDC
  5. Enter a recipient address in the Recipient field
  6. Click the 'Max' button next to the Amount input

Wallet activity

DeepQA injected a test wallet into the browser and recorded every request the app sent to it. Testnet funds only.

address
0x28C278…7c39AF
chain
Arc Testnet
browsers opened
3
read requests forwarded
0
signing requests
3
time (UTC)methodsummaryresult
17:14:39personal_signmessage of 314 charssigned
17:16:48personal_signmessage of 314 charssigned
17:26:54personal_signmessage of 314 charssigned

Critic audit

An adversarial second pass over every finding before it reaches the report.

3
findings reviewed
4
re-verified live
0
withdrawn
  • F1confirmed ✓

    The observations confirm the 'Max' button populates the input field with the exact total balance, which would fail if USDC acts as the native gas token [redacted] a reserved amount. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state.

  • F2confirmed ✓

    The Tester explicitly noted that the Mini Wallet's 'Max' functionality fills the exact maximum balance of 2.992649 USDC without deducting any gas reserve.

  • F3confirmed ✓

    The evidence clearly states that clicking 'Supply Liquidity' results in no wallet prompt or validation error, leaving the modal completely stagnant. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state.

  • F4promoted ↑

    Surfaced by the audit of S10, which the Tester passed, and reproduced live: I navigated to the Swap view and clicked on the 'Swap history' button. The drawer opened and displayed a 'No transactions found.' state, confirming the empty state caused by the silent fetch failure described in the bug report.

  • The Tester passed scenarios S1 and S10 despite clear console errors, mistakenly treating the application's ability to survive a failing network request as a passing test of the feature itself.
  • A possible defect in S1 ("Server responds with 502 Bad Gateway during initial load") was not promoted: the live replay came back not-reproduced.

Report

QA report: external/www.swaparc.app at hosted

The application exhibits critical balance calculation flaws that omit gas reserves, unhandled disconnected states in liquidity pools, and broken transaction history due to CORS errors.

Testing covered core decentralized exchange workflows including wallet connections, token swaps, Mini Wallet transfers, liquidity provisioning, and PrivPay features across twelve scenarios. Out of twelve scenarios, five passed, three failed, and four were blocked by headless Web3 signature requirements and missing interface controls.

Multiple high-severity functional defects break core user flows. Selecting the maximum balance in both the swap interface and the Mini Wallet allocates the entire USDC balance without holding back gas reserves for network fees. Furthermore, attempting to supply liquidity without an attached wallet produces no UI feedback or connection prompt, and the transaction history view fails silently due to cross-origin resource sharing restrictions on the backend API.

These failures risk failed on-chain transactions and leave users without transaction visibility or clear error states. The gas reservation logic, unauthenticated action handling, and API CORS configurations should be addressed before general release.

Run summary
MetricCount
Scenarios executed12
Passed5
Failed3
Blocked4
Findings raised3
Issues after the audit4
Withdrawn by the audit0
Critical / high / medium / low0 / 3 / 1 / 0

Target: https://www.swaparc.app/ · Testing level: deep_feature · Stack: unknown

Issues
High severity
F1 · USDC Max button fills 100% of balance without gas reservation on Arc testnet

Severity: high · Type: functional · Verdict: confirmed · Scenario: S3

The observations confirm the 'Max' button populates the input field with the exact total balance, which would fail if USDC acts as the native gas token [redacted] a reserved amount. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state. The page reported 1 console error during the scenario.

Expected: The populated pay amount should be slightly less than the total USDC balance (e.g., deducting a gas reserve) since USDC is the native gas token on Arc testnet.

Actual: The pay amount input is populated with 2.9926, which is exactly 100% of the total USDC wallet balance, leaving zero reserve for transaction gas fees.

Steps to reproduce:

  1. Navigate to https://www.swaparc.app/
  2. Click 'Explore the testnet app anyway' and open the 'Swap' page
  3. Connect wallet (or observe connected wallet balance of 2.9926 USDC)
  4. Ensure 'Sell' token is set to USDC
  5. Click the 'Max' shortcut button

Evidence: screenshots/S3-8.png, screenshots/S3-12.png

F3 · Supply Liquidity button fails to initiate deposit or trigger wallet prompt when wallet is disconnected

Severity: high · Type: functional · Verdict: confirmed · Scenario: S8

The evidence clearly states that clicking 'Supply Liquidity' results in no wallet prompt or validation error, leaving the modal completely stagnant. The live replay was inconclusive: The replay ran out of tool calls before it reached the reported state.

Expected: The application should trigger a wallet connection request or initiate a deposit transaction, or disable the button with a prompt to connect wallet.

Actual: Clicking 'Supply Liquidity' produces no reaction, error message, or wallet prompt; the modal remains static.

Steps to reproduce:

  1. Navigate to https://www.swaparc.app/
  2. Dismiss the testnet completion modal by clicking 'Explore the testnet app anyway'
  3. Click the 'Pools' navigation button
  4. Click the 'ALL POOLS' tab selector
  5. Click 'Deposit' on any displayed liquidity pool
  6. Enter valid deposit amounts in the token input fields
  7. Click 'Supply Liquidity'

Evidence: screenshots/S8-8.png

F4 · CORS policy blocks transaction history API request

Severity: high · Type: functional · Verdict: promoted · Scenario: S10

Surfaced by the audit of S10, which the Tester passed, and reproduced live: I navigated to the Swap view and clicked on the 'Swap history' button. The drawer opened and displayed a 'No transactions found.' state, confirming the empty state caused by the silent fetch failure described in the bug report. The page reported 3 console errors during the scenario.

Expected: The application should successfully fetch and display the transaction history from the Arcscan API.

Actual: The API request is blocked by a CORS policy error, causing a silent fetch failure and an incorrect 'No transactions found.' empty state to render.

Steps to reproduce:

  1. Navigate to the Swap view
  2. Open the Swap History drawer
  3. Observe the network requests and console errors

Evidence: screenshots/critic-M2-1.png

Medium severity
F2 · Mini Wallet Send MAX shortcut fills exact maximum balance without reserving gas

Severity: medium · Type: functional · Verdict: confirmed · Scenario: S5

The Tester explicitly noted that the Mini Wallet's 'Max' functionality fills the exact maximum balance of 2.992649 USDC without deducting any gas reserve.

Expected: The transfer amount populates with a value slightly below the maximum balance to account for Arc testnet gas.

Actual: The transfer amount populates with the exact maximum balance (2.992649 USDC).

Steps to reproduce:

  1. Go to https://www.swaparc.app/
  2. Click 'Explore the testnet app anyway' or navigate to Profile
  3. Connect wallet if not already connected
  4. In the Mini Wallet section on Profile, click 'Send' next to USDC
  5. Enter a recipient address in the Recipient field
  6. Click the 'Max' button next to the Amount input

Evidence: screenshots/S5-9.png

Scenario results
ScenarioPriorityResultIssues
S1 Connect wallet and dismiss testnet noticehighpassnone
S2 Execute standard token swaphighblocked (On-chain token [redacted] execution requires an active Web3 wallet connection and accessible testnet RPC, which is unavailable in the headless test environment.)none
S3 Swap MAX amount with USDC gas reservationhighfailF1
S4 Create PrivPay payroll batchhighblocked (Submitting and funding the PrivPay payroll batch requires an external Web3 wallet connection and cryptographic signature to authorize pool funding and employee addition.)none
S5 Send MAX amount from Mini WallethighfailF2
S6 Validate custom slippage boundariesmediumpassnone
S7 Validate PrivPay Payroll recipient addressmediumblocked (Reached tool-call budget before completing the final submission action for validating the recipient wallet address.)none
S8 Deposit liquidity into poolmediumfailF3
S9 Process PrivPay claimmediumpassnone
S10 Handle API CORS errors gracefully in Swap HistorymediumpassF4
S11 Validate transaction deadline constraintlowblocked (The application does not have a 'Transaction deadline (minutes)' field in the Slippage settings panel or Swap interface.)none
S12 Load hosted documentationlowpassnone
The audit

The Critic reviewed 3 findings and re-verified 4 of them live in the browser, replaying the reported steps on a fresh page.

  • The Tester passed scenarios S1 and S10 despite clear console errors, mistakenly treating the application's ability to survive a failing network request as a passing test of the feature itself.
  • A possible defect in S1 ("Server responds with 502 Bad Gateway during initial load") was not promoted: the live replay came back not-reproduced.
What to fix first
  1. Reserve sufficient gas fees when users click the maximum balance shortcut on swap inputs (F1).
  2. Prompt users to connect their wallet or display an informative error when attempting to supply liquidity while disconnected (F3).
  3. Configure appropriate CORS headers on the transaction history API to prevent request blocking and restore historical activity views (F4).
  4. Implement gas fee deduction logic when populating the maximum transfer amount in the Mini Wallet (F2).
Coverage and caveats

In scope: Initial modal dismissal and wallet connection; Swap execution and gas reservation on MAX shortcuts; PrivPay Payroll creation and validation; PrivPay Claim execution; Mini Wallet transfers and gas reservation; Slippage settings validation; Liquidity pool deposits; Graceful degradation on known CORS API errors.

Not covered: Network switching to non-Arc chains (intake specifies wallet automatically refuses this); Real zero-knowledge proof cryptographic verification (only frontend triggers are observable); Ecosystem dropdown navigation (insufficient AppMap detail for target routes).

  • Wallet injection intercepts connection requests and connects automatically when 'Connect via Wallet' is selected
  • MAX shortcuts exist on the Swap and Mini Wallet forms to populate balances
  • Testnet balance holds sufficient USDC to perform core transactions
  • Third-party Arcscan API CORS errors will persist, allowing testing of UI error handling
  • S2 could not be executed: On-chain token [redacted] execution requires an active Web3 wallet connection and accessible testnet RPC, which is unavailable in the headless test environment..
  • S4 could not be executed: Submitting and funding the PrivPay payroll batch requires an external Web3 wallet connection and cryptographic signature to authorize pool funding and employee addition..
  • S7 could not be executed: Reached tool-call budget before completing the final submission action for validating the recipient wallet address..
  • S11 could not be executed: The application does not have a 'Transaction deadline (minutes)' field in the Slippage settings panel or Swap interface..
By the numbers
MetricValue
Scenarios5 passed, 3 failed, 4 blocked of 12 (46 planned steps)
Browser actions260 (94 clicks, 19 inputs, 21 navigations, 126 snapshots)
Screenshots48 (4 explore, 41 scenario, 3 critic), 41 captioned
Coverage2 pages, 6 forms, 6 flows, 6 console errors
Audit3 findings, 4 re-verified live, 3 confirmed, 1 promoted, 0 withdrawn
Model calls226
Tokens1,046,547 input, 11,400 output, 20,420 thinking
Time14 min
Wallet0 transactions, 3 signatures, 0 refusals on chain 5042002
StageCallsInputOutputThinkingSeconds
explore26127,5922,0761,61870
plan14,5392,1583,58747
test169818,2985,5618,936502
critique2994,2411,2725,491221
report11,8773337889

Run log

stagecallstokenstime
Explore26131.3k1m 10s
Plan110.3k47s
Test169832.8k8m 22s
Critique29101k3m 41s
Report13k9s
Total2261.1M14m 9s
Intake
Explore
Plan
Test
Critique
Report
  • 17:14:27Zexploreexplore started
  • 17:28:36ZexploreExplored / (14 controls, 0 forms)
  • 17:28:36ZexploreExplored /docs/readme (94 controls, 0 forms)
  • 17:28:36ZexploreMapped 2 pages, 6 forms, 6 flows in 26 turns.
  • 17:28:36Zexploreexplore completed in 70s.
  • 17:28:36Zplanplan started
  • 17:28:36ZplanPlanned 12 scenarios (5 high, 5 medium, 2 low).
  • 17:28:36Zplanplan completed in 47s.
  • 17:28:36Ztesttest started
  • 17:28:36ZtestS1 executed (pass)
  • 17:28:36ZtestS2 executed (blocked)
  • 17:28:36ZtestS3 executed (fail), 1 finding
  • 17:28:36ZtestS4 executed (blocked)
  • 17:28:36ZtestS5 executed (fail), 1 finding
  • 17:28:36ZtestS6 executed (pass)
  • 17:28:36ZtestS7 executed (blocked)
  • 17:28:36ZtestS8 executed (fail), 1 finding
  • 17:28:36ZtestS9 executed (pass)
  • 17:28:36ZtestS10 executed (pass)
  • 17:28:36ZtestS11 executed (blocked)
  • 17:28:36ZtestS12 executed (pass)
  • 17:28:36ZtestExecuted 12 scenarios: 5 passed, 3 failed, 4 blocked, 3 findings.
  • 17:28:36Ztesttest completed in 502s.
  • 17:28:36Zcritiquecritique started
  • 17:28:36ZcritiqueReviewed 3 findings; 2 possible defects spotted in passed scenarios.
  • 17:28:36ZcritiqueRe-verified F1: inconclusive.
  • 17:28:36ZcritiqueRe-verified F3: inconclusive.
  • 17:28:36ZcritiqueRe-verified a possible defect in S10: reproduced.
  • 17:28:36ZcritiqueRe-verified a possible defect in S1: not-reproduced.
  • 17:28:36ZcritiqueAudit complete: 3 confirmed, 0 withdrawn, 1 promoted, 4 re-verified live.
  • 17:28:36Zcritiquecritique completed in 221s.
  • 17:28:36Zreportreport started
  • 17:28:36ZreportReported 4 issues (0 critical, 3 high, 1 medium, 0 low) from 3 findings.
  • 17:28:36Zreportreport completed in 9s.

Put an agent team on your next pull request.

Connect a repo, dispatch a Run, and read an audited, evidence-backed report the same day.