🎯 Learning objectives
- I can explain why C6 replaces the interactive vocabulary with makespan, batch-window adherence and cost per simulation.
- I can distinguish the third consistency semantics – reproducibility and refresh contracts – from ACID and eventual consistency.
- I know that C7 is an integration product over C1–C5 whose ADR to write is the freshness contract.
- I can explain why C8's hard requirement is declared correctness semantics under failure, not throughput.
- I can judge, per stream and per scenario, when at-least-once plus idempotence is legitimate instead of exactly-once.
- I can explain why C9's binding load is connection fan-out and push, with concurrent-connection count as tiebreaker.
- I can explain each H of C6–C9 as a veto trigger backed by a scenario with a response measure.
- I can read the consolidated requirements table by columns and by rows, including its seventeen footnotes.
- I can name the five cross-class observations, including that D11 High, not scale, forces microservices.
- I can explain why the freshness contract appears twice in the course project's measurement contract.
🧑🏫 Theory
Lecture 9: Classes C6–C9 – and Ten Profiles Side by Side · 3 lessons lecture + 1 lesson standup/coaching
This lecture completes the demand side: classes C6–C9 in the same rhythm, then the consolidated requirements table with its seventeen footnotes and five cross-class observations.
- C6 replaces the interactive vocabulary: makespan, batch-window adherence and cost per simulation are the response measures; correctness means bit-level reproducibility from versioned inputs and seeds (Highs D2, D9, D10).
- C6 and C7 define a third consistency semantics beside ACID and eventual: reproducibility (“as of this run”) and freshness by refresh contract (“as of yesterday 24:00”), contracts with response measures.
- C7 is an integration product over C1–C5 (Highs D1, D10); the ADR to write is the freshness contract; tightening it towards real time is a class change into C8 economics.
- The course project inherits C6 (ingestion and eval pipelines) and C7 (analytics); its freshness contract appears twice: as a pipeline fitness function and as a grounding rule for generated answers.
- C8 must keep pace with the world indefinitely (Highs D2, D3, D5); the hard requirement is declared correctness semantics under failure; at-least-once plus idempotence is decided per stream, per scenario.
- AI lens: C7 docks text-to-SQL onto the governed semantic layer, not onto raw tables; C8 rules out per-event LLM calls; models score events in the stream as checkpointed operators.
- C9's binding load is connection fan-out and push (Highs D3, D5); same domain, four structures: scale and business model move the weights at the edges; concurrent-connection count is the tiebreaker.
- In the consolidated requirements table an H is a veto trigger backed by a scenario, an L a licence not to pay; the seventeen footnotes are part of the semantics.
- Five observations: read/write ratio and consistency semantics discriminate most; D11 High, not scale, forces microservices; rollbacks cut dataflows along technical seams; regulation lives in K(a); C10 inherits before it innovates.
- The ten profiles are derivable, not arbitrary: weights trace to binding scenarios, constraints to statutes or contracts, workload shapes to production numbers – the other operand, R(a), is ready.
📎 Materials: Slide set of Lecture 9 (added below by the lecturer) · Script: Part III – Sections 24 (C6 – Scientific Simulation / Batch Compute), 25 (C7 – Decision Support / BI Analytics), 26 (C8 – Real-Time / IoT Streaming), 27 (C9 – Collaboration / Messaging) and 29 (Stepping Back: Ten Profiles Side by Side).
🧑💻 Self-study and assignments
📖 Reading before the lecture: Part III – Sections 24 (C6 – Scientific Simulation / Batch Compute), 25 (C7 – Decision Support / BI Analytics), 26 (C8 – Real-Time / IoT Streaming), 27 (C9 – Collaboration / Messaging) and 29 (Stepping Back: Ten Profiles Side by Side).
Also before the lecture:
- Have the walking skeleton ready for the milestone check M3 in the coaching session: it must run end-to-end.
🧩 Exercise session: Coaching session (1 lesson): the teams finish the walking skeleton and the milestone check M3 takes place – the end-to-end thin slice must run.
🛠️ Project work this week · Milestone M3 – Walking Skeleton (weeks 8–9)
- Finish the walking skeleton: the end-to-end thin slice runs – MarketDataService delivers prices, a minimal ResearchAgent produces one validated Insight, delivered through the stable API; a placeholder UI calls it.
- Keep the deterministic core free of LLM calls – this is the line that is graded.
- Use a snapshot of market and news data so that demo and grading are reproducible even if the live APIs misbehave.
- Commit after the milestone and record your decisions as ADRs as you go.
- Apply today's lecture: your ingestion and eval pipelines are C6, your analytics are C7 – the skeleton should already show where an Insight's freshness stamp comes from.
📌 Due this week: Milestone check (week 9): walking skeleton runs end-to-end