Skip to content

Design: Rolling Plugin Upgrade — POC findings, risks & counterargument#14

Open
danielgerlag wants to merge 5 commits into
mainfrom
plugin-upgrade
Open

Design: Rolling Plugin Upgrade — POC findings, risks & counterargument#14
danielgerlag wants to merge 5 commits into
mainfrom
plugin-upgrade

Conversation

@danielgerlag
Copy link
Copy Markdown
Contributor

Summary

Extends the dual-load rolling plugin upgrade design document with:

  • POC Findings — Documents results from the atomic-comp branch POC, including what was validated, key divergences from the design, and production gaps.
  • Library Unloading Risk Analysis — Detailed analysis of segfault risks introduced by moving from mem::forget to dlclose-on-drop (background tasks, escaped trait objects, thread-locals, field reorder fragility).
  • Argument Against Hot Upgrades — Makes the case that the complexity-to-value ratio is unfavorable given Drasi's existing architecture already handles source interruption gracefully.
  • Caveat callouts — Flags contradictions between the original design claims and the POC/risk findings.

Key Question for Discussion

Should we pursue hot plugin upgrades at all, or ship a polished restart-based upgrade command instead?

danielgerlag and others added 5 commits April 29, 2026 20:07
…posal

- Document POC findings from atomic-comp branch (validates rolling
  migration via update_source/update_reaction)
- Add Library Unloading Risk Analysis (segfault risks from dlclose)
- Add Argument Against Hot Upgrades section
- Add caveat callouts to contradicted claims in original design

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Proposes a simpler approach: browse/download plugins via VS Code
extension or CLI, stage them on disk, and apply on next restart.
Includes UI mockup, CLI commands, registry sketch, and startup
promotion logic. Restores Open Issues section with two new questions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant