Your coding agent ships fast. Regresco keeps what it ships tested.
Through MCP it saves a regression flow, runs it in a real browser, and on the next release reads what broke.
Example project in the video. Free plan, no card.
https://t.co/DyBn8GSqxY
#buildinpublic
@Velessus Nothing can prove a rename: either way the old selector is gone. So it goes by the name. A step heals only when exactly one element on the page is still called what the step asks for. Removed, with nothing called that: the step fails. A check never heals.
Your coding agent ships fast. Regresco keeps what it ships tested.
Through MCP it saves a regression flow, runs it in a real browser, and on the next release reads what broke.
Example project in the video. Free plan, no card.
https://t.co/DyBn8GSqxY
#buildinpublic
Someone renamed a button's id. Should the test go red?
If one button is still called Send invoice, Regresco heals the step and shows both selectors.
If two buttons are called Delete, it doesn't guess. The step fails.
Example project in the video.
#buildinpublic#QA#testing
@Velessus It changes the test. Saving writes the new selector into the flow, so every later run starts with it. The run that healed keeps its record: the selector that stopped matching and the one that passed. Until you save, nothing changes and the next run has to find it again.
@Velessus It names the step, not the selector: "Checkout: all 6 steps passed; step 4 needed a new selector 3 runs in a row". It opens that run, where the step shows the selector that stopped matching, the one that passed instead, and a button to save it.
@Velessus Yes. The count belongs to one saved selector: runs in a row that healed the step while it stayed the same. Save the new one and the series ends, because the step passes without a heal. If it breaks again later, the count starts from one.
@Velessus It's in now. When the same step needs a new selector run after run, the run page says how many runs in a row, and the third in a row sends a notification. Your agent gets the same line in get_run. Saving the selector stops the count.
@Velessus Not yet. Each run marks that step Auto-healed and offers to save the new selector, but nothing counts it across runs. A step that keeps healing should say so, so it's going on the list. Thanks.
Partly. If a click or fill only worked with a different selector, the run says so and offers to save the new one. A step that never passed and can't find its element is marked broken selector rather than likely regression, so you know the flow needs fixing. It won't catch a check that passes while testing the wrong thing. How do you handle that today?
@jacksunny18 That part is already in the payload. Each failed step says how the same step did in the run it was compared with, passed or failed. The selector isn't compared yet, and that's a fair addition.
Three tests failed. Only one was a bug.
Regresco labels every failed step: likely regression, broken selector or flaky, with the reason next to it.
Your coding agent reads the same labels over MCP and knows where to look.
Example project in the video.
#buildinpublic#QA#MCP
@jacksunny18 It can already. get_run returns the id of the run it was compared with, and the run tools take that id, so the agent can open the earlier run's steps and check "passed before" itself.
@Dokitrader Yes, that's the costly one: a flaky step "fixed" with a code change nobody needed. The Flaky label comes with "rerun before treating it as a bug", so an agent reading the failure gets that hint with it.
@jacksunny18 Agreed, a bare tag just moves the guess. Over MCP each label comes with the selector that failed, the error, console errors and whether the step passed in the previous run, and the screenshot is one call away. Selector hints are marked unverified.
@drunk_vibecoder Makes sense. On the Regresco side, a click or fill written with a role and name only heals onto an element with that exact accessible name, so if the name is gone the step fails instead of passing on an id. What do you use for the scans, axe?
@drunk_vibecoder Asserts never heal, so I'd do it your way: the role/name check as its own assert step, which stays strict. A click or fill can heal, but the step is then marked with both selectors, so you see it wasn't a clean pass. Do you run a11y checks in the same suite?