M2 — Compute arbitrage decision tree
Eye-landing point
The root question at the top : souveraineté SecNumCloud livrable
pédagogique du Master ? It is the actual fork in
docs/compute/scenario-matrix.md §5.5, and it is the political
question — not a technical one — that gates every downstream branch.
The thick gold border on Q1 makes it the first thing the eye catches.
A reader scanning the diagram in three seconds should be able to answer : which architecture does the sovereignty branch resolve to? — answer : A4 (all-in S3NS, \(\approx\) €2 275 / an).
Layout discipline
- Root : Q1, the sovereignty question — gold border, drawn at top.
- Decision nodes : Q2 (hackathon scope) and Q3 (provider choice for
the four recurring use cases). Three atomic atomic questions from
scenario-matrix.md§5.5. - Leaves : the five architecture leaves carry €/an cost and a one-line rationale. A4 is highlighted in red because it is the only leaf that survives the sovereignty fork.
- Branches : labelled with the human-readable answer that resolves the question (oui / non / crédit académique négocié / budget zéro).
What was deliberately excluded
- A1, A2, A3, A5, M4 — five architectures from the scenario matrix that are dominated transversally and are not viable defaults for any use case. Including them would dilute the fork.
- Per-UC cost breakdowns — the leaves carry a rolled-up annual cost
across all five UCs. Per-UC cells live in
scenario-matrix.md§4. - Storage migration cost — captured in the migration 5,7 TiB requise tag on A4 only. The other leaves (M1/M2/M3/M5) preserve the storage-compute découplage so the migration cost is zero by construction.
- Egress projections — €/GB calculations belong to
docs/compute/cost-model.md. Re-exposing them here would bloat the diagram into a spreadsheet. - Friction / lock-in / latency — captured in the §4 matrix cells per UC. Re-flattening them into the tree would lose the per-UC granularity without adding decisional clarity.
Lint check (Obsidian-Mermaid pitfalls)
- [x] No
<i>/<b>HTML tags inside labels (only<br/>line breaks). - [x] No numbered prefixes
1.2.at start of any label (Q1/Q2/Q3, A4, M1/M2/M3/M5 are dash-or-no-separator identifiers, not period lists). - [x] No nested
subgraphcontaining a single node —classDefis used for the four visual roles (rootQ, question, leafSov, leaf).
Render check
- GitHub Mermaid preview : OK.
- HTML wiki build pipeline : exercised by the sibling wiki-build pipeline.
- Banlist sweep on rendered SVG : passes (no internal-only vocabulary in node IDs, labels, or edge labels).