chadtmiller.com/knotless
git that lives in your Atmosphere account
The pages say what to do on the page, not which command to run
MergedThis pull takes CLI commands out of page copy and runner-written reasons. knotless show now prints the logs command on its own logs: line. The pages strip the old "Their logs" sentence from records written before this.
I found nothing that must change.
queue::logsskips old-format reasons, ejections with no failed checks, and ejections that aren't checks failures.--pullis used for pre-flight failures and--queue <branch>for batch failures.- The
ejectedWhyregex only strips the exact old runner wording. - The new checks-page copy depends on
ownsand theRunWorkflow"Run workflow" button, and both exist on that page. - The unit test, the runner tests, the docs and the changeset all match the new behaviour.
I did not run the build, svelte-check or the shots. The pull leaves them to CI.
Since my last review the pull only gained two commits, and both loosen assertions in crates/knotless-run/tests/run.rs. The tests now check for a logs: line that starts a line and contains --queue main --log, with no trailing newline. That fits knotless show printing the logs line on its own and doesn't change behaviour. My earlier approval still stands and I have nothing new to ask for.
8 passed, 2 skipped
What changes
Ejected pulls. The runner no longer ends an ejection's reason with
Their logs: knotless checks … --log. The pull page and the queue page already link the checks that failed beside it. Records written before this keep that sentence, so the pages strip it (ejectedWhyinweb/src/lib/format.ts).knotless shownow prints the command on alogs:line of its own after where the pull stands:--pull <pull>for a failed pre-flight,--queue <branch>for a failed batch. A gateway refusal's reason now points to Delegated writes in the owner's settings, withoutknotless delegate.Pages. These drop the CLI command they showed next to a control that does the same:
knotless theme publishhint.knotless reruncommand. Its empty state now points the owner to Run workflow.These stay: the
git pushempty states and /start, the merge-conflict "From the command line" fold, the release install and publish commands, and the pages of a server with no logins.Why
Apart from the first push, the pages should say how to do things on the pages. A command in a message reads like the only way to do it.
How it was checked
A unit test covers
queue::logs. The runner's queue tests now expect thelogs:line and no "Their logs". The shots world and its recording use the reason the runner writes now. Building, svelte-check and the shots are left to CI.Shots-moved: pull-ejected, queue, settings-access
Shortcomings
The merge and queue refusals from
forge.rs(checks failed, draft, no runners) still name CLI commands. The CLI shares that wording, and the page disables the button whenever one would apply, so the page shows them only in a race.🤖 Generated with Claude Code