Enloop v0.16.0
Extension 0.16.0 · plugin 0.20.0 · grammar 0.0.13 · daemon 0.1.0
Writing cases
- Environments before cases.
fullandquickread the project's
environments before any source, and when there are none they stop and
ask once — set them up now, or continue with local only — and never go
on without an answer. Setting up is the environment master, which
/enloop:setup environmentsalso runs on its own: local is recorded
from the repo without a question, then each further deployment from what
you paste — atshline, a command, an address, a sentence — and one
more question, the address, only when the paste did not give one. A
name likeprodmarks it production; a preview name makes it
temporary. Each environment may carry a reach, how an agent gets to
its data: Teleport (tsh), a command that exits 0 when the deployment
answers, or a sentence for a human. The validator probes a reach as
soon as it is recorded and keeps the result either way;
enloop-case.mjs reachprobes again.tsh loginis the one step left
to you, shown as the exact line to run. Nothing written is a secret — a
pasted connection URL loses its password before it is recorded — and
the panel only shows the reach; it never opens a tunnel. - A value left to the environment must exist somewhere. With the data
folder in view, the linter refuses a case whose environment-provided
variable or domain has a value in no environment of its project — that
run would have to ask — and warns, naming them, when some environments
have it and others do not. Where the value differs per deployment and
the environment has a reach, the skills record a lookup — a
read-onlyselectkept on the environment — andenloop-case.mjs lookup … --recordruns it through the tunnel and writes the answer into the
file. Production answers only with--production, and never records:
what is found there stays with the tester.
Running cases
- Temporary environments. A Shipyard or ArgoCD preview that exists
for one branch has a home: Add temporary under Settings →
Environments, or--temporary/--until YYYY-MM-DDfrom the skills.
They live inenvironments.local.jsonbesideenvironments.json,
git-ignored, and each expires — the end of today unless a date says
otherwise — after which it is gone from the picker, the screen and the
file. The picker lists one aspr-42 · until Sep 11, a production one
asprod · production; a temporary environment is never the default. A
card with a reach shows it in one read-only line, with the last probe's
verdict. - The editor opens over the page. Edit no longer opens a tab of its
own: the editor is framed into the tab under test, full size, and over
the side panel when that page cannot be scripted. A tab of its own took
the connected folder's grant with it when it closed, and the save
failed; a frame does not. Drawn shapes can now be selected, moved,
resized, recoloured and deleted after the fact, with undo and redo
over the whole history — a runner-drawn callout and a hand-drawn one
alike. - A capture that keeps the page's focus. A click on the panel takes
focus from the page, and the dropdown you opened there closes before
the picture is taken. So every capture button also fires when you
hover it with Ctrl+Shift held, and there is a delayed capture that
counts down three seconds on the button while you click back into the
page and open what should be in the picture.
Guides
- A guide comes last. The docs and the guide skill now say what
a guide is for and when to write it: it is for the end user, so it
carries less than a case — selectors, notes, test data, verdicts and
comments never reach the reader — and it is written once, on the final
version of the feature, right before the push that ships it, because
its screenshots are the UI at the moment of the run. The skill looks at
the tree first and, when UI files are still uncommitted, asks once
whether to write now or after the last change lands. export-guide
ends by saying that a change to the feature means a new run and a new
export, never an edit to the images.