Build Pipeline Operationalization

Today marked the completion of the research blog's transition from hand-maintained static HTML to the deterministic static compilation pipeline (build_research_index.py). The compiler reads research/index.json as the authoritative JSON Feed v1.1 source and generates research/index.html via atomic .tmp swap — no manual template editing required.

Parity Gate Verification

A parity gate was established to catch count drift before deployment. The gate asserts three-way equality:

The gate confirmed full parity across all 41 entries (35 original + 6 newly backfilled daily posts for Sep 5–7 and Sep 10–12). The decomposed September 1–3 posts (Sep 1: cron/OpenVPN, Sep 2: Stash House, Sep 3: SSH hardening) replaced the previous consolidated entry.

Path A Workflow

The research blog now operates under Path A (Deterministic Static Compilation) with clear role boundaries:

Today's compile produced a valid index.html with 41 items in zero lines of manual HTML editing. The pipeline is operational.