AVLN2000 Recovery Checklist (NuGet + родительские submodules)
Purpose
Run this checklist when AVLN2000 reappears after a known fix was already made in AIGuiders.AvaloniaEdit (или в исходниках форка), or when parent repos show unexpected submodule drift for cascade-ide itself.
Важно: в репозитории CascadeIDE нет субмодуля externals/avaloniaedit — редактор подключается NuGet-пакетами (CascadeIDE.csproj). Патчи в исходниках ведут в отдельном клоне форка (типичный путь машины: D:\Experiments\AvaloniaEdit → push → публикация на nuget.org → bump версии пакетов в CascadeIDE.csproj).
Root cause pattern для родителей open / workspace: cascade-ide fix exists in one remote/history, but parent repos still reference an older gitlink, or main differs across remotes.
Preconditions
- You have access to all
cascade-ideremotes used by the team (for example:origin,github,wissance). - You are in a clean state (or have stashed WIP) in each repo before sync.
Checklist
Verify
mainparity insidecascade-idegit fetch --all --prunegit checkout maingit pull --ff-only- Compare remote heads:
git rev-parse maingit rev-parse origin/maingit rev-parse github/main(if configured)git rev-parse wissance/main(if configured)
- All hashes for
mainmust match.
Publish missing commits from
cascade-ide/main- If local
maincontains needed fix not present on one of remotes:git push <remote> main
- Repeat until all remotes point to the same
maincommit.
- If local
Update gitlink in parent repo
open- In
Financial/software/open:git submodule update --init --recursivecd cascade-ideand checkout the syncedmaincommitcd ..git add cascade-idegit commit -m "chore(submodules): bump cascade-ide"git push
- In
Update gitlink in workspace root parent (if used)
- In the workspace root repo (for example
PersonalCursorFolder), bump pointer toFinancial/software/openthe same way:git add Financial/software/opengit commit -m "chore(submodules): bump open"git push
- In the workspace root repo (for example
Validate build on clean state
git submodule update --init --recursive- Clean build:
dotnet build CascadeIDE.sln -c Debug
- Confirm
AVLN2000does not reproduce.
Fast diagnosis commands
- Show remotes:
git remote -v - Show current submodule pointer in parent:
git ls-tree HEAD cascade-ide - Show submodule status in parent:
git submodule status - Detect dirty submodule in parent status:
git status
Completion criteria
cascade-ide/mainis equal across active remotes.- Parent gitlinks (
open, then workspace root if applicable) are bumped and pushed. - Fresh recursive checkout builds without
AVLN2000.