Repository navigation
docs: decision 0046 — a scripted upgrade from the new release, and a smaller approval gate - #91
Merged
Merged
Conversation
…with a smaller approval gate Records the design for #86 before implementation: a thin adf-upgrade wrapper in plugins/adf/bin/ (copied by build-plugins.sh from scripts/adf-upgrade.sh) that fetches a cached framework checkout and runs scripts/upgrade.py from the new release; old/new copies per install type, renames, deleted and new files; per-release idempotent migrations; the narrow rule for dropping covered allow rules; the amended "Plan before touching" ground rule; and the report format with a Follow-ups section for #89. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…grade # Conflicts: # docs/decisions/README.md
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.
Design record for #86, before implementation. Nothing is implemented here.
docs/decisions/0046-a-scripted-upgrade-from-the-new-release.mdsettles:adf-upgradewrapper inplugins/adf/bin/finds a framework checkout with history (ADF_FRAMEWORK, a local marketplace clone, or a bare clone cached at~/.cache/adf/framework.git), resolves NEW, and runsscripts/upgrade.pyfrom NEW's tree through a small, versioned protocol. The real script lives in the framework repo and runs directly for committed installs.build-plugins.shcopies the wrapper fromscripts/adf-upgrade.shas a framework command (amends 0027). The floor is v2.0.0.git showforskeleton/andmodules/*/files/;build-committed.pyat each release for a committed install's machinery (amends 0028). A per-path table covers renames, files deleted upstream or by the project, and new files.scripts/migrations/v<X.Y.Z>/, named by the CHANGELOG's Migration text, each with a functional test.Bash(<prefix> *)coveringBash(<prefix> …)in the same committedallowlist.ask/denyare never touched.report.mdplusreport.jsonin the git dir. Clean merges are listed with hunk counts, and aFollow-upssection (command,why,source,plugin,when) is there for /adf:upgrade records the follow-ups a release needs; /adf:wrap-up offers to start them #89 to use.Also updates
docs/decisions/README.mdand the status lines of 0027 and 0028../evals/run-evals.shpasses.🤖 Generated with Claude Code