Repository navigation
fix(minimald): an activation refusal for an unknown package names the [upstream] pin and tells the - #3364
fix(minimald): an activation refusal for an unknown package names the [upstream] pin and tells the#3364minimal-foundry[bot] wants to merge 2 commits into
Conversation
Activation and launch refuse a package the graph does not declare. The refusal now adds one note with the [upstream] repo, the short locked_commit and min update, because a package newer than the pin is unknown until the pin moves. The compose-time pin is stored beside the captured graph names, and the fallback reads it from the mfile.
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
Reviewed: 1 finding, none blocking at Address the comments on the diff. Clobber: none seen. |
There was a problem hiding this comment.
Reviewed against D3071 at 5ff5c7fd. The unknown-package refusal keeps its text and InvalidInput kind, and adds one note naming the [upstream] repo, the short locked_commit and min update, on the fast, fallback and launch paths. The compose-time pin is held beside composed_graph_names and cleared with it. CI is green. Arch: PASS_WITH_CONDITIONS against arch 15b603e6. Its one condition, the re-pin command name, waits on gominimal/arch#101 and is accepted as a residual there; when #101 is decided, UpstreamPin::hint() and its doc comment in crates/minimald/src/env.rs and docs/reference/loadouts.md:166 take the name it picks.
Defect
Fixes #3348
crates/minimald/src/env.rscrates/minimald/src/box_manager/composables.rscrates/minimald/src/box_actor/setup.rscrates/minimald/src/box_actor.rscrates/minimald/src/box_manager/tests.rsdocs/reference/loadouts.mdTask marker
Proof
Activate a session whose minimal.toml pins a git [upstream] and names a package that the pinned locked_commit does not declare. The refusal keeps the old text
no such package: <name> (declared by ...); the session was not activatedand adds one note:Packages come from <repo> at commit <7-char pin>, the [upstream] pin in minimal.toml. If a package is newer than that commit, runmin updateto move the pin to the head of its branch.The same note followsno such package: <name>when the launch path refuses at first exec. docs/reference/loadouts.md now describes this check.Notes from the agent: The pin is shown only for a git [upstream] with a locked_commit. A dir upstream, or one with no locked_commit, gets the old text with no note. On the fast path the pin comes from compose, stored in BoxActor::composed_upstream_pin. ForgetComposedGraphNames clears it with the names. On the fallback path the pin comes from the mfile of the context that the check builds. The new test pins the upstream to a local git repo that it creates and commits to, so it runs offline, but it needs
giton PATH. It covers both paths. I did not change handle.rs.just lint-prosedid not run because vale is not installed on this box. Clippy (-p minimald --all-targets) and rustfmt are clean. Thejust clippy-strictgate did not run.Tests
cargo test -p minimald finalize_refusal_names_the_upstream_pincargo test -p minimald finalize_without_compose_time_names_evaluates_the_graphcargo test -p minimald finalize_refusal_names_the_upstream_pinVerify
min task run agent-verifytimed out after 1800s, so this PR is a draft.