61 lines
3.0 KiB
Markdown
61 lines
3.0 KiB
Markdown
# Education Migration Tickets
|
|
|
|
This directory turns [`GOAL.md`](../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
|
|
|
|
```text
|
|
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 in progress (graph integrity delivered; lifecycle remains)
|
|
└── EDU-011 Import/export/assets/scanning blocked
|
|
|
|
EDU-004
|
|
└── EDU-012 Classes and education relationships blocked
|
|
|
|
Commerce ownership decisions
|
|
└── EDU-013 Education commercialization blocked
|
|
|
|
All owner/contract decisions
|
|
└── EDU-014 Extended learning waves blocked
|
|
└── EDU-015 Operational independence blocked
|
|
```
|
|
|
|
## Recommended execution order
|
|
|
|
1. **EDU-010** — Continue with the provider-consistent question publication lifecycle; V4070 graph integrity is delivered.
|
|
2. Continue through EDU-011/EDU-012 as their blockers clear.
|
|
|
|
## 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.
|