mirror second-pass close-out: retention diagram precision, evidence taxonomy, sourced Talos reboot claim, qualified failure matrix, Hub pull terminology, referrer completeness split, storage semantics, secret-rotation truth, table captions + scope + keyboard regions, all-lazy plates, en-AU, editorial reduction, extended gates
This commit is contained in:
+16
-5
@@ -141,7 +141,7 @@ const OG_IMG = SITE + heroUrls["__HERO_GITOPS__"];
|
||||
|
||||
// shared document shell: every page on the site gets the same head discipline
|
||||
const shell = ({ title, desc, path, ogImg, scripts, bodyHtml }) => `<!doctype html>
|
||||
<html lang="en">
|
||||
<html lang="en-AU">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@@ -178,7 +178,7 @@ const html = shell({
|
||||
});
|
||||
|
||||
// ---- The Mirror (chapter 02): fingerprint its plates + its app script -------
|
||||
const MIRROR_DESC = "A pull-through container registry taken apart: why a lab runs its own mirror, the chicken-and-egg loops inside it, and the scars that taught each rule.";
|
||||
const MIRROR_DESC = "How a zot pull-through registry behaves under Talos and containerd: upstream routing, digest preservation, garbage collection, authentication rollout, failure modes, and the lab evidence behind each decision.";
|
||||
let mirror = readFileSync(join(ROOT, "pilot/mirror.tpl.html"), "utf8");
|
||||
const mirrorPlates = {};
|
||||
for (const n of ["20", "21", "22", "23", "24", "25"]) {
|
||||
@@ -186,10 +186,10 @@ for (const n of ["20", "21", "22", "23", "24", "25"]) {
|
||||
mirrorPlates[n] = url;
|
||||
const dims = jpegSize(buf);
|
||||
if (!dims) throw new Error(`mirror plate ${n}: JPEG dimensions unreadable`);
|
||||
// plate 20 is the page's first image (near the fold) -> eager/LCP; the rest lazy.
|
||||
const load = n === "20" ? "eager" : "lazy";
|
||||
// every plate sits below the fold (fact panel + contents precede the first scene),
|
||||
// so all six lazy-load; intrinsic dims come from the actual bytes.
|
||||
mirror = mirror.replace(`__M${n}__`,
|
||||
`${url}" width="${dims.w}" height="${dims.h}" decoding="async" loading="${load}`);
|
||||
`${url}" width="${dims.w}" height="${dims.h}" decoding="async" loading="lazy`);
|
||||
}
|
||||
const mirrorJs = readFileSync(join(ROOT, "pilot/mirror.js"));
|
||||
const mirrorJsName = `mirror.${fp(mirrorJs)}.js`;
|
||||
@@ -240,6 +240,11 @@ for (const [pg, doc] of [["cluster", html], ["mirror", mirrorHtml], ["index", di
|
||||
// target the assertive phrasings and internal production jargon, not the topic words.
|
||||
const mirrorBanned = [
|
||||
[/never leaves the building/i, "retired absolute cache claim"],
|
||||
[/SAY IT/, "removed rhetorical block resurfaced"],
|
||||
[/HOMELAB CLAUSE/, "removed label resurfaced"],
|
||||
[/Nothing on v2\.1\.17\/18 protects/, "over-broad retention annotation resurfaced"],
|
||||
[/100 manifest requests per six hours/, "imprecise Hub limit phrasing"],
|
||||
[/a tag is a suggestion, a digest is a fact/i, "retired slogan"],
|
||||
[/up to twelve|twelve tries|12 attempts/i, "stale retry arithmetic (correct figure: sixteen)"],
|
||||
[/plate-level/i, "internal production note leaked to readers"],
|
||||
[/· motion:/i, "art-direction caption leaked to readers"],
|
||||
@@ -249,6 +254,9 @@ const mirrorBanned = [
|
||||
for (const [re, msg] of mirrorBanned) if (re.test(mirrorHtml)) fail.push("mirror: " + msg);
|
||||
const mirrorRequired = [
|
||||
["zotregistry.dev", "primary zot references missing"],
|
||||
["docs.docker.com/docker-hub/usage/pulls", "Docker Hub pulls reference missing"],
|
||||
["v1alpha1", "Talos auth-reboot source link missing"],
|
||||
["deleteUntagged", "blanket untagged lever discussion missing"],
|
||||
["keepUntagged", "version-gated retention discussion missing"],
|
||||
["/livez", "real health endpoints missing"],
|
||||
['id="refs"', "references section missing"],
|
||||
@@ -257,6 +265,9 @@ const mirrorRequired = [
|
||||
];
|
||||
for (const [needle, msg] of mirrorRequired) if (!mirrorHtml.includes(needle)) fail.push("mirror: " + msg);
|
||||
must((mirrorHtml.match(/width="1600" height="872"/g) || []).length === 6, "mirror: expected six correctly-dimensioned plates");
|
||||
must((mirrorHtml.match(/loading="lazy"/g) || []).length === 6, "mirror: expected all six plates lazy-loaded");
|
||||
must((mirrorHtml.match(/<caption/g) || []).length === 5, "mirror: expected five table captions");
|
||||
must(!/<th>(?!<)/.test(mirrorHtml.replace(/<th scope="col">/g, "")), "mirror: th without scope=col");
|
||||
must(!/100vw/.test(mirrorHtml), "mirror: viewport-width unit reintroduces scrollbar overflow");
|
||||
must(!mirrorHtml.includes("gsap"), "mirror: unexpected animation library reference");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user