Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-10-plugin-manifest-resolution-core.md

2.1 KiB

Plugin Manifest Resolution Core Plan

Goal: Upgrade ProjectSpec.plugins from unverified strings to a trusted, versioned release graph with deterministic dependency resolution and generation fingerprints.

Task 1: Plugin Release Contract

  • Add the FeaturePlugin SPI.
  • Add a versioned manifest covering provider, trust, dependencies, capabilities, conflicts, Adapter compatibility, ProjectSpec schema compatibility, DSL extensions, migrations, templates, resources, validators, quality checks, permissions, menus, and configuration keys.
  • Add resolved release and execution-plan models.

Task 2: Registry And Version Constraints

  • Register multiple releases of the same plugin code.
  • Reject duplicate, malformed, self-dependent, or untrusted releases.
  • Support exact SemVer, caret, tilde, and comparator range constraints.
  • Keep release ordering deterministic and fingerprint every manifest.

Task 3: Dependency Resolver

  • Resolve direct and transitive dependencies against exact Adapter and ProjectSpec schema releases.
  • Backtrack when a later dependency constraint invalidates an earlier candidate.
  • Detect plugin-code and capability conflicts in both directions.
  • Reject dependency cycles and undeclared configuration keys.
  • Produce dependency-first, stable execution order and a canonical plan fingerprint.

Task 4: Generation Integration

  • Add plugin resolution failures to ProjectSpec validation as PLUGIN_RESOLUTION_FAILED.
  • Stop generation before invoking the Adapter when the plugin graph cannot resolve.
  • Replace selection-only plugin fingerprints with resolved release graph fingerprints.
  • Include manifest identity, transitive releases, direct configuration, and execution order in the fingerprint.

Task 5: Verification And Boundary

  • Add Registry, SemVer, resolver, validation, generation, and fingerprint tests.
  • Run the focused suite, full Generator baseline, Admin tests, formatting checks, and local frontend health check.
  • Record that database-backed plugin publishing and administration remain P2-D1b.