graphs.sgit.aiadminRelease history

Release history

Every push to dev is a minor release. The version is owned by admin/build/version.txt, must appear in the release commit's subject, and is tagged automatically by CI once validation passes. How that works →

VersionDateWhat changed
v0.3.5 21 August 2026 The back cover breathes. Founder call: the italic sentence under the edition line ("The first of many: a new edition is published each time…") comes off the back cover — "First edition" already implies more will follow, and the sentence was squeezing the block above it. The freed space goes back to the claim/grammar/proof blocks and the authorship note, and the edition line now sits alone between them and the CC BY mark. The fuller first-of-many statement still lives where it has room: the print colophon.
v0.3.4 21 August 2026 The book now opens at the front door. Founder request: the front page's framing (the 8080 hero, the epigraph and the not-a-pitch note, the 10,000-hours story, the three altitudes with what happens next, the proof numbers and the ships/argued/absent honesty) now opens the book as an Introduction, before chapter 1 and before the book has even defined a graph — because it earns the definition rather than assuming it. Built the same way as every chapter: projected from the front page itself by gen_book.py, with the site→book wording rewritten at the projection ("this site teaches" → "this book teaches"; the navigation doors become the parts map), and a new gate check that hashes the front page's hero region so it cannot change without the book regenerating. In all four editions: reader page, single page, and both PDFs; the print contents, spine and cover follow the new page count automatically.

Also: the front page itself took the publication pass it had missed — em-dashes out of our own prose, DAG, 2FA, SPARQL/Cypher and RDF/JSON-LD glossed at first use — which the site and the book now share, since the text is written once.
v0.3.3 21 August 2026 The licence on the cover, the edition on the cover, and a lesson the gate taught us. Founder requests: the back cover now carries the CC BY mark, drawn as vector (the CC and attribution circles) with its plain meaning spelled out beside it, and both covers now carry the edition, version and date: "First edition · site v0.3.3 · 21 August 2026" on the front and, on the back, the statement of intent: the first of many; a new edition is published each time the content, its examples and its evidence make a major step. The print colophon says the same. Because the version is stamped at generation and the gate forces regeneration each release, every future edition dates and numbers itself.

And the correction: releases v0.3.1 and v0.3.2 validated locally but failed on CI, so they were never tagged or deployed; the live site stayed at v0.3.0 until this release. Root cause: the repository's Python-template .gitignore contains cover/ (intended for test-coverage reports), so book/cover/ was silently excluded from both commits; the pages linked cover files that existed locally and not in git, and the gate on CI, seeing only the committed truth, refused to ship them. That is the gate doing precisely its job on the one machine that matters. Fixed with an explicit !book/cover/ negation, cover files now committed, and the pipeline's tag backfill restores v0.3.1 and v0.3.2 onto their commits.
v0.3.2 21 August 2026 The publication pass: book-first prose, expanded shorthand, and the author's method stated with numbers. Founder editorial policy, now codified in content/STYLE.md, applied across all sixteen chapters ahead of print-on-demand publication. Three changes of substance. (1) Book-first, neutral wording: the chapters no longer say "this site" and "this page"; they say "this book", "this chapter", or nothing, and cross-references use chapter titles, so the same text reads correctly on paper and on the web. (2) Every shorthand expands at first use, per chapter: gap numbers (G3 is a gap-catalogue entry, not a concept, and now says so), task and ask numbers, and the acronyms (2FA, MFA, IAM, DAG, SBOM, RDF, OWL, WAF, NHI, PKI, REPL, MITRE ATT&CK, BaFin and the rest). (3) The authorship statement: the closing chapter and the print colophon now state plainly that the book was written by Dinis Cruz together with a team of AI agents, from voice memos recorded almost daily across six and a half months on thinking going back years, developed into 1,302 founder briefs inside a corpus of 3,317 markdown documents (956 catalogued, 4,335 commits), with ~135,000 words in the ~55 core conceptual documents alone; all figures measured at v0.33.62 and sourced in the published brief pack.

And the quiet one: the em-dash pass. Around three hundred of them removed from our own prose in favour of commas, colons, full stops and parentheses; verbatim quotes keep their original punctuation, always, and quote attributions keep the typographic dash. The policy and its two exceptions are in content/STYLE.md, where editors will find them.
v0.3.1 21 August 2026 The cover — generated, in SVG, from the book's own vocabulary. Closes T12. A new admin/build/gen_cover.py produces the front cover as SVG — reusable anywhere on the site, and now shown on the book page — and the full KDP print wrap as a vector PDF: back cover, spine and front with 0.125″ bleed, the spine width computed from the interior's page count (119 pages → 0.268″) and enforced by the gate: if the book grows and the cover is not regenerated, the build fails. Palette is the site's family at night — deep teal ground, cream serif, amber accents.

The cover graph is a true subgraph, not decoration — the correction this cover exists to make over the AI-generated draft: seven nodes and six edges in the book's published vocabulary (backed_by, gives_rise_to ×2, impairs, protected_by, accepted_by), every arrow reading as its sentence, the Risk ring in exposure amber, and one ghosted, dashed edge to an unanswered node — the palette rule the book teaches, applied to its own cover. Back cover carries the epigraph, the claim/grammar/proof, the projection note and a barcode clear zone at KDP's position; the spine reads top-to-bottom. Wrap geometry verified from the printed PDF's MediaBox (12.51″×9.25″, within 0.005″ of spec — Chromium pixel rounding, inside KDP tolerance).
v0.3.0 21 August 2026 The chapter text moves to markdown — a major, because the authoring model changed. Founder direction: with editors joining, the book's text needs to live in markdown, where changes are written and tracked cleanly. All sixteen chapters are now authored in content/*.md and rendered into the site pages by a new admin/build/gen_pages.py — CommonMark plus a house grammar: ::: note / warn / claim / quote / agent / ladder / meta directives, a ```path fence whose syntax is the corpus's own arrow notation ([Fact] -backed_by-> [Evidence]), ```mermaid for rendered diagrams, explicit heading anchors, and embedded HTML as the escape hatch for the components the grammar does not cover yet (tracked as T16, alongside cytoscape / d3 / viz.js rendering for in-chapter graphs). Each chapter page links its markdown twin, and the markdown is public at /content/<chapter>.md.

The chain is now three links with one source of truth — markdown → pages → book — and the gate checks both links: new check 7 fails the build if a page lags its markdown or a page is edited behind its markdown's back; the existing book check fails if the book lags the pages. Migration verified, not assumed: every chapter round-tripped text-identical (16/16, whitespace-normalised), and a component census confirmed every note, claim, quote, pathline, ladder, table and anchor survived — the one delta being a comparison table that gained a scroll container it should have had. The migration script (html2md.py) stays in the repository as provenance, marked never-run-again.
v0.2.5 21 August 2026 Chapter 1 editorial fix, and self-references made projection-aware. Founder feedback on Why graphs at all: the lead ("written for the reader who is not yet convinced") and the provenance box ("assumes the reader already accepts") read as contradictory. Rewritten around the founder's sharper framing: many readers already think in graphs — tracing what connects to what, trusting a claim by its source — without ever having called it that; the rare thing is doing it deliberately, with rules. The intro now also settles the word itself up front: on this site a graph is a network — nodes and the edges that connect them — never a chart or a figure; nothing here plots values on axes. The provenance box keeps its honesty (written fresh, gap G3, lower evidential bar) without re-litigating the audience.

And the "page" problem, fixed at the projection rather than in the prose: a chapter's source is a page on the site and is a chapter in the book, so gen_book.py now rewrites self-references the same way it rewrites links — "this page" renders as "this chapter" in every book mode (audited first: all sixteen sources use the phrase only self-referentially). The three narrower constructions ("the page to paste…") were neutralised in the sources to read naturally in both projections. One source of truth throughout: these edits were made once, on the site pages, and the book, single page and both PDFs inherited them in one regeneration — which the gate requires before anything ships.
v0.2.4 21 August 2026 Print-edition fix: tables typeset properly. Founder-reported from the print PDF: cramped cells, stretched word-gaps, and mid-word breaks ("cent-rally") in narrow columns. Two causes, both structural. First, the site's table styling never reached the print edition at all — it is scoped to main.doc, and the print source's chapters are sections, so the cells were rendering on browser defaults. Second, the book's justify-and-hyphenate body rules are wrong inside a table: a narrow measure needs ragged-right with hyphenation off. The print template now carries a full table spec of its own — real padding, header and hairline row rules, top-aligned ragged-right cells, no auto-hyphenation, and the glossary's nowrap first column released to wrap at book measure. Verified from the rendered boxes: 343 cells across 26 tables, no auto-hyphenated fragments remaining (the five hyphen-ending lines left are compound words breaking at their own hyphens). Tables now breathe, so the interior is 119 pages (was 117).
v0.2.3 21 August 2026 Print-edition fix: the title pages are now centred. Founder-reported from reading the print PDF on a phone: the half-title and title-page headings sat flush-left while everything around them centred. Cause, in the print template (assets/print-book.css): the base h1 { text-align: left } — correct for chapter openings — applies to the element itself, so it beat the centring the front-matter pages only inherit. Fixed with an explicit rule for the two title headings, and verified from the rendered boxes: all three title lines now sit at the exact centre of the text block, per line, while chapter headings stay flush-left. Both PDFs re-typeset at this version, as the gate requires.
v0.2.2 21 August 2026 Two PDF editions, one source. The screen-styled PDF returns alongside the print interior — founder request: the site-design edition reads well on a tablet, so both now ship. The print PDF stays the 6″×9″ technical-book interior; the screen PDF is Chromium's print of the single page at US Letter in the site's own design. Both regenerate together from the same extracted chapters on every releasegen_book.py emits them in one run, each cover carries the site version it was generated from, book/manifest.json records file, edition, page count, typesetter and version for each, and the gate's book-projection check now requires both editions to be present and current: a release cannot ship with either PDF lagging the content. Nav, footer, front page, index.md and llms.txt now offer the pair.
v0.2.1 21 August 2026 The print edition. The book's PDF is no longer a printout of the web pages — it is a print interior in the standard technical-book format, following a format review against print-on-demand (KDP) requirements: 6″×9″ trim (the PDF page size must equal the trim size, and 8.5″×11″ Letter — the previous format — is a workbook size, not a trade size); mirrored margins, 0.75″ gutter / 0.5″ outside, above KDP's minimums for a no-bleed interior of this length; folios bottom-outside and running heads (book title verso, chapter title recto), absent from front matter and part pages; chapters opening on the recto; a contents whose page numbers are computed by the typesetter, so they cannot disagree with the pagination; justified, hyphenated, monochrome, no bleed, fonts embedded. 117 pages, typeset by WeasyPrint from a new generated book/print.html; Chromium remains as a stated-degraded fallback. Verified from the rendered pages, not assumed: folio and running-head margin boxes checked on real versos and rectos, contents leaders checked on the contents page.

Deliberately deferred, and recorded rather than half-done: the cover (a separate artefact sized to trim + spine + bleed, spine width dependent on final page count — comms T12) and the Kindle edition (a fixed-layout PDF is the wrong upload for Kindle; the right artefact is a reflowable EPUB from these same chapters — comms T13). The format review itself is captured on the book's about page.
v0.2.0 21 August 2026 The book. A new /book/ section — the site's content as a book, Meaning Through Connectivity: sixteen chapters in six parts, in three reading modes — chapter pages with a persistent table of contents, the whole book in one page, and a 79-page PDF printed from that page. The book is generated from the site's own pages by admin/build/gen_book.py — a projection in the site's own sense — and the gate gains a check for it: the build fails if a source page changes without the book regenerating, so the two cannot drift. Requested by the founder, 21 August 2026.

Consistency corrections made while building it (per the site's own rule, corrections get a row, not a silent edit): the v0.1.0 row below said the release shipped with a five-check gate — it shipped with seven, and the row now says so; /maps/ said grepping for wardley-beta would otherwise "miss all thirteen" maps when the corpus holds twelve mermaid blocks plus one drawn map — it now says "find none of them"; and the admin page claimed three of the gate's checks were inherited from the sibling sites when the count was four. The gate is now eight checks: four inherited, four specific to this site.
v0.1.0 21 August 2026 First cut. The pipeline before the prose: validate → tag → deploy on every push to dev, with a seven-check pre-release gate and automatic minor tagging verified against the commit subject. Then the site: the front page and its three altitude doors; /start/ (five ideas, no jargon); /grammar/ and the edge set, which publishes the edge vocabulary the corpus cites but never wrote; /depth/ in two pages; /why-graphs/ with the GraphRAG and RDF positioning; /examples/ with three worked graphs and seven summaries; /maps/; /glossary/; /shipped/; /origins/; /network/; and /documents/ with all eleven source documents published raw. Redactions applied and recorded.

How a version is decided