The Liberty Archive FREECAPITALISTS.ORG

Engineering record

How this site is built

I rebuilt and republished the webmaster-era Mises.org library as a static archive, directing a fleet of AI coding agents. The interesting engineering is not code generation. It is the system of gates and records that decides what generated work is allowed to ship.

I assembled and open-sourced this collection while serving as Mises.org webmaster from 2004 to 2014. Its rights are mixed, so each item passes its own rights record rather than inheriting a blanket claim. A large share of this repository is versioned catalog data, not artisanal code, and I review the generated work before deployment.

The repository is private because it contains rights deliberations and scraped working sidecars. This page therefore makes the output auditable: every claim points to a live artifact, the measured archive statistics, or the commit-subject audit trail.

The build record

Git figures refresh on every build. Code and data figures come from a dated tokei snapshot.

758CommitsFrom git history
51Days of commit history2026-07-21 to 2026-09-09
40,308Python lines in 119 filesMeasured 2026-08-12
92Versioned scriptsMeasured 2026-08-12
30Generator modulesMeasured 2026-08-12
42Governing specsMeasured 2026-08-12
1,481,206Versioned JSON data lines, not codeMeasured 2026-08-12

The archive those systems govern

Computed from the same in-memory catalog model as the statistics page.

945BooksCounted at build time
165Lecture seriesCounted at build time
2,732RecordingsCounted at build time
18PeriodicalsCounted at build time
51.9 millionExtracted book wordsCounted at build time
1,520Hours of recordingsCounted at build time

Six pipelines

Each pipeline has a gate and a proof

These are production artifacts, not model demos. Where a model runs it is named, its measured output is stated, and the constraint that can stop it is visible beside it. The fifth runs no model at all, and the sixth runs entirely on hardware I control rather than a hosted API.

01

Text-to-speech audiobooks

Chatterbox (Resemble AI, MIT, 350M) narrates, conditioned on a short reference clip per speaker.

Measured output
The I, Pencil pilot narrates 2,657 words into a 13.8-minute M4B with 2 chapter markers, read by 2 machine-built voice clones of Leonard E. Read and Milton Friedman.
Gate
The book's own derivative-rights decision must allow the artifact. A cloned voice needs a second, separate record: each reference clip carries its source and its rights rationale before it is used, and one of these two rests on a fair-use argument rather than a cleared right. Machine origin and every clone are disclosed beside the player and in the file metadata.

02

Speech-to-text transcripts

faster-whisper, primarily the medium model with float16 CUDA, transcribed the recording library.

Measured output
2,719 recordings transcribed, 1,515.7 hours and 12,405,327 words. Quality filters then withheld 18 of them, 5,424 words, leaving 2,701 transcripts published.
Gate
Two publication filters reject low-language-probability output and obvious repetition. The rights basis is an operator authorisation, not a licence.

03

OCR and ebook recovery

Tesseract LSTM with tessdata_best recovers text from scanned books. Calibre handles the adjacent PDF-to-EPUB conversion pipeline.

Measured output
41 logged runs recovered 1,782,422 words from 4,994 scanned pages, each text layer embedded back into its PDF. The largest single run, Murray N. Rothbard's Left and Right: A Journal of Libertarian Thought (Complete, 1965-1968), yielded 262,425 words across 692 pages. Separately, 220 of 945 books gained an EPUB from a PDF.
Gate
OCR is deliberately manual, so every run is logged with its language, page count and date. Every conversion is recorded in a provenance sidecar, and a changed file is protected from overwrite.

04

Commissioned book covers

gpt-image-1 through the OpenAI Images API produces candidates from per-book content briefs.

Measured output
117 model-generated covers sit within a protected commissioned tier of 120 covers, each based on a book-specific brief.
Gate
Briefs specify content, not composition. Candidates are reviewed at 300-pixel card size, and an installed commission enters a tier that no bulk job may overwrite.

05

Crosslinks between archive, forum and wiki

No model runs in this one. A deterministic matcher over titles, redirect aliases and full-text indexes links the three sites to each other. Anything it cannot match with confidence gets no link at all, which is why the coverage figures below are low.

Archive to forum
84 of 1,110 book and course pages carry cards for the 115 forum threads whose titles name that work, with reply and participant counts and the date of the last reply.
Forum to archive
Every book and course page also opens a prefilled thread composer whose first post is that page's own URL, so a discussion started from the archive carries the link back to it.
Forum to wiki
3,681 of 22,067 public topics on forum.freecapitalists.org carry a reference strip, 3,908 links into the 1,418-article wiki at wiki.freecapitalists.org.
Gate
A strip is correct only when every link on it belongs. A random sample of 100 strips, reviewed by hand, scored 100. Each release is bound to its hostnames and a hash of its mapping, so one community's links cannot load into another's forum.
Live proof
One chain end to end: a book page links to a reader thread on the forum, which links out to the wiki article on Economics in One Lesson. Release v1, 2026-08-21

06

Forum AI features, run on local hardware

Gemma 3 12B (Google, open weights) drafts and answers through a local LM Studio server; nomic-embed-text-v1.5 (Nomic AI, open weights) embeds every post. Both run on my desktop GPU instead of a hosted API, so a member's post, quote or private message never leaves my hardware to produce these features.

Measured output
The embeddings model drives semantic and quick search, an AI-curated related-topics list distinct from the deterministic wiki strip in pipeline 05, and a topic-discovery tool. Gemma answers members directly in private message, drafts and proofreads inside the post composer, writes topic summaries and one-line gists, and translates posts, excluding its own replies so a translated thread cannot quote the bot back into a language it never wrote in. The same model screens new low-trust posts for spam, and a separate agent-strategy pass rates sentiment rather than a single-shot classifier.
Gate
Local inference is itself the gate: nothing here calls out to a third-party model host, so forum content stays on hardware I control. Access to the private-message bot is trust_level_0, open to any registered member rather than staff only; that permission had gone silently misconfigured until I caught and fixed it, the kind of failure the operating-system section below says gets recorded rather than deleted.
Live proof
Try the semantic search, open to any visitor. The private-message bot needs a free forum account, since it only runs inside a private conversation. Configured 2026-08-23

Two of these hold no model at all. The bulk cover system is deterministic Pillow rendering, PDF screenshots and typographic covers, and the crosslink matcher is plain string matching. Naming a model that a pipeline does not run would be the easiest claim on this page to fake, so each card states which case it is. The Discourse plugin that renders the wiki strips is public and pinned to a commit (11ce8f4).

The generator

A small static core with standing gates

Python 3.11+, Jinja2, and Pillow generate the site without a web framework or front-end build tool. A content digest per output file keeps unchanged files out of the publish and SEO passes. Re-timed on the 2026-08-12 catalog, an unchanged build takes about two minutes and a full-template rewrite about four.

  1. SEO gateEvery page needs a valid title, description, canonical URL, and JSON-LD document, or the build fails.
  2. Artifact provenanceA generator may overwrite a file only when its bytes still match the digest it recorded. A human override is protected.
  3. Rights engineEach book gets four independent decisions: host the file, publish full text, make a derivative, and bulk-export. The archive publishes 92.1 GB and holds back another 51.4 GB.
  4. Stats self-countThe statistics page re-derives its own page count last and raises if the number disagrees with the sitemap.

How the agents work

The operating system is the product

42 governing specs are contracts. A routing table sends an agent to the smallest document set that governs its task, so it does not have to rediscover the project or load every decision at once.

Agents commit and push freely. Deployment is the only approval gate, and I run it. Failed approaches stay in the record when they can prevent the next agent from repeating the same wrong diagnosis.

The public audit surface is the output: every commit subject is listed in the changelog, the statistics are rebuilt from the catalog, and each generated artifact carries the evidence its own gate requires.

Who

David Veksler

I built and maintain this archive. For the broader engineering record and contact details, visit David Veksler's site.