Skip to content

Editorial accountability as a platform layer

Start with the thesis essay: editorial accountability is a platform-layer concern, not a model-layer concern. The essay connects the lesson sequence to the platform contracts, editorial controls, evaluation artefacts, and JP/Politikens positioning context.

Then read how this was built: the AI-native workflow behind the lab, Sandcastle issue slicing, Matt Pocock skills, ADR-driven grilling, and AFK execution that produced the tutorial.

The tutorial is a working platform, not a detached write-up. It builds the data platform, app contract, analytical contract, editor interface, and evaluation surfaces that make the thesis inspectable.

The generated references make those contracts falsifiable: browse the data reference for dbt model docs and lineage, or the API reference for the OpenAPI endpoints consumed by the editor surfaces.

flowchart LR
    platform["Data platform<br/>(DuckDB + Parquet + dbt + Dagster)"]
    appContract["App contract<br/>(FastAPI / OpenAPI)"]
    analyticalContract["Analytical contract<br/>(DuckDB table schema)"]
    editor["TypeScript editor<br/>(Express + HTMX)"]
    swapDemo["Streamlit swap-demo"]
    notebooks["Analyst notebooks<br/>(SQL)"]

    platform --> appContract
    platform --> analyticalContract
    appContract --> editor
    appContract --> swapDemo
    analyticalContract --> notebooks

The recommender model is deliberately simple; the platform around it — two contracts, one for apps and one for analysts — is where editorial leverage lives.