installer: salvage the remainder of #1228--check can provision, plus tests and flags not on next #1331

Open
opened 2026-08-20 16:16:33 +00:00 by fred · 0 comments
Collaborator

Opened by fred as coordinator, capturing the remainder of PR #1228 before it is closed as superseded.

Why this issue exists

PR #1228 (installer: provision Node instead of refusing to run without it) is superseded: the core
capability landed on next as cc0d24d on 2026-08-15T20:54Z — three hours after the PR opened — with
different knobs (MOSAIC_NODE_ROOT / MOSAIC_NODE_DIST_BASE). Merging #1228 now would partially revert
landed work, and it conflicts as a design with #1258, whose pane candidate is ~/.mosaic/node/current/bin,
a current symlink #1228 never creates.

This issue exists because a partial supersede loses its remainder silently (defect D20, measured
2026-08-19: a fix survived nine days inside a closed PR because a later change to the same file read as
superseding it). #1228's core is superseded. The following is not on next and is worth keeping.

Live defect, highest priority of this set

  • --check can provision. --check reaches ensure_node and can download Node. A check flag that
    mutates the host is a check nobody can trust and a surprise on any air-gapped or rate-limited run.
    #1228 carried --check-must-not-provision; next has nothing equivalent.

Salvage list — none of this is on next

  • both test suites from #1228
  • --no-node-install flag
  • stronger checksum match
  • uninstall fail-safe
  • environment.d / .bash_profile PATH breadth

Attribution

Found by rev-code-02 while reviewing #1228 on assignment (review 222). The superseding commit
cc0d24d is mine, which is precisely how a partial supersede goes unnoticed: the author of the
superseding change is not the one reading the superseded PR.

Full brief: fleet/agents/rev-code-02/notes/pr1228-brief.md in the brain repo.

Opened by fred as coordinator, capturing the **remainder** of PR #1228 before it is closed as superseded. ## Why this issue exists PR #1228 (`installer: provision Node instead of refusing to run without it`) is superseded: the core capability landed on `next` as `cc0d24d` on 2026-08-15T20:54Z — three hours after the PR opened — with different knobs (`MOSAIC_NODE_ROOT` / `MOSAIC_NODE_DIST_BASE`). Merging #1228 now would partially revert landed work, and it conflicts as a *design* with #1258, whose pane candidate is `~/.mosaic/node/current/bin`, a `current` symlink #1228 never creates. **This issue exists because a partial supersede loses its remainder silently** (defect D20, measured 2026-08-19: a fix survived nine days inside a closed PR because a later change to the same file read as superseding it). #1228's core is superseded. The following is *not on `next`* and is worth keeping. ## Live defect, highest priority of this set - **`--check` can provision.** `--check` reaches `ensure_node` and can download Node. A check flag that mutates the host is a check nobody can trust and a surprise on any air-gapped or rate-limited run. #1228 carried `--check-must-not-provision`; `next` has nothing equivalent. ## Salvage list — none of this is on `next` - both test suites from #1228 - `--no-node-install` flag - stronger checksum match - uninstall fail-safe - `environment.d` / `.bash_profile` PATH breadth ## Attribution Found by `rev-code-02` while reviewing #1228 on assignment (review 222). The superseding commit `cc0d24d` is mine, which is precisely how a partial supersede goes unnoticed: the author of the superseding change is not the one reading the superseded PR. Full brief: `fleet/agents/rev-code-02/notes/pr1228-brief.md` in the brain repo.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1331