retire the reading key - the index carries navigation, the blog link moved inline

This commit is contained in:
2026-08-17 15:32:36 +10:00
parent 8b2a37d840
commit d0efbe0194
+1 -22
View File
@@ -32,14 +32,6 @@
documentation.</p> documentation.</p>
</section> </section>
<aside class="key" aria-label="reading key">
<p class="kt">Reading key &middot; this page stands alone - anything it leans on is listed here</p>
<ul>
<li><b>C-I</b><span>Docker: an image is a stack of frozen diffs. Referenced by Course VII.</span><a href="#c1">on this page</a></li>
<li><b>C-II</b><span>Kubernetes: a cluster is a promise - the reconciliation loop. Referenced by Courses VI and VIII.</span><a href="#c2">on this page</a></li>
<li><b>BLOG</b><span>Consistency by construction beats consistency by discipline - Course VIII's contexts move, lived on a real fleet.</span><a href="https://www.bztmon.com/blog/one-value-many-enforcers/">read it on bztmon.com</a></li>
</ul>
</aside>
<!-- ============ COURSE I ============ --> <!-- ============ COURSE I ============ -->
<section class="course" id="c1" data-scene="docker" aria-labelledby="c1h"> <section class="course" id="c1" data-scene="docker" aria-labelledby="c1h">
@@ -301,7 +293,7 @@
one values file: names, addresses, sizes, flags. The context is deliberately values-only; the one values file: names, addresses, sizes, flags. The context is deliberately values-only; the
moment it carries its own manifests there are two owners for one object, and they will moment it carries its own manifests there are two owners for one object, and they will
disagree. One value can feed many rendered artefacts - an address appearing in the app config, disagree. One value can feed many rendered artefacts - an address appearing in the app config,
the network attachment and two policies renders from one field, so the copies cannot diverge - the lived version is <a href="https://www.bztmon.com/blog/one-value-many-enforcers/">BLOG in the key above</a>.</p> the network attachment and two policies renders from one field, so the copies cannot diverge - the lived version is <a href="https://www.bztmon.com/blog/one-value-many-enforcers/">on the blog</a>.</p>
<p class="sayit">The chart owns the shape. The context owns the numbers.</p> <p class="sayit">The chart owns the shape. The context owns the numbers.</p>
<h3>Make the template refuse</h3> <h3>Make the template refuse</h3>
<p>A template that renders whatever it is given just moves the failure downstream. The grown-up <p>A template that renders whatever it is given just moves the failure downstream. The grown-up
@@ -487,19 +479,6 @@ b{color:var(--ink)} .mono{font-family:var(--mono);font-size:.9em;color:var(--cya
.purpose{max-width:66ch;margin:0 auto;padding:0 24px 5vh} .purpose{max-width:66ch;margin:0 auto;padding:0 24px 5vh}
.purpose p:not(.kt){font-size:.95rem;line-height:1.75;color:var(--dim);margin:0;text-align:left} .purpose p:not(.kt){font-size:.95rem;line-height:1.75;color:var(--dim);margin:0;text-align:left}
.key{max-width:760px;margin:0 auto;padding:0 24px 4vh}
.key .kt{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
color:var(--dim);text-align:center;margin:0 0 1rem}
.key ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.key li{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:baseline;
border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:#0a1020}
.key b{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--cyan)}
.key span{font-size:.82rem;line-height:1.5;color:var(--dim)}
.key i{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
color:var(--amber);font-style:normal;white-space:nowrap}
.key a{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;white-space:nowrap}
@media (max-width:700px){.key li{grid-template-columns:44px 1fr}.key i,.key a{grid-column:2}}
.library{max-width:860px;margin:2vh auto 6vh;padding:0 24px;list-style:none; .library{max-width:860px;margin:2vh auto 6vh;padding:0 24px;list-style:none;
display:flex;flex-direction:column;gap:12px} display:flex;flex-direction:column;gap:12px}
.library li{display:grid;grid-template-columns:190px 1fr auto;gap:16px;align-items:baseline; .library li{display:grid;grid-template-columns:190px 1fr auto;gap:16px;align-items:baseline;