Capstone Walkthrough¶
Guide Fit¶
flowchart TD
family["Python Programming"] --> program["Python Metaprogramming"]
program --> pressure["A concrete learner or reviewer question"]
pressure --> guide["Capstone Walkthrough"]
guide --> next["Modules, capstone, and reference surfaces"]
flowchart TD
question["Name the exact learning stage"] --> stop["Choose the smallest walkthrough stop"]
stop --> inspect["Inspect the file or saved output for that stop"]
inspect --> explain["Explain what runtime boundary owns the behavior"]
explain --> proof["Use one matching command or test as proof"]
Read the first diagram as a timing map: this guide is for a named learning stage, not for wandering the whole course-book. Read the second diagram as the walkthrough rhythm: choose one stop, inspect the boundary, explain the owner, then prove it with one command or test.
Use this page when you want the first honest tour through the capstone without turning it into a file dump.
First pass versus deeper pass¶
First pass¶
Use stops 1 to 4 when the goal is to understand the runtime from the public surface.
Deeper pass¶
Use stops 5 and 6 only after the earlier stops no longer settle the question.
Walkthrough stop 1: Observe before execution¶
- Run
make manifestor inspect the savedmanifest.jsonfrommake inspect. - Read
src/incident_plugins/cli.pyand the manifest helpers insrc/incident_plugins/framework.py. - Ask: which runtime facts can be exported without invoking plugin actions?
- Prove it with
make manifest.
Walkthrough stop 2: Find the registry boundary¶
- Run
make registry. - Read the registration code in
src/incident_plugins/framework.py. - Ask: what happens at class-definition time, and why is this deterministic in tests?
- Prove it with
tests/test_registry.py.
Walkthrough stop 3: Inspect one descriptor-backed field¶
- Run
make field. - Read
src/incident_plugins/fields.py. - Ask: where does per-instance field state actually live, and which invariant belongs to attribute access?
- Prove it with
tests/test_fields.py.
Walkthrough stop 4: Inspect one wrapper-backed action¶
- Run
make actionand thenmake trace. - Read
src/incident_plugins/actions.py. - Ask: what did the wrapper add, and what original callable surface had to remain visible?
- Prove it with
tests/test_runtime.py.
Walkthrough stop 5: Inspect one concrete plugin¶
- Run
make plugin. - Read
src/incident_plugins/plugins.py. - Ask: which rules belong to the framework and which rules belong to the concrete adapter?
- Prove it by matching the plugin output to the field and action metadata already inspected.
Walkthrough stop 6: Inspect the full learner route¶
- Run
make inspectandmake PROGRAM=python-programming/python-meta-programming capstone-walkthrough. - Read the saved bundle under
artifacts/inspect/python-programming/python-meta-programmingandartifacts/tour/python-programming/python-meta-programming. - Ask: does the public learning surface make the runtime easier to review than the raw source tree alone?
- Prove it by following
route.txtandfocus-areas.txt.
Best walkthrough pairing by module¶
- Modules 01 to 03: stops 1 and 2
- Modules 04 to 05: stop 4
- Modules 06 to 08: stop 3
- Module 09: stop 2
- Module 10 and mastery review: stops 5 and 6
When to stop and escalate¶
- Stop at the first walkthrough step that settles the current question.
- Escalate from one stop to the next only when the earlier output no longer proves enough.
- Move to Capstone Architecture Guide when the question is about ownership rather than order.
Good stopping point¶
Stop with this walkthrough once you can say:
- which public step settled the current question
- which owning file you would open next only if needed
- which later stop you deliberately did not need yet