Files
ruoyi-vue-pro/docs/education/migration/issues/README.md

6.7 KiB

Education Migration Tickets

This directory turns GOAL.md into executable, blocker-aware vertical slices.

Workflow

  1. Work only tickets whose blockers are complete.
  2. Start each implementation ticket in a fresh context after reading GOAL.md, the ticket, relevant decisions, and current Git status.
  3. Preserve the dirty working tree. Implementation is serial unless an isolated worktree and integration plan are explicit.
  4. Apply TDD at the ticket's declared seams.
  5. Use flyway-postgresql for every schema, index, constraint, seed, baseline, backfill, or Flyway configuration change.
  6. Close with focused tests, git diff --check, and mvn -pl yudao-server -am -DskipTests clean compile.
  7. Report exact commands and results. Never report PostgreSQL migration success without an actual successful PostgreSQL run.

Status vocabulary

  • done: implemented and verified to the ticket's current acceptance criteria.
  • in-progress: currently being implemented.
  • ready: all blockers complete and no unresolved decision prevents work.
  • blocked: depends on another ticket or product decision.
  • decision: produces a recorded decision rather than production behavior.

Ticket graph

EDU-000 Phase 0 artifacts                           done
  ├── EDU-001 Safe question content                 done, follow-up coverage remains
  ├── EDU-002 Practice regression baseline          done
  │     ├── EDU-016 PostgreSQL persistence tests    done; temporary bridge blocked on EDU-005/EDU-006
  │     └── EDU-006 Practice schema Flyway          done
  │           ├── EDU-007 Create/restore practice   done
  │           ├── EDU-008 Idempotent answer save    done
  │           └── EDU-009 Atomic submit/report      done
  ├── EDU-003 Tenant resolution decision            done
  │     └── EDU-004 Tenant/identity security        done; ingress/IP-only probing throttle remains operational blocker
  └── EDU-005 PostgreSQL/Flyway takeover decision   done

EDU-009 + provider/content decisions
  └── EDU-010 Tenant content publication            done (bounded JAVA_READ publication scope delivered)
        └── EDU-011 Import/export/assets/scanning   bounded capability delivered; production adapters/export artifacts deferred

EDU-004
  └── EDU-012 Classes and education relationships   implemented (bounded class/invitation capability)

Commerce ownership decisions
  └── EDU-013 Education commercialization           bounded entitlement/binding capability implemented; platform events deferred

All owner/contract decisions
  └── EDU-014 Extended learning waves               bounded representative wave delivered; blocked families explicitly deferred
        └── EDU-015 Operational independence        contracts implemented; release/deployment evidence remains

EDU-003 + tenant-admin inventory
        └── EDU-017 Tenant appearance/theme               bounded appearance/settings/theme lifecycle delivered; integrations/secrets/codes deferred
              └── EDU-018 Native payment/social admin      Pay/System controllers, RBAC, and Vben pages reused
              ├── EDU-019 Learning activation codes  bounded generation/redemption, entitlement composition, and Vben page delivered
              └── EDU-020 Native Pay activation       Pay module plus tenant App/Channel schema and parent isolation delivered
                    └── EDU-021 Legacy Pay import      explicit tenant-account mapping into native Pay with redacted audit delivered
                          └── EDU-022 Native Pay transactions tenant order/refund/notify ledgers and native UI delivered
                                └── EDU-023 Legacy Pay transactions reconciled terminal import and redacted audit delivered
                                      └── EDU-024 Native Pay Transfer/Wallet tenant ledgers and native UI delivered
                                            └── EDU-025 Native Mall Product tenant catalog and native UI delivered
                                                  └── EDU-026 Native Mall Promotion coupon templates/instances and native UI delivered
                                                        └── EDU-027 Native Mall Trade order core and native UI delivered
                                                              └── EDU-028 Native checkout discount/reward activities and native UI delivered
                                                                    └── EDU-029 Native Trade delivery and native UI delivered
                                                                          └── EDU-030 Native Trade after-sale and corrected native UI delivered
                                                                                └── EDU-031 Native Trade brokerage and corrected native UI delivered
                                                                                      └── EDU-032 Native Promotion Seckill and corrected native UI delivered
                                                                                            └── EDU-033 Native Promotion Combination and corrected native UI delivered
  1. Complete production release evidence for EDU-015 using the Pilot runbook and target-only JAVA_READ deployment.
  2. Add deferred EDU-011 scanner/parser/export adapters only when their owning platform contracts and deployment are available.
  3. Add automatic EDU-013 fulfillment only after Mall/Pay/CRM expose the recorded public events; keep manual trusted fulfillment and access fail-closed meanwhile.
  4. EDU-025 activates native Product, EDU-026 activates coupons, EDU-027 activates the normal Trade order core, EDU-028 activates discount/reward, EDU-029 activates delivery, EDU-030 activates after-sale/Pay Refund, EDU-031 activates native brokerage, EDU-032 activates native Seckill, and EDU-033 activates native Combination activities, group records, atomic capacity, exact RBAC, and corrected administration pages. Continue with Bargain/Point and other Promotion families, source referral CRM/settlement-proof import, explicit legacy product/coupon/order/refund import, automatic Mall/Pay fulfillment, refund-driven entitlement revocation, production export/runbook evidence, legacy activation-code import, tenant PNVS, and encrypted generic secret storage as separate slices.
  5. Select the next EDU-014 family only after its entitlement, privacy, and owner decisions are recorded.

Phase 0 completion caveat

Phase 0 artifacts exist, but several architecture and product decisions remain open. EDU-000 is considered complete as an inventory deliverable, not as resolution of every decision it discovered.