docs: V1 upgradeability discovery & implementation strategy#9423
Open
bitsofsteve wants to merge 1 commit into
Open
docs: V1 upgradeability discovery & implementation strategy#9423bitsofsteve wants to merge 1 commit into
bitsofsteve wants to merge 1 commit into
Conversation
Add the V1 upgrade alignment doc plus a runnable Phase-0 reproduction of the current Drive folder-resolution behaviour across version changes. The doc covers: the upgrade contract (patch=translation, minor=forced upgrade), an audit of every serialized surface, the one historical backward-compat break (folder naming at 0.1.112) and that PR #280 already hot-patched it, the residual sharp edges (multi-folder hard-fail, silent strand on minor bump), the 'biting' latent risks, a pre-work checklist, the translator+upgrader technical design, phasing, and the open decisions for the team. phase0_repro.py drives the real gdrive_transport functions and is the evidence behind the findings section.
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.
What this is
A discovery + alignment document for the V1 upgradeability work (no production code changes — docs only). The goal is to give the team a shared, evidence-backed picture before we commit to an implementation.
📄
docs/upgrades/V1_UPGRADE_DISCOVERY_AND_STRATEGY.md🔬
docs/upgrades/phase0_repro.py— runnable:uv run python docs/upgrades/phase0_repro.pyThe headline finding
The one historical backward-compat break — Drive folder names started embedding the version at
0.1.112— is already hot-patched by #280 (_filter_patch_compatible). A solo patch upgrade with one existing folder resolves correctly today.So the real finding isn't "something is broken" — it's "there is no upgrade system, only point-fixes." The Phase-0 repro drives the real
gdrive_transportfunctions and shows the residual sharp edges:RuntimeError, user must hand-delete a folder on Drive ❌ (violates the "user shouldn't have to care" invariant)What the doc covers
0.1.93 → 0.1.117MIN_SUPPORTED, un-versioned local caches, no integrity re-verify on restore, independently-versioned sub-packagesDecisions we need to align on (see §8)
MIN_SUPPORTEDfloor in V1?Opening this for team review — the structure and the §8 decisions are the things to react to first.