[F48] mark out-of-scope: internal usage only, no crates.io publish
Maintainer confirmed 2026-05-06 the project is internal-use only — workspace stays at version "0.0.0", consumers depend via path or git, not crates.io. F48's actual publish goal is dropped. design/followups.md F48 entry: replace the "P1 release driver" framing with "Out of scope" + a pointer to the recipe doc in case this ever changes. design/F48-publish-dry-run.md: add a banner at the top explaining the doc is now retained as a workspace-hygiene record (cargo package --list per crate produces clean tarballs, no captures or big files), not as release prep. The "What the actual V1 publish needs" section reframed as "If a publish ever does become a goal — recipe" so the steps survive without implying they're scheduled. No code change. F49 / F53 / F55 / F56 status unchanged — those weren't release-cut-gated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# F48 publish dry-run validation — 2026-05-06
|
||||
|
||||
This document captures the per-crate `cargo publish --dry-run` outcome on the V1-pre-cut workspace state. Run from `rust/` against the workspace at `version = "0.0.0"`.
|
||||
> **Note (2026-05-06):** This project is internal-use only and is **not** scheduled to publish to crates.io. F48's actual publish goal is out of scope. This document is retained as a workspace-hygiene record — `cargo package --list` per crate confirms each tarball would assemble cleanly (source + tests + small fixtures only, no captures or big files), which is useful regardless of whether an actual publish ever happens. The "What the actual V1 publish needs" section at the bottom is kept as a recipe in case this ever changes.
|
||||
|
||||
This document captures the per-crate `cargo publish --dry-run` outcome on the workspace at `version = "0.0.0"`. Run from `rust/`.
|
||||
|
||||
## Tier 1 — leaves (no internal deps)
|
||||
|
||||
@@ -48,9 +50,9 @@ This is **expected** — the workspace internal deps are pinned at `version = "0
|
||||
| `mxaccess` | 18 | source + 7 examples |
|
||||
| `mxaccess-compat` | varies | source + 5 live tests |
|
||||
|
||||
## What the actual V1 publish needs
|
||||
## If a publish ever does become a goal — recipe
|
||||
|
||||
Per F48's "Resolves when":
|
||||
**Currently out of scope per maintainer 2026-05-06**, but kept here so future-them doesn't have to re-derive the steps:
|
||||
|
||||
1. Bump workspace version `0.0.0` → `0.1.0` in `rust/Cargo.toml` `[workspace.package]`.
|
||||
2. For each crate's `[dependencies]` block, bump the workspace-internal `version = "0.0.0"` pins to `version = "0.1.0"` (path deps can stay).
|
||||
|
||||
+2
-18
@@ -7,25 +7,9 @@ move to `## Resolved` with a date + commit hash.
|
||||
## Open
|
||||
|
||||
### F48 — Execute `cargo publish` for the V1 release cut
|
||||
**Dry-run status (2026-05-06):** `cargo publish --dry-run` validation pass per `design/F48-publish-dry-run.md`. Tier 1 leaves (`mxaccess-codec`, `mxaccess-rpc`, `mxaccess-asb-nettcp`) dry-run cleanly. Tiers 2 + 3 surface the documented "no matching package" registry-lookup failure for unpublished workspace internal deps — expected, resolves at actual publish time. All 9 crates' `cargo package --list` outputs are clean (no captures, no big files; only source + tests + tiny round-trip fixtures). The actual publish to crates.io has not happened — that's the maintainer-driven V1 cut step.
|
||||
**Status:** **Out of scope — internal usage only, no crates.io publish planned.** Confirmed 2026-05-06 by maintainer. The workspace stays at `version = "0.0.0"` indefinitely; consumers depend via path or git, not crates.io. F43's dry-run validation (`design/F48-publish-dry-run.md`) is retained as a workspace-hygiene check (each crate's `cargo package --list` produces a clean tarball, no accidental captures/big files), not as release prep.
|
||||
|
||||
**Severity:** P1 — V1 release driver. F43 only validated dry-run for the leaf crates; the actual publish to crates.io has not happened.
|
||||
**Source:** `design/60-roadmap.md:100` (M6 DoD bullet 6 — "Release: cargo publish all crates"); `CHANGELOG.md` "Publish order" section.
|
||||
**Depends on:** F43 (dry-run validation), F49 (live verification of M6 features before publishing them).
|
||||
|
||||
**Scope.** Publish all 9 workspace crates to crates.io in dependency order:
|
||||
1. `mxaccess-codec`, 2. `mxaccess-rpc`, 3. `mxaccess-asb-nettcp` (leaves — no internal deps)
|
||||
4. `mxaccess-galaxy`, 5. `mxaccess-callback`, 6. `mxaccess-asb` (single-internal-dep tier)
|
||||
7. `mxaccess-nmx`, 8. `mxaccess`, 9. `mxaccess-compat` (multi-internal-dep tier)
|
||||
|
||||
Between each publish: wait for the crate to be indexed before the next one's `cargo publish` runs (the registry-lookup race that broke the dependent dry-runs in F43).
|
||||
|
||||
**Definition of done:**
|
||||
1. All 9 crates exist on crates.io at the same workspace version (likely 0.1.0 — bump from the 0.0.0 placeholder before the cut).
|
||||
2. `cargo install mxaccess` resolves a clean dependency tree from a fresh registry lookup (no `--locked` workaround).
|
||||
3. Tag the V1 release commit (`git tag v0.1.0`) and push the tag so the CHANGELOG anchors to a stable ref.
|
||||
|
||||
**Resolves when:** crates.io shows all 9 crates published + the V1 tag is pushed.
|
||||
If this changes (e.g. internal consumer wants registry-style versioning via a private cargo registry), the V1 publish recipe in `design/F48-publish-dry-run.md` describes the steps. For now: no work needed.
|
||||
|
||||
### F50 — Run the F46 Suspend/Activate Frida capture live
|
||||
**Severity:** P3 — residual from F46 (script ready, capture not yet run).
|
||||
|
||||
Reference in New Issue
Block a user