Module Promise Map¶
Page Maps¶
graph LR
family["Reproducible Research"]
program["Deep Dive Make"]
section["Guides"]
page["Module Promise Map"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
Use this page when a module title sounds plausible but still too compressed. A good module title should tell you what kind of judgment you will leave with, not just which topic area the chapter occupies.
How to read the map¶
Each row answers four practical questions:
- what the module is trying to change in your mental model
- what it is not trying to cover yet
- what kind of evidence should corroborate the lesson
- what you should be able to do afterward
If a module page drifts from that contract, the drift should be visible here.
Module contracts¶
| Module | The promise | The boundary | You should leave able to... | First corroboration route |
|---|---|---|---|---|
| 01 Foundations | Make the build graph legible instead of mystical | targets, prerequisites, rebuild causes, atomic publication | explain one rebuild in terms of declared inputs and outputs | Capstone Walkthrough |
| 02 Parallel Safety | show that concurrency is a truth test, not a speed hack | runnable targets, one-writer rules, order-only edges, race classes | explain why one concurrent shape is safe and another is dishonest | Capstone Proof Guide |
| 03 Determinism | turn correctness into a repeatable operating habit | stable discovery, CI-facing targets, selftests, Make-native debugging | distinguish product tests from build-system proof | Capstone Proof Guide |
| 04 Semantics | replace folklore with named GNU Make rules | precedence, expansion, includes, remakes, rule semantics | explain a surprising result by naming the governing rule | Command Guide |
| 05 Hardening | surface the assumptions a build must declare to stay trustworthy | tools, shell behavior, hidden inputs, failure containment | say which assumptions belong in policy instead of custom or lore | Capstone Map |
| 06 Generated Files | treat generators as ordinary graph owners instead of side effects | generated headers, manifests, multi-output rules, publish points | trace a generated artifact back to its semantic inputs | Capstone File Guide |
| 07 Build Architecture | scale the build without turning it into a private language | public targets, layered mk/ files, macros, naming |
point to the right file when a structural change is needed | Capstone File Guide |
| 08 Release Engineering | define what a publishable artifact actually promises | bundle layout, manifests, attestations, install behavior | explain why a file belongs inside or outside a released surface | Capstone Proof Guide |
| 09 Incident Response | make build incidents diagnosable under pressure | measurement, observability, triage ladders, runbooks | choose the next evidence surface before editing anything | Capstone Review Worksheet |
| 10 Governance | teach stewardship, migration order, and honest tool boundaries | review method, migration sequencing, governance rules, handoff decisions | improve a build while preserving proof and public trust | Capstone Extension Guide |
What this page prevents¶
This map exists to prevent four common course failures:
- a module promises judgment but only delivers syntax
- a module promises operations but never reaches executable proof
- a module promises architecture but leaves ownership blurry
- a module promises stewardship but never turns into review behavior
If you notice one of those failures while reading a module, come back here and name the missing piece directly.
Best companion pages¶
- Module Checkpoints when you need the exit bar after the promise
- Proof Ladder when the corroboration route feels too heavy
- Capstone Map when the promise is clear but the repository route is not