1.8 KiB
1.8 KiB
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
- Add classpath resource and rollback resource metadata to structured payloads.
- Load UTF-8 apply and rollback content through one trusted resource loader.
- Reject missing, empty, or unsafe classpath resource paths.
Task 2: Release Integrity
- Validate Manifest declarations and implementation payloads as an exact typed set during Registry startup.
- Validate target, output path, content, duplicate output ownership, and rollback resource content.
- Fingerprint ordered apply content, rollback content, resource identity, and reversibility metadata.
- Build non-empty contribution release descriptors from both Manifest and payload fingerprints.
- Preserve the legacy Manifest-only descriptor for releases with no contribution payloads.
Task 3: Publication And Restore Guard
- Reject publication of destructive contributions without rollback content.
- Reject restore when either the target or outgoing current release is irreversible.
- Apply the same guard to trusted release bootstrap publication.
- Separate stored Manifest fingerprint validation from the complete release descriptor check.
Task 4: Operator Visibility And Verification
- Add payload count, payload fingerprint, and reversibility to Registry readiness output.
- Mark irreversible releases as not ready and expose the reason in Plugin Center.
- Add Plugin Center contribution and rollback status columns.
- Run frontend production build, full generator baseline, and admin critical-path regression.