ZeroParadox

Build Scripts

This folder contains the tooling used to generate the Zero Paradox PDF documents.

Authorship Note

These scripts were generated by Claude (Anthropic) as part of the document production process. They are included here for transparency — so that anyone can see exactly how the PDFs were produced. The mathematical content, document structure, and all editorial decisions originate with the human researcher. The scripts are mechanical renderers, not authors.

A Note on Reproducibility

These scripts are copied from an active private development folder for the sake of transparency. They are not packaged or hardened for external use. You are welcome to read them and understand how the documents were produced, but be aware:

If you are primarily interested in the mathematical content, the PDF documents themselves are the authoritative output.

Contents

Shared utilities

File Purpose
zp_utils.py Shared utility module imported by all build scripts. Provides font registration, colour constants (including palette enforcement gate), layout constants, style dicts, and all standard component helpers: sp, fix, body, li, derived, label_box, data_table, make_doc, callout, result_box, axiom_box, def_box, remark_box, import_box. The palette gate runs at import time and aborts the build if a script redefines a protected colour constant without an explicit # ZP-OVERRIDE: annotation.
setup_fonts.py Downloads the required font files into scripts/fonts/
scan_pdfs.py Pre-push validation: checks DVS font registrations, STIXTwo-Math glyph coverage, and presence of all expected output PDFs

Formal layer builders

File Current output
build_zpa.py ZP-A_Lattice_Algebra.pdf
build_zpf.py ZP-F_The_Counterexamples.pdf
build_zpb.py ZP-B_pAdic_Topology.pdf
build_zpc.py ZP-C_Information_Theory.pdf
build_zpd.py ZP-D_State_Layer.pdf
build_zpe.py ZP-E_Bridge_Document.pdf
build_zpg.py ZP-G_Category_Theory.pdf
build_zph.py ZP-H_Categorical_Bridge.pdf
build_zpi.py ZP-I_Inside_Zero.pdf
build_zpj.py ZP-J_Self_Reference.pdf
build_zpj_afa_addendum.py ZP-J_AFA_Addendum.pdf
build_zpk.py ZP-K_Computational_Grounding.pdf
build_zpl.py ZP-L_Incomputability_Convergence.pdf
build_zpm.py ZP-M_Kleene_Ordinal_Bridge.pdf

Illustrated companion builders

File Companion for
build_zpa_companion.py ZP-A
build_zpf_companion.py ZP-F
build_zpb_companion.py ZP-B
build_zpc_companion.py ZP-C
build_zpd_companion.py ZP-D
build_zpe_companion.py ZP-E
build_zpg_companion.py ZP-G
build_zph_companion.py ZP-H
build_zpi_companion.py ZP-I
build_zpj_companion.py ZP-J
build_zpk_companion.py ZP-K
build_zpl_companion.py ZP-L
build_zpm_companion.py ZP-M

Supporting document builders

File Current output
build_foreword.py Zero_Paradox_Foreword.pdf
build_tools.py ZP_Tools_and_Methods.pdf
build_zp_philosophical_question.py ZP_Philosophical_Question.pdf
build_zp_reals_companion.py Superseded by build_zpf_companion.py — retained for reference

Archive

File Notes
archive/build_zp_pdfs.py Superseded monolith — retained for reference only

Setup

Font files are not tracked in git. Download them before running any builder:

python setup_fonts.py

Or manually: download the DejaVu fonts TTF release and place the following files in scripts/fonts/:

DejaVuSans.ttf
DejaVuSans-Bold.ttf
DejaVuSans-Oblique.ttf
DejaVuSans-BoldOblique.ttf
DejaVuSerif.ttf
DejaVuSerif-Bold.ttf
DejaVuSerif-Italic.ttf
DejaVuSerif-BoldItalic.ttf

Running a Builder

From the repo root:

pip install reportlab
python scripts/build_zpa.py
python scripts/build_zpb.py
python scripts/build_zpc.py
python scripts/build_zpd.py
python scripts/build_zpe.py
# etc. — each script is independent and writes directly to the repo root

Output PDFs are written to the repo root.

License

CC BY-NC-ND 4.0 — same as the rest of the repository.