How this was made

Work on this site is produced with substantial AI assistance. This page documents the discipline that keeps it auditable, the artifacts that record what was done, and the workflow that lets any specific claim be traced to its source.

The discipline

Four constraints shape how research artifacts get produced here.

  1. No fabricated citations. Every cited source must resolve to a real paper present in research-kb, the local citation graph. Claims naming a source the KB has not ingested do not ship.
  2. Decisions are written down. Each substantive project carries a decision log — a DECISIONS.md file, or a numbered decisions/ ADR set — recording non-obvious choices: why this approach over that one, what was tried and rejected, what constraint forced the call.
  3. Periodic independent audits. Projects get an AUDIT_<date>.md file when audited, with _INDEPENDENT suffix when the audit is run by a fresh agent without prior conversation context. Independent audits catch claims that seemed obvious from inside the work but do not hold up cold-read.
  4. The audit prompt is reusable. audit-templates contains the standard prompt, applied identically across projects. Cross-project drift in audit quality is suppressed by sharing the prompt.

The artifacts

Decision log (DECISIONS.md / ADRs)

A per-project decision log — a DECISIONS.md at the repo root, or a numbered decisions/ ADR set — capturing decision-of-record entries with date, context, alternatives considered, and reasoning. Public example: the decisions/ ADR log in prompt-injection-detection-prototype — numbered ADRs with a shared template and explicit supersession tracking.

AUDIT_<date>.md

Audit artifacts. Filename pattern AUDIT_YYYY-MM-DD.md, with _INDEPENDENT suffix for fresh-agent runs. A project accumulates several over time — for example, causal_inference_mastery carries AUDIT_2025-12-31.md, AUDIT_2026-01-01_INDEPENDENT.md, and AUDIT_RESULTS.md.

Cadence

No fixed schedule. An audit is triggered when substantive content lands, when a project is about to be shipped or shared, when a peer flags a possible issue, or when a quarter has passed. The independence dimension matters more than the cadence: a fresh agent without prior context catches what a familiar one will not.

AI disclosure

Content on this site is produced collaboratively with AI tools — principally Claude Code. The split varies by artifact: some pages are AI-drafted and human-audited; others are AI-assisted research synthesis with human framing; a few are mostly human writing reviewed by AI for clarity. The four constraints above apply identically across categories.

This site voluntarily aligns with the disclosure principles of EU AI Act Article 50 (effective 2026-08-02), though the apex domain is US-operated and not legally bound. The discipline exists; making it visible is the cost-free part.

Bisection — claim to source

Given a suspect claim in any chapter or article, the path from claim to source is four steps. A Provenance component, rolling out across the book-scaffold-astro consumers, will surface most of this inline on chapter pages; today the workflow is manual.

  1. Read the page frontmatter (when present). Each substantive chapter has a provenance: block naming the AI tools used, decisions-log anchor, and audit history.
  2. Follow the decisions log. The decisions_log entry is an anchor into the project's DECISIONS.md. That entry records why the claim is framed the way it is and what alternatives were considered.
  3. Check the audit history. Each AUDIT_<date>.md referenced in the audit history was a moment of "is this still right?" — both routine and independent.
  4. Resolve to research-kb. Claims tied to a cited source resolve to a research-kb entry holding the paper, citation metadata, and its position in the citation graph. From there, confirm against the source itself.

Worked example (illustrative)

Suppose a chapter on numerical discretization of state-space models claims the bilinear transform preserves stability properties under large step sizes, and cites a foundational control-theory paper. Bisection:

  1. Open the chapter. Frontmatter shows citation_backstop: research-kb and a decisions_log anchor pointing into the project's DECISIONS.md.
  2. Open the decisions log entry. It explains why bilinear was chosen over forward Euler (numerical stability for large step sizes) and references the cited paper for the stability argument.
  3. Check the most recent AUDIT_<date>.md for the project. Confirm the cited paper is named and that the stability claim was checked against the actual source during the audit.
  4. Resolve the cited paper through research-kb. Open the actual PDF held in the local library. Confirm the cited result matches the source's actual statement, including any qualifying conditions the chapter may have abridged.

If any step fails — frontmatter missing, decision not recorded, audit silent on the claim, research-kb missing the source — that is a real flaw, not a stylistic one. Email me and it gets fixed.

See also