feat(education): complete Flyway migration and atomic submit

This commit is contained in:
2026-07-30 12:06:55 +08:00
parent ce02f8acb4
commit 79a5799502
228 changed files with 32551 additions and 1376 deletions

View File

@@ -0,0 +1,33 @@
# EDU-013 — Education commercialization binding
- **Status:** blocked
- **Type:** decision and implementation program
- **Phase:** 5
- **Blockers:** product/entitlement model, Mall/Pay API assessment, Member entitlement decision, EDU-004
## Outcome
Education products and access rights are connected to Mall, Pay, Member, and CRM without creating a parallel product, order, payment, refund, membership, or financial ledger in Education.
## Education ownership
Education may own only domain bindings and fulfillment orchestration, such as:
- education product to course/exam/content binding;
- entitlement scope and education-resource association;
- duplicate-safe fulfillment event state where no platform facility exists.
## Acceptance criteria
- [ ] Mall/Pay/Member/CRM public contracts are mapped before implementation.
- [ ] Payment callbacks and refunds remain in Pay.
- [ ] Generic products/orders remain in Mall where applicable.
- [ ] Entitlement issuance, revocation, expiry, and refund effects are explicit and idempotent.
- [ ] Paid/private practice remains inaccessible until entitlement checks are complete.
- [ ] Reconciliation and commission/referral ownership is explicit.
- [ ] Financial and authorization tests cover duplicate callbacks and cross-tenant access.
## Risk and rollback
- **Risk:** Very high financial and access-control risk.
- **Rollback:** Disable fulfillment handlers and paid access; preserve financial ledgers in their owning modules.