Files
deepseek-harness/.agents/notes/implemented/architecture/2026-10-01-replace-changed-package-modules-on-recomposition.i18n.yaml
T
turtle1999 879ad372ac feat(hmr): replace plugins whose package files changed during profile recomposition
With HMR, installing, enabling, disabling and removing bundles take effect live. Each profile recomposition compares
the loaded modules below the profile directory and its linked targets with disk, stops the plugins whose files
changed, and recomposes the profile through app-boot's recomposeProfile(): the rows the next generation drops are
removed first, the latest runtime resolution is published once, and the generation is applied and judged. Afterwards
HMR evicts the modules below the mappings the recomposition dropped.

- app-boot: recomposeProfile(); PluginPackages.resolution; ResolutionRestartRequired; the resolver accepts in-place
  version changes and relinks, and relocates Node's cached link real paths.
- plugin-manager: with HMR, installBundle refuses an installed package (already-installed), so an upgrade is a
  removal and an installation; every restart-required result carries a restartReason; removal uses the registry the
  package was installed from.
- ui-plugin-manager: the Official Update removes and then installs; restart prompts name their reason.
2026-10-13 22:15:57 +08:00

35 lines
2.0 KiB
YAML

# Bilingual-pair consistency record for 2026-10-01-replace-changed-package-modules-on-recomposition.md (docs/i18n/README.md): per heading
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
# After editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-10-01-replace-changed-package-modules-on-recomposition.md
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition:
en: 72fe06d4e304418d
zh: bc3c96e957889bc1
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/problem:
en: c43fb0d2df54b28f
zh: 6636548449663fc5
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/decision:
en: a15c7c13f167e5ac
zh: a15c7c13f167e5ac
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/decision/one-recomposition-path:
en: f2874c3fc946cf7a
zh: 4c32b9f94e1f9709
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/decision/detecting-changed-modules:
en: 1fedf2dde87f41bf
zh: c2249267d1c2bc78
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/decision/replacing-them:
en: 6fe2cbe5aa3a9786
zh: fe30fbf672ea8c21
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/decision/plugin-manager-and-runtime-resolution:
en: 794ed33204d91014
zh: b08daa2a43cbe3b3
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/alternatives-considered:
en: a67d0c6bc4957060
zh: 32e02ab45b8e71cc
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/consequences:
en: 2cb3f39c6a910685
zh: e14938c868390f39
/agent-note-replace-plugins-whose-loaded-package-files-changed-during-profile-recomposition/verification:
en: d4750abb810faac2
zh: 78c9c4d86d719b9b