Repository navigation
fix: say the finalize-install egress item plainly - #2178
Closed
gominimal-aw-bot[bot] wants to merge 9 commits into
Closed
gominimal-aw-bot[bot] wants to merge 9 commits into
gominimal-aw-bot[bot] wants to merge 9 commits into
Conversation
…put in plain language (#2169)
* docs(minimal): reword activate network and egress flag help Replace jargon-heavy help on seven network and egress flags of min session activate (network, dynamic-ingress, dynamic-range, allow-subnets, allow-dns-hosts, deny-all-egress, credentialed- upstream) with plain-language wording: name the commands and modes a person types, say what each stance does, and drop internal ids and crate paths from user-facing help. Match the one affected --network row in docs/reference/cli-min.md. Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com> * docs(minimal): state which network mode enforces the egress flags The reworded `--allow-subnets` help said the egress flags work with `host_ip`. They are accepted there, and only `own_ip` enforces the rule flags: a host that decides per box refuses the create, and any other host runs the box with the rules unenforced. Say that in the help and in the matching reference row. State the per-list rule where the flags are read: once any egress flag is given, an allow list that is not given allows nothing. Reword `--allow-protocols` and `--deny-subnets` in the same voice as the other egress flags, restore the host_ip clause on `--deny-all-egress`, and name the host, not the daemon, as the one that opts out. * docs(minimal): say a hostname-only egress rule reaches no address directly --------- Co-authored-by: gominimal-aw-bot[bot] <281738952+gominimal-aw-bot[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: minimal-foundry[bot] <327719912+minimal-foundry[bot]@users.noreply.github.com>
* chore(minvmd): reword refusal messages in plain language The box and socket control refusals leaned on internal vocabulary (box rows, asks, gvproxy, provider directories). Reword the user-facing strings so a person operating a VM can tell what went wrong and what to do next, without changing behavior, exit codes, or how the client classifies each refusal. Wording-only change: no control flow, classification, or error-kind moves. Test assertions that pinned the old strings are updated to pin the new ones. * fix(minvmd): make three reworded refusals say what the code checks The exhaustion counts cover addresses a shutting-down box still holds, not only ones inside the reuse wait. A withdrawal can land with no box to remove. The switch-socket wait proves a failed connect, not a missing socket. The capacity classifier's comment no longer claims a prefix the control socket stopped adding. * fix(minvmd): name the connection kind in the cap refusal again The cap refusal says which of the four capped connection kinds is full, in plain words, and each test pins its own kind. A refused address allocation keeps a short plain prefix, so the reply reads whole whatever the answerer's reason says. The state-directory refusals name the fix, the exhaustion count handles the singular, and the port prompt refusal drops the thread. * fix(minvmd): name the resting rule only when an address is resting An exhausted run with every address live said "0 were released but cannot be reused yet", a rule that did not apply. The clause is now written only when an address is resting, and the zero and plural forms are tested. Also: an unknown connection kind is echoed in the cap refusal instead of reading as a control connection, the network helper refusals name gvproxy, and the state directory refusal names the VM host daemon. --------- Co-authored-by: gominimal-aw-bot[bot] <281738952+gominimal-aw-bot[bot]@users.noreply.github.com>
…2175) * fix(cli,tui): reword cleanup and status warnings in plain language The activate cleanup, port-collision, package-check, cache and dashboard status messages leaned on RPC names and internal jargon (AbortSession, DestroySession, deny-all, NoNet, warming the host cache). Users could not tell what went wrong or what to do next. Say what happened and what to do instead: name the session that could not be cancelled or removed and point at the command that removes it; say the box does not get the port rather than first-come on the shared address; say package names were not checked rather than the package check was skipped; say packages are not downloaded now rather than not warming the host cache; and the dashboard notes now say what the box cannot do and how to create it differently. Two tests pinning the old wording are updated to the new strings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(tui): give the deny-all note a command that runs as written The status line named `min session activate --allow-subnets` with no operand, which clap refuses, and without `--network own_ip`, which makes a host-address box instead of the own-address one the note is about. * fix(cli,tui): keep the shared network notes and finish the cleanup warnings Restore the dashboard's deny-all and no-network notes so they match the sentences `min session activate` and `min session policy` print. Reword the destroy timeout warning like its siblings, name `min session destroy` in the cancel warnings, and point the package-check warning at the daemon log. --------- Co-authored-by: gominimal-aw-bot[bot] <281738952+gominimal-aw-bot[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…2173) * fix(minimald): reword network refusals and errors in plain language Replace internal jargon in the session daemon's user-facing refusal and error strings: host_ip egress refusals now say what the machine can and cannot do, the stale DNS carve-out refusal names the observable symptom and remedy without 'carve-out' or 'zone answerer', and task/sandbox network errors no longer say 'PTask', 'tap', or 'row on the VM host'. Every test needle and e2e grep that pinned the old wording is updated to the new strings; behavior is unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(minimald): match the unenforceable-refusal doc comment to its reworded remedy * fix(minimald): name the minimal.toml remedy and the VM host daemon in reworded refusals The host_ip refusal names the egress-section form of deny-all beside the flag again, since the refused rules can come from minimal.toml. The task refusal says "the VM host daemon". A stale-rules refusal with no recorded address says the rules do not allow DNS at any address. The doc comments match the words they describe. * fix(minimald): name the session argument in the task refusal remedy A bare `min session destroy` fails: the command needs a session or `--all`. The refusal a task gets when its network addresses cannot be confirmed now shows `min session destroy <session>`, the form the attach refusals use, and the test pins it. --------- Co-authored-by: gominimal-aw-bot[bot] <281738952+gominimal-aw-bot[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ain language (#2172) * chore(minimald): reword attach and port-request failures plainly Replace jargon in the session daemon's user-facing errors with plain language: attach/spawn failures no longer say 'channel', 'host-side network registration', or 'pending-ask queue'; runtime port-publish refusals name the concrete fact that decided them (missing --dynamic-range, address not registered on the host machine, box not running) instead of internal nouns like 'report door', 'row', and 'stance'. Typed Display arms, the io::Error sites that wrap them, and every pinned test assertion are updated together; behaviour is unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(minimald): keep the next step in the not-running and not-connected port refusals The reworded refusals dropped "start the box and try again", leaving a caller with the verdict and no way forward. Keep the plain wording and restore the remedy. * fix(minimald): name the session in the destroy step and stop claiming a failed launch never started `min session destroy` needs a session or --all, so the two refusals that point at it now show the argument. A launch whose record write fails has already spawned its sandbox, so the refusal says starting failed rather than that the session was not started. * fix(minimald): name the VM host daemon and the port prompt in the reworded refusals The reworded attach and port-publish failures called the VM host daemon "the host machine" and "this machine", and a dynamic-ingress ask a "request". They now use the product's own names for both, so the daemon's text and the text it embeds from the VM host daemon read as one sentence. Port-publish refusals speak of "this box"; attach refusals keep "this session". The port-report arms that the same `min net expose` prints are reworded to match, and the launch-record failure no longer names egress enforcement, which was wrong for the host-row binding write that returns the same variant. Tests pin the refused port report's lead and the session argument of the destroy step. --------- Co-authored-by: gominimal-aw-bot[bot] <281738952+gominimal-aw-bot[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The classifier item of min finalize-install --show rendered in design vocabulary a reader cannot act on: "classifier", "host-address boxes", "run unenforced", "egress verdict", "placement unit", "runs unplaced", "delegation", "socket table lookup", "did not read". Reword its label, its three today lines, its this-step line, its eight cannot-do causes, and the matching KVM-item cause in plain language that names the CLI words (--network host_ip with --deny-all-egress), and update the six pinned unit-test assertions. Wording only: no behaviour, flag, JSON key, item id or exit code changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
Member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Routing-Key: inbox-route/I_kwDOSUhdos8AAAABWiMVSw
min finalize-installon Linux renders its egress-enforcement item — and oneKVM-item cause — in internal design vocabulary a reader cannot act on:
"classifier", "host-address boxes", "run unenforced", "egress verdict",
"placement unit", "runs unplaced", "delegation", "socket table lookup",
"did not read". Reword the item's label, its three
today:lines, itsthis step:line and its eight cannot-do causes in plain language that namesthe CLI words (
--network host_ipwith--deny-all-egress), and update thesix pinned unit-test assertions that match them. Wording only: no behaviour,
flag, JSON key, item id or exit code changes; one file. A doc comment in
crates/minimald/src/session_host/tests.rsalso says "runs unplaced" but isoutside this change's footprint and left alone.
Verification
cargo fmt --all --check --manifest-path target/Cargo.toml— cleancargo clippy --workspace --all-targets --locked --manifest-path target/Cargo.toml -- -D warnings— cleancargo test --locked --manifest-path target/Cargo.toml -p minimal finalize_install— 31 passed, 0 failedcargo test --locked --manifest-path target/Cargo.toml -p minimal— 425 passed, 1 failed:legacy_network_spellings_parse_with_hint, pre-existing (fails on the pristine checkout too, unrelated to these strings)git grep -Ffor each retired fragment (per-box egress limits for host-address boxes,runs a stale step,runs unplacedin this file,replace their delegation,socket table lookup,socket path did not resolve,user name did not read,installs the classifier's cgroup tree,host-address boxes run unenforced) — no hits; each new string present at its siteSummary by CodeRabbit
Documentation
User-facing messages