Reconcile the rewrite decision with the integration that shipped without it - #176
Merged
Merged
Conversation
…out it devlaunch#53 decided GO on a Rust rewrite as a devlaunch-core crate that wayfinder would link, explicitly rejecting subprocess-on-PATH. The changelog then deferred the rewrite indefinitely, and wayfinder#80 — with no crate to consume — chose subprocess-on-PATH and recorded "rewriting devlaunch in Rust" as out of scope, reinforced. Two records answering the same question opposite ways, neither citing the other. This note puts them side by side and adds the numbers both arguments were missing: what the 370 MB environment actually consists of (275 MB of CPython, 118 MB of devpod, 84 KiB of devlaunch), where a Rust port's size win stops (~120 MB, and devpod is 118 MB of it), and what the port costs (7.4k lines of source against 18k lines of tests, of which 61 mock-free acceptance tests port). It also records the one prediction that has since been tested: #53 argued the crate wins because a breaking change fails wayfinder's build where subprocess drift is silent until runtime. `dl <workspace> up` shipping in wayfinder before any released dl carried it is exactly that failure, and it went unnoticed by both repos' CI. No decision here. The live question is narrowed to #53's own falsifier — whether wf renders per-ticket workspace state — because that is what decides between a typed model and a hand-rolled JSON contract.
Reviewer's GuideAdds a new architectural/scoping document that reconciles conflicting decisions about how Sequence diagram for wf prewarm with devlaunch version floorsequenceDiagram
participant wf as wf_0_14_0
participant dl as dl_cli
wf->>dl: dl --version
dl-->>wf: 0.0.23 or 0.0.24
alt [dl_version >= 0.0.24]
wf->>dl: dl <workspace> up
dl-->>wf: prewarm complete
else [dl_version < 0.0.24]
wf-->>wf: degrade to host launch (record dl below floor)
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #176 +/- ##
=======================================
Coverage 93.95% 93.95%
=======================================
Files 21 21
Lines 2565 2565
=======================================
Hits 2410 2410
Misses 155 155 🚀 New features to boost your workflow:
|
Merged
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.
Three records currently disagree about how
wfshould consume devlaunch, and nothing points at the disagreement:devlaunch-corecrate +dlbin, linked intowf. Subprocess-on-PATH rejected.CHANGELOG.md[Unreleased]docs/rust-port-scope.mdputs them side by side, adds the measurements neither argument had, and narrows the live question to #53's own falsifier.What is new since #53, and it is evidence rather than opinion: #53's central claim was that the crate wins because a breaking change fails wf's build, where subprocess drift is silent until runtime. That has now happened —
wf0.14.0 prewarms withdl <workspace> up, which no releaseddlhad until 0.0.24 (#175). Neither repo's CI caught it.wfnow carries a runtime version floor, which is the strongest thing a subprocess seam can do and strictly weaker than what #53 promised.Measured, not argued:
tk,icu) is conda-forge's python build, not anythingdlasks for. Cheapest size win on the list, and not a Rust win.No decision is taken here. The recommendation is to reopen #53 with one question — does
wfrender per-ticket workspace state? — and to record the answer in both repos, since the two places that went out of sync are wayfinder#80's out-of-scope line and this changelog's deferral paragraph.🤖 Generated with Claude Code
Summary by Sourcery
Document the current scope, tradeoffs, and open questions around a potential Rust port of devlaunch and its integration with wf.
Documentation: