2.5 KiB
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, andPLANNED/BLOCKEDstates. - 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:verifyfor 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.