# Plugin Transition Preflight And Delivery Acceptance Implementation Plan > **For agentic workers:** Implement task-by-task with tests first. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** Make Transition routing and approval requirements server-authoritative before execution, and expose one non-secret deployment acceptance report for the mixed SQL/permission/menu delivery chain. **Architecture:** `PluginTransitionExecutionService` reuses its immutable state machine and routing resolver to return an exact preflight. `PluginDeliveryAcceptanceService` combines installed releases, configured routes, environment binding, approval policy, and the read-only target probe into explicit checks. The Vue workflow consumes these contracts and no longer infers approval from Registry-wide flags. **Tech Stack:** Java 8, Spring Boot 2.5, MyBatis, JUnit 4, Vue 2, Element UI. ### Task 1: Preflight Contract **Files:** - Create: `PluginTransitionExecutionPreflight.java` - Create: `PluginTransitionRoutePreview.java` - Modify: `PluginTransitionExecutionService.java` - [x] Reuse the exact requested/effective mode state machine. - [x] Return immutable Transition, route, environment, and ordered step identity. - [x] Distinguish READY, APPROVAL_REQUIRED, and NO_ACTION. - [x] Return only exact, complete, unexpired, separation-valid approval evidence. - [x] Repeat every trusted check during actual execution. ### Task 2: API And Permission Boundary **Files:** - Modify: `FeaturePluginController.java` - Modify: Plugin API module - Test: controller permission contract - [x] Add the Transition preflight endpoint. - [x] Permit execute or approve actors to inspect preflight. - [x] Keep execute and approval mutation permissions unchanged. ### Task 3: Deployment Acceptance **Files:** - Create: `PluginDeliveryAcceptanceCheck.java` - Create: `PluginDeliveryAcceptanceService.java` - Modify: `PluginDeliveryVerificationStatus.java` - Test: `PluginDeliveryAcceptanceServiceTest.java` - [x] Check baseline Plugins, Registry mode, mixed routes, environment, approval, target configuration, and target ledgers. - [x] Require every check to pass before reporting READY. - [x] Keep all connection details and raw failures out of the response. - [x] Delegate the delivery verification endpoint to the acceptance service. ### Task 4: Preflight-Driven UI **Files:** - Modify: Plugin Registry and delivery verification views - Modify: `pluginRegistryView.test.mjs` - [x] Preflight every execute, retry, and compensate command. - [x] Build execution identity only from the server response. - [x] Show ordered step routes and exact approval state in the approval workspace. - [x] Warn explicitly when a real route is configured without approval enforcement. - [x] Render seven deployment acceptance checks. ### Task 5: Documentation And Regression - [x] Add design and implementation records and update the AI Software Factory roadmap. - [x] Run 169 focused Plugin tests. - [x] Run 812 generator tests: 794 pass and the exact 18 known baseline failures remain. - [x] Run 38 admin tests and four frontend contract tests. - [x] Run the production frontend build with only the existing warnings. - [x] Confirm both development endpoints still respond with HTTP 200.