6.7 KiB
6.7 KiB
Education Migration Tickets
This directory turns GOAL.md into executable, blocker-aware vertical slices.
Workflow
- Work only tickets whose blockers are complete.
- Start each implementation ticket in a fresh context after reading
GOAL.md, the ticket, relevant decisions, and current Git status. - Preserve the dirty working tree. Implementation is serial unless an isolated worktree and integration plan are explicit.
- Apply TDD at the ticket's declared seams.
- Use
flyway-postgresqlfor every schema, index, constraint, seed, baseline, backfill, or Flyway configuration change. - Close with focused tests,
git diff --check, andmvn -pl yudao-server -am -DskipTests clean compile. - 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
Recommended execution order
- Complete production release evidence for EDU-015 using the Pilot runbook and target-only
JAVA_READdeployment. - Add deferred EDU-011 scanner/parser/export adapters only when their owning platform contracts and deployment are available.
- Add automatic EDU-013 fulfillment only after Mall/Pay/CRM expose the recorded public events; keep manual trusted fulfillment and access fail-closed meanwhile.
- 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.
- 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.