Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-12-project-factory-v1-closeout.md

3.3 KiB

Project Factory V1 Closeout Plan

Goal: Complete P1-M immutable certified artifacts, P1-N Docker Preview Worker isolation, and P1-O golden-sample acceptance.

Tech stack: Java 8, Spring, MyBatis, MySQL, Docker CLI contract, Vue 3, Element Plus, JUnit 4, Mockito, Node test runner, Vite.

Task 1: Certified artifact ledger and store

  • Write RED schema, mapper and immutable store tests.
  • Add artifact model, mapper, SQL and local atomic store.
  • Freeze ZIP plus canonical quality report after four checks pass.
  • Reject stale, incomplete and non-ready artifacts.

Task 2: Certified download integration

  • Write RED controller/service tests proving CERTIFIED never calls live ZIP generation.
  • Add artifact query/download APIs and integrity verification.
  • Return artifact identity and hashes in response headers.
  • Keep DRAFT behavior compatible.

Task 3: Persistent preview jobs

  • Write RED schema, mapper and service state-machine tests.
  • Add project preview job model, mapper and SQL.
  • Change run-preview service boundary to enqueue/read/stop persistent jobs.
  • Ensure duplicate starts are idempotent and user scoped.

Task 4: Docker Preview Worker

  • Write RED worker, lease fencing, TTL and Docker command tests.
  • Add runtime abstraction and constrained Docker CLI implementation.
  • Add worker claim, monitor, stop, expiry, bounded logs and screenshot evidence.
  • Prohibit fallback to direct host process execution.

Task 5: V1 acceptance ledger

  • Write RED schema, mapper and five-check orchestration tests.
  • Add Acceptance Run/Check models, mapper, service and golden-sample probes.
  • Verify generation, recovery, rollback, container preview and immutable download.
  • Add start/latest/history APIs.

Task 6: EasyCode closeout UI

  • Write RED source-contract tests for artifact hashes, preview screenshot/TTL and V1 acceptance.
  • Update API, delivery panel and generation workspace polling/actions.
  • Remove stale certification wording and direct-process assumptions.
  • Run main-flow tests and production build.

Task 7: Regression and V1 closure

  • Run P1-H through P1-O focused backend tests and ruoyi-admin full tests.
  • Run Mapper XML parsing, SQL consistency, Docker command contract and whitespace checks.
  • Run EasyCode focused tests/build and verify the dev URL.
  • Record migration boundary, Docker deployment boundary and V1 completion in the roadmap.

Completion Record

  • Completed on 2026-07-12.
  • P1-H through P1-O focused backend suite: 62 tests passed; the additional preview fencing regression brings the Preview Worker class to 3 passing tests.
  • ruoyi-admin full suite: 44 tests passed.
  • EasyCode main-flow suite: 73 tests passed; production build passed.
  • All four affected Mapper XML files parsed successfully, SQL consistency tests passed, Git Bash validated the Worker entrypoint, and http://localhost:5174 returned HTTP 200.
  • The current machine has no Docker CLI, so the image was not built or started here. Real container and golden-project execution remains a deployment-environment acceptance action, not an unverified local claim.
  • No external database migration was executed. Apply sql/factory_project_v1_closeout.sql before enabling these APIs.