Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-11-plugin-delivery-rehearsal-run.md

2.5 KiB

Plugin Delivery Rehearsal Run Implementation Plan

For agentic workers: Implement task-by-task with tests first. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Persist repeatable, integrity-verifiable deployment rehearsal plans without claiming or initiating real target execution.

Architecture: PluginDeliveryRehearsalService snapshots PluginDeliveryAcceptanceService, creates six ordered scenario contracts, and persists both through an append-only MyBatis Mapper. Canonical acceptance and scenario projections receive independent SHA-256 fingerprints. The delivery page lists summaries and loads verified details.

Tech Stack: Java 8, Spring Boot 2.5, MyBatis, MySQL 5.7-compatible DDL, JUnit 4, Vue 2, Element UI.

Task 1: Persistent Contract

  • Add Run and Scenario domain models with explicit PLAN_ONLY, READY/BLOCKED, and PLANNED/BLOCKED states.
  • Add both tables to the Registry upgrade script and two full schema scripts.
  • Keep the Mapper append-only with inserts and reads only.
  • Add unique Run, scenario code, and scenario sequence identities.

Task 2: Snapshot And Integrity Service

  • Freeze the canonical non-secret acceptance response.
  • Build six ordered deployment scenario evidence contracts.
  • Hash acceptance JSON and the ID-independent scenario projection separately.
  • Verify fingerprints, metadata, counts, mode, and status on detail reads.
  • Reject invalid operators and missing or corrupted Runs.

Task 3: API And Permission Boundary

  • Add create, recent-list, and detail endpoints.
  • Reuse generator:delivery:verify for all three operations.
  • Keep raw snapshot JSON out of the REST response.
  • Do not add an execution endpoint in this phase.

Task 4: Delivery Workspace

  • Add snapshot creation and recent Run history.
  • Render Run status, mode, environment, counts, creator, and creation time.
  • Render verified acceptance and scenario fingerprints in the report.
  • Render frozen acceptance checks and ordered scenario evidence.
  • Keep the report responsive on desktop and mobile widths.

Task 5: Regression

  • Add service, schema, controller, API, and view contract tests.
  • Run the focused Plugin suite: 175 tests passed.
  • Run the complete generator and admin suites and compare the known baseline.
  • Run the frontend contract suite and production build.
  • Confirm both existing development endpoints still return HTTP 200.