MTC Chapter 5 — The Transformation Network¶

Part II · Week 4 · Seed 20260501

The signature network, founded. Four reachability strata from [Private]; the viability gap $\mathfrak{R}_V^+ \setminus \mathfrak{R}_F^- = \{\text{Securitized}\}$.

In [ ]:
import sys, os
sys.path.insert(0, r"/home/claude/mtc/mtc-course/downloads/engine_lib")
sys.path.insert(0, r"/home/claude/mtc/nbbuild")
from mtcplot import apply_style, MTC_RED, BRASS, SLATE, MTC_RED_LITE, MTC_RED_DARK
import matplotlib.pyplot as plt
import numpy as np
apply_style()

The four strata as a reachability grid¶

Each professional's question admits a different set of classes; the gap cell is [Securitized].

In [ ]:
from engines import mtc_engine_ch05 as e
st = e.strata_table()
strata = ["R_M","R_L","R_Vplus","R_Fminus"]
slabels = ["ℜM engineer","ℜL lawyer","ℜV+ growth","ℜF− credit"]
classes = e.CLASSES
fig, ax = plt.subplots(figsize=(8.5,4))
for i,s in enumerate(strata):
    for j,c in enumerate(classes):
        reach = st[s][c]
        color = MTC_RED if reach else "#eee"
        ax.scatter(j, len(strata)-1-i, s=300, color=color, edgecolors="#C9B99B", zorder=2)
# highlight the gap: Securitized in Vplus but not Fminus
gap_j = classes.index("Securitized")
ax.scatter(gap_j, len(strata)-1-3, s=340, facecolors="none", edgecolors=BRASS, linewidths=3, zorder=3)
ax.set_yticks(range(len(strata))); ax.set_yticklabels(list(reversed(slabels)))
ax.set_xticks(range(len(classes))); ax.set_xticklabels([c[:6] for c in classes], rotation=30, ha="right")
ax.set_title("Reachability strata (red=reachable); brass ring = the viability gap")
ax.grid(False)
plt.tight_layout(); plt.show()
print("viability gap:", e.viability_gap())
kt = e.kleene_transcript()
print(f"bottom cap {kt['bottom']['capacity']} vs cost {kt['bottom']['cost']} -> {kt['bottom']['affordable']}")
print(f"top cap {kt['top']['capacity']} vs cost {kt['top']['cost']} -> {kt['top']['affordable']}")

Validation¶

Every number above is reproduced by the seeded engine; the checks below must all pass.

In [ ]:
from engines import mtc_engine_ch05 as _e
v = _e.validation_checks(); v.pop("_values", None)
for k, val in v.items():
    print(f"  {k}: {val}")
assert v["ALL_PASS"], "validation failed"
print("\nALL_PASS — matches notebook + workbook + API")