I have four recordings under projects/demo-shop/recorded/ and I have been told to convert them rather than hand-write the features. Before I point it at anything that matters: what does sdods record convert write, and where? I do not want a generator rearranging files under me while I am reading something else.
What does sdods record convert actually write, and where do I review it before it lands?
2 answers
Accepted answer
Nothing lands in the working tree.
record converthands the spec to the generator agent and the agent's output is a proposal — a directory underproposals/<id>/with a manifest, the files it wants to add and a diff. Yourfeatures/,steps/andpages/are untouched until a person says otherwise.bashsdods record convert projects/demo-shop/recorded/checkout.spec.ts sdods proposals list sdods proposals show <id> sdods proposals accept <id>acceptapplies the files and then runssdods lint, unless you pass--no-lint;--branch <name>puts them on a new git branch if you would rather review it as a pull request.rejecttakes a--reason.The recording itself is never deleted, and it stays runnable under
-l recordedwhether you accept or not, so the conversion is additive in both directions.If you want the shape without spending a model call:
bashsdods record convert projects/demo-shop/recorded/checkout.spec.ts --dry-runwhich prints the prompt and the plan and stops.
--adapter fakeis the other way to exercise the plumbing without a provider.answered by Thom Vasseur5,470 ·Having reviewed a handful of these, the three things worth actually reading in the proposal:
- which steps it reused — it matches the existing step catalogue first and only writes new steps for actions it could not match, so a proposed step that reads almost like one you already have is the thing to send back
- the locators it lifted into the page object — anything fragile in the spec is fragile in the proposal, because conversion does not improve locators, it relocates them
- the tags — every scenario needs exactly one layer tag and one suite tag, and since
acceptruns lint, a mistagged proposal fails there rather than landing quietly
The roles guide also shows passing two recordings of the same flow at once, in which case the generator proposes a single Scenario Outline with the role in the examples table instead of two near-identical scenarios: record and playback with roles and environments.
answered by Ade Oyinlola419 ·
Have the same question?
Ask it with the command you ran and the output you got, and it will be answered here.
Ask a questionRelated
- Linting only the staged feature files in a pre-commit hook — is --json stable enough?0 answers
- Does colorScheme from the env use: block reach a recording, or only the runner?0 answers
- har record printed no scrub line and the Cookie header is still sitting in the file0 answers
- Audit wants proof the agents cannot write to our repo — what do I actually show them?2 answers
- Can --explain show the values a layer lost with, not just the winner?0 answers