Aggregate invariants and semantic translation
This required 22–32-hour package supplies the executable core of guided Labs 3–4: lessons/predictions 5–7 hours, domain/adapter implementation and integration 10–15, assessment/repair 7–10. Reuse its artifacts rather than duplicate the original labs. These are planning estimates pending semester reconciliation and learner pilots.
Prerequisite bridge
Review state machines, immutable values and invariant testing; review Semester 06 transaction conflicts, outbox publication and uncertain outcomes. Distinguish bounded context, aggregate, service and deployment. Module 02's source boundaries help keep external schemas out of the domain but do not establish semantic correctness.
Sequence
- Reservation invariants.
- Semantic translation.
- Coordination limits.
- Implement reservation-domain-contracts.zip, using Python 3 standard library and its README. Run
python3 -B check.py starterbefore reference calibration. - Complete DD1–DD6.
The reference checks 7,776 length-five command histories (38,880 transitions), 100 valid quantity translations and invalid state/schema cases. Its model has no database, concurrency, expiry, payment or message transport. Original repository conflict and asynchronous-coordination evidence remains required alongside event storming, three-context language packet, context map, event catalog and CQRS/event-sourcing decisions.
Semester integration
The reconciled workload now includes this package, original module work, required strand and assessment. Its allocation supersedes earlier provisional timing notes; do not count reused artifacts twice.