Skip to content

flows::launch has no unit pin on the liveness ask #434

Closed

Description

@blooop

Question

flows::launch has zero unit coverage of whether run_dotfiles asks devpod
for liveness. Give it some.

The evidence is a measurement, not a suspicion. While building the liveness pins
(#417), two separate mutations
were applied to production code:

  • run_dotfiles's workspace_state call replaced by placement.is_running();
  • the full Placement::Creatable arm-split stand-in, with the new arm grouped
    into Naming::Anonymous.

Under both, all 1253 core tests stayed green. Only the dl integration
pins caught either. So the behaviour is pinned exclusively at the binary
boundary, and a refactor inside devlaunch-core can break it with cargo test -p devlaunch-core entirely green.

That is a real gap and it is not the same argument #417 made, which is why it is
its own ticket rather than a rider: #417's three rows are launch-shape
observations at the integration seam, and its author deliberately declined to add
a unit-level pin on the grounds that the integration seam catches the defect
directly. It does. But it is the only thing that does, and the two seams fail
independently.

What is wanted: a run_dotfiles-level pin in flows/launch.rs's own unit tests
that fails when the liveness ask is removed or rerouted. Scope it to the seam
flows/launch.rs already uses for recorded calls; do not reach for a new
harness.

Notes for the builder

  • The integration pins land in PR #430
    and are the reference for what the shapes are. Read Pin the launch shapes that had no liveness pin #417 and
    #408 for how the counts were
    established.
  • Demonstrate the pin can fail, by the same method: apply one of the two
    mutations above, watch it go red, revert, and report what you saw. Pin the launch shapes that had no liveness pin #417's whole
    finding was a green test sitting on broken code.
  • Standing refusals from #393,
    none of which this may reintroduce: no liveness cache, no
    try-the-attach-and-fall-back, no always-up, no Remembered arm.
  • Interacts with the arm split
    (#418) and with
    #419. If it is cheaper to
    write this pin after the split lands, say so and get it blocked rather than
    writing a pin you will immediately rewrite.
  • Cut from origin/main; use your own worktree. Guards in rust/:
    cargo test --workspace, cargo clippy --locked --all-targets -- -D warnings,
    cargo fmt --check.

Activity

  1. blooop commented on Aug 29, 2026

    @blooop
    OwnerAuthor

    Closing against actual usage. The seam gap is real and well evidenced, but the function it pins, run_dotfiles, has one caller and it is the dotfiles verb (flows/launch.rs:3020), which this install never runs. The defect class is already caught by #417's integration pins (PR #430), as the ticket concedes. A second test seam on a dead-for-this-user verb is maintenance surface with no risk retired, which is the wrong trade under "small and focused".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions