3.6 KiB
3.6 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
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.
- 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.