Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-10-plugin-payload-publication-guard.md

32 lines
1.8 KiB
Markdown
Raw Normal View History

# Plugin Payload Publication Guard Plan
**Goal:** Make contribution payload content part of immutable Feature Plugin release identity and prevent publishing, restoring, or bootstrapping destructive releases that do not provide a trusted rollback strategy.
## Task 1: Resource-Backed Payloads
- [x] Add classpath resource and rollback resource metadata to structured payloads.
- [x] Load UTF-8 apply and rollback content through one trusted resource loader.
- [x] Reject missing, empty, or unsafe classpath resource paths.
## Task 2: Release Integrity
- [x] Validate Manifest declarations and implementation payloads as an exact typed set during Registry startup.
- [x] Validate target, output path, content, duplicate output ownership, and rollback resource content.
- [x] Fingerprint ordered apply content, rollback content, resource identity, and reversibility metadata.
- [x] Build non-empty contribution release descriptors from both Manifest and payload fingerprints.
- [x] Preserve the legacy Manifest-only descriptor for releases with no contribution payloads.
## Task 3: Publication And Restore Guard
- [x] Reject publication of destructive contributions without rollback content.
- [x] Reject restore when either the target or outgoing current release is irreversible.
- [x] Apply the same guard to trusted release bootstrap publication.
- [x] Separate stored Manifest fingerprint validation from the complete release descriptor check.
## Task 4: Operator Visibility And Verification
- [x] Add payload count, payload fingerprint, and reversibility to Registry readiness output.
- [x] Mark irreversible releases as not ready and expose the reason in Plugin Center.
- [x] Add Plugin Center contribution and rollback status columns.
- [x] Run frontend production build, full generator baseline, and admin critical-path regression.