You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deferred post-cutover follow-up from the Rust port review; see PR #260 and tracking ticket #261 (plan map #248).
The review found the crate-doc's API-freeze claim was not matched by the actual public surface. The facade (pub mod api re-exporting the frozen surface), the crate-doc correction, and the #250 §7 → #251 §7 citation fix (~56 sites) already landed on #260. What remains is the surface-narrowing work, deferred because it touches ~30 items across the crates and was too parity-risky to do pre-merge. This is the wf integration surface (#251 §7).
Demote the ~30 named public items to pub(crate). The reviewer verified that with all 30 demoted, both binaries and all tests still compile; ~3 items then warn as never-used and can be dealt with at that point.
Add #[doc(hidden)] to internals that must stay pub for technical reasons but are not part of the frozen surface.
Add a cargo-public-api snapshot test so the frozen wf surface is locked by CI rather than by prose.
Fix completion.rs:54 — the include_str! path escapes the package root. Harmless for the path/git dependency wf actually uses, but fatal for a cargo publish to crates.io; move the included file inside the package root (or restructure the include) so the crate is publishable.
Claiming this: implementing on branch rust/port-review-followups (stacked on PR #260), together with #262/#263/#264, in a fresh session. Security items excluded per owner instruction.
Direction settled by #266 (2026-08-19): finish the freeze in the shrinking direction.
The linking prototype (wayfinder@linkexp/devlaunch-core-prototype) showed the day-one api module cannot serve a linker — its exported functions take binary-surface parameter types (DlView, MetadataStorage, a ClonePathResolver), the rows it returns are field-private, and core's errors render nowhere — and #266 resolved that wf keeps the wire seam, so there is no linker to serve. That converts this ticket's deferred work from "widen api until wf fits" to:
demote the remaining binary-surface pub items to pub(crate) where the dl/aid binaries allow, as already planned;
the cargo public-api snapshot then pins a deliberately small surface instead of freezing today's accidental one.
If in-process linking is ever revived, the prototype's FINDING 1–6 list in src/linked.rs is the requirements spec (session-level entry point, public typed rows, rendered errors, an async story).
Activity
blooop commentedon Aug 19, 2026
Claiming this: implementing on branch
rust/port-review-followups(stacked on PR #260), together with #262/#263/#264, in a fresh session. Security items excluded per owner instruction.blooop commentedon Aug 19, 2026
Direction settled by #266 (2026-08-19): finish the freeze in the shrinking direction.
The linking prototype (wayfinder@linkexp/devlaunch-core-prototype) showed the day-one
apimodule cannot serve a linker — its exported functions take binary-surface parameter types (DlView,MetadataStorage, aClonePathResolver), the rows it returns are field-private, and core's errors render nowhere — and #266 resolved that wf keeps the wire seam, so there is no linker to serve. That converts this ticket's deferred work from "widen api until wf fits" to:pubitems topub(crate)where thedl/aidbinaries allow, as already planned;pub mod apiitself — it currently re-exports a consumption surface (wf's consumption surface: what devlaunch-core must expose #250's closure) that Decide: wf links devlaunch-core vs keeps the wire seam — prototype before cutover #266 retired; what remains should be exactly what the binaries need, with the--ls --jsondocument declared the sole external contract;cargo public-apisnapshot then pins a deliberately small surface instead of freezing today's accidental one.If in-process linking is ever revived, the prototype's FINDING 1–6 list in
src/linked.rsis the requirements spec (session-level entry point, public typed rows, rendered errors, an async story).