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

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.