graphs.sgit.aiadminv0.1 – v0.3

The beginnings: v0.1 to v0.3

The earliest log: v0.1 (the pipeline), v0.2 (the site takes shape) and v0.3 (the first edition finished, reviewed and retrospected, and the plan for the second written). Later eras: v0.4 · current.

VersionDateWhat changed
v0.3.27 23 August 2026 The plan to write the book again, from the top down. Two founder voice memos on 23 August cancelled the refactor that was planned and asked for something larger: enough structural evidence, tooling and workflow now exist to start again and write the book the way it was meant to be written, beginning at fractal semantic graphs and meaning through connectivity and descending from there. The memos are published verbatim at briefs/19, and the plan they asked for is dev pack v0.3.27: ten files in the pattern of the packs the sibling repositories already use. Status is PROPOSED throughout and nothing in it is implemented. Three governing rules carry the whole thing. The graph comes before the prose at every altitude, so no unit of text is written until the node it projects exists, carries its typed edges and has evidence that resolves. The first edition is frozen at v0.3.26, hashed, gated so the build fails if a byte changes, and copied from rather than edited, because the record of how this was worked out is worth more intact than improved. And every claim the book makes about itself is computed on every build, which is the lesson of the previous fourteen releases where every correction turned out to be a number nothing was checking. The architecture is nine ADRs, of which the sharpest is that themes are computed rather than declared: a theme is a node on which at least three independent evidence paths converge, no more than one of them passing through another theme, and a statement that fails the check is demoted, re-evidenced or labelled an opinion rather than asserted. The peak formula gains external evidence so that the carried sources and the vault demonstrations count, which is what the memo asked for when it said the evidence should link to the themes by itself. Five altitudes become five source trees, not one tree with five views, because the corpus's own Refactoring Meaning argues that going up a ladder is decompilation rather than compilation and only the author can resolve the ambiguity; the machine checks the compression relationship rather than performing it. The audit gives every unit a verdict: of the first book's seventeen units, five carry, seven lift, three are rewritten and one is deferred, and the file says plainly that an audit performed by the person who wrote most of it will skew toward the verdict that preserves material while sounding like change. The counter-check is stated as a number: level 3 should come in near 8,000 words against the first book's 15,600, and if it does not, the rewrite did not happen. Seven phases, each ending at a gate, with phase 0 shipping as v0.4.0; twenty gates in total, seven of them new, including one that stops prose quoting a computed number as a literal. Eight open questions are the founder's, and the pack records what the rewrite does to each of the ten open decisions: four dissolved or answered, two made urgent, four untouched. Eight figures captured from the live site are included, and file 07 states the finding that shaped them: every aggregate view produced a finding and no per-item view did. No book content changed.
v0.3.26 23 August 2026 What the graphs found, written down before the refactor moves the code. A retrospective brief over the last fourteen releases, published raw at briefs/18 and readable at /documents/what-the-graphs-found.html. Its thesis is a correction to the obvious reading of the last two weeks: the visualisations did not produce the insights, the arithmetic behind them did, and the visualisation is how a person notices. Every finding came from the same move, which was to take a sentence somebody wrote, convert it into something a build can compute, run it on every build, and then be willing to read the output. The consequence for the refactor is stated as its first constraint: the generators are load-bearing and the renderers are replaceable. Eleven findings are recorded with the mechanism that produced each, including the two that are corrections to the agent's own earlier claims, and each number in the brief is one the build recomputes. Among them: the same database correction reached twice by independent routes, a human review and a mechanical compression; fifty-three declared concept relations normalising to thirty-six because seventeen were declared from both ends, caught by the book's own inverse rule applied to the book's own data; a contradiction that cannot be an edge, because contradicts would be its own inverse, which is why findings are nodes; and four of twelve blocked work items shared between decisions under different names. One observation is a design lesson and is not the intuitive answer: every aggregate view produced findings, and no per-item ego graph produced any. Ego graphs are reading aids, aggregate views are instruments, and they deserve different amounts of trust. Underneath it, a second: the aggregates only produced findings after something had been normalised, so the normalisation is the instrument and the layout is the lens. The brief also names the one class of claim still ungated: numbers written into prose. Rendered counts cannot drift because they come from the register, but hand-written prose quoting those counts is checked by nothing, and it drifted twice in two days. That is the clearest single instruction left for the refactor. Also recorded: the twelve gates that now fail the build rather than warning, what would be expensive to rediscover, and four honest tensions, the sharpest being that the stated formulas are proposals wearing the clothes of measurements until somebody disagrees with a weight. And the writing found a twelfth. gen_changes.py builds the version diff from whatever release tags the local clone happens to hold. This one held fifteen; thirty-three releases had shipped. So the version diff had been missing eighteen releases and saying nothing, because a generator reading ambient state cannot tell “there are fifteen” from “I can see fifteen”. admin/versions.html is the authority and had every row the whole time; the generator now compares the two and refuses to run when they disagree, verified by deleting a tag and watching the build fail. That makes every correction in this run the same failure: a number nothing was checking. No book content changed.
v0.3.25 23 August 2026 Six more sources, and the growth immediately broke the section's neatest claim. The founder asked for the six documents named as next-up in the previous release, so /docs/ goes from fifteen to twenty-one documents and 63,038 words: Refactoring Meaning (the altitude ladder's own source, two weeks ahead of the memo that asked for it, and the reason the ladder is many-to-many: the fractal property is intersection rather than nesting), An Index Is Not A Source, Compatibility Through Connectivity, the Issues-FS Lexicon, The Graph Canvas As A REPL and Paying The Fact Creator. Carried on the same terms: byte-for-byte, hashed, gate-checked. The claim that broke. At fifteen documents, a claim is worth its chain of custody was measured in every single one, and the previous release said so. At twenty-one it is measured in twenty. The exception is Compatibility Through Connectivity, one of the three February documents, written before the provenance vocabulary hardened. A universal that survives to fifteen and fails at twenty-one was never a universal, and the page now says that in place of the tidier sentence — which is the entire argument for computing these numbers on every build rather than writing them down once. A new computed column, because a count was hiding something. Concentration is the share of a concept's mentions sitting in its top three documents. It separates a concept the corpus genuinely distributes from one that two documents carry while the rest allude to it, and the answer is stark: only two concepts come in under 0.55 (chain of custody at 0.50 across twenty documents, one grammar at every altitude at 0.53 across thirteen); everything else sits above 0.7. Breadth of mention is not weight, and the table now shows both. And the import chain, checked rather than trusted. Three of the twenty-one originate in owasp-sbot/Issues-FS__Docs and were imported into the Send repository on 11 June 2026. All three are byte-identical across the two public repositories, each page prints its origin path, and those same three are the only documents with no per-file CC BY line — because the corpus's licence audit stamped the Send tree and not the references imported into it. A pattern that explains itself once you look at it. No book content changed.
v0.3.24 23 August 2026 The sources this book was built from, carried whole. A new section, /docs/, holding fifteen documents and 39,973 words of the founder's own architecture briefs — the material the book was distilled from, most of it never published anywhere a reader could reach. They are carried, not summarised: each .md is a byte-for-byte copy from the-cyber-boardroom/SGraph-AI__App__Send (public, Apache-2.0) at commit b561fa6b14, with its SHA-256 printed on the page and the build failing if a carried copy stops matching its hash, because the copy is evidence and evidence is not edited. Each document gets an intro, a summary of what it says, a note on what is worth re-reading, an in-page reader over the carried markdown, and a graph of where it lands on this site. Three kinds of link, kept apart and drawn apart. The documents are carried; the concept links are measured (every one of the concept map's twenty-four concepts has a declared phrase list, published on the page, counted mechanically, dashed in the graph and labelled with its count); the site links are authored (which chapter, ladder layer, vault or page rests on it, each with a note saying what the link is for, drawn solid). Nothing pretends the third kind is the second. Influence follows by a stated formula — concepts + 2 × places + 3 × review asks resolved — and the page states what it is not: it measures load on this site, not quality, and a document absorbed so completely that nothing cites it any more would score near zero. The consolidated view draws all fifteen joined by the concepts they share, which is the only view that shows the corpus's own shape rather than one drawn by hand: the one concept measured in all fifteen is a claim is worth its chain of custody. And a correction the work forced. Building the readers surfaced that r004 decision D5 rests on a false premise: it says Cytoscape was this site's first third-party dependency, but every /documents/ page has loaded marked from a content delivery network since that section shipped, and mdreader.js still imports Mermaid from one. A network dependency is worse for the property at stake than a vendored file, so the count was not one, it was three, and two of them were the wrong kind. Marked is now vendored (MIT, 35 KB) and no page fetches it at read time; the Mermaid import stays, is best-effort, and is stated in LICENSES.md alongside both vendored libraries rather than being silent. The decision's question is left standing with the correction printed beside it, which is the corpus's own supersede, never delete rule applied to this site's own record. No book content changed.
v0.3.23 23 August 2026 The date on the agent surface was three releases stale, and nothing was watching it. llms.txt opens with Site version: vX.Y.Z (date), and every agent that reads this site reads that line first. chrome.py has stamped the version there since v0.2.4 — precisely because hand-editing it had silently missed twice on a sibling site — but it never stamped the date, so the date sat at 21 August through v0.3.20, v0.3.21 and v0.3.22 while the versions beside it moved. The fix is the same shape as the original: the date is now read from the release's own row in the history table rather than stamped as today, so rebuilding an old release does not re-date it, and a new gate check fails the build when the two disagree. This is the second time on this site that a value was correct in one place, copied by hand into another, and drifted — and the second time the answer was to make one place own it and let the gate enforce the agreement. No content changed.
v0.3.22 23 August 2026 Three risk vaults, the first cross-vault finding, and the decisions register as a graph. Two founder requests in one release. First, the evidence estate goes wider. Risk Mandate (124 files, 98 commits, eight entry points into one mandate), Agentic Browser Isolation (104 files, 17 entry points, and the same risk written seven times, once per stakeholder, none of them a summary of another) and the Risk Graph Explorer (33 files, permissions: {}, where an empty register is a correct answer) join the two vaults published yesterday, on the same terms: the vaults' own published screenshots re-published under CC BY 4.0 with source and fetch date, their derived facts quoted rather than recounted, and a what the book will cite block on every page. And the programme produced its first finding that no single case study contains: the capability scale, read out of five permission blocks side by side, four of them from vaults analysed here and the fifth marked as quoted — a floor (permissions: {}, nothing requested at all), a genuinely hard middle (read one folder, write one folder) and a ceiling (a model call whose key is sealed into the vault rather than held by the reader). That is the argument for going deep rather than writing five summaries, and it is now evidence rather than a claim. Second, the decisions register gets a page of its own. /decisions/ draws each of the fourteen decisions — ten of them open — as the peak of its own graph: the options hang below it, the side effect of choosing each option hangs below that, and the work it blocks and the pages it touches run out to the sides. Switch to the whole-register view and a second thing appears that no list could show: four of the twelve named pieces of work have more than one decision waiting on them, and every one of the four is named differently by each decision — the same task is level 4 completion in one place and level 4 rollout under D1 in another, because the two decisions were raised in different reviews and each described the block in its own review's vocabulary. That count is computed on every build, not asserted: each block phrase carries a shared key, and a phrase the generator has never seen fails the build, which turns “is this new work?” into a question the build asks for you. The page is generated by gen_decisions.py straight from each review file's decisions array, so it cannot drift from the reviews, and the build fails if an open decision has no options authored under it. The mechanism is borrowed intact from the browser-isolation vault analysed in the same release: one named owner, no deny button (answer, defer with a reason, or say what data would make it answerable), nothing moves until it is taken personally, and the reason travels with the answer. Answers are held in the reader's own browser and copied back as plain text — a site with no server should not grow a form endpoint to collect decisions. No book content changed.
v0.3.21 22 August 2026 The path query, and contradictions as measurements. Two answers to one memo. First: the previous release declined to build a path-query UI because it would make the book's honesty table wrong; the founder asked why that stopped it, and the honest answer was that nothing technical did — the caution was about a content claim, not a capability. So it is built: a pattern is a start filter plus up to three edge-and-node steps, matches print as sentences using each edge's verb or its inverse depending on which way the route walks it, cycles cannot spin, and the result is capped at 300 and says when it hit the cap, because a query that silently truncates is worse than one that refuses. Five worked patterns ship as starting points, including unevidenced concepts in units a finding touches. The page then states its own falsification in full: chapter 12 lists the path-query language under what does not exist, something now executes path patterns, and the precise damage is spelled out — the corpus's seventeen queries over the semantic graph still do not run, while a generic matcher over this book's own ladder does. Exact replacement wording is proposed on the page and recorded as r004 decision D6; chapter 12 changes only when the founder agrees it, so no reader is misled in the meantime because the correction sits beside the thing that caused it. Second: the reviewer's framing that conflicts becoming deterministic and detectable is the powerful part, and that having them is not automatically wrong, reshaped the findings register. Findings now carry a state — three open, five accepted — and an accepted one records why, so the acceptance can be argued with rather than assumed; one is accepted with a condition and returns to open if v0.4.0 ships without growing the fractal treatment. And five checks now run on every build, each stating the rule it ran: strong concepts with no published demonstration, units two independent findings both touch, concepts nothing rests on, level 3 and 4 text the concept layer has not reached, and oppositions landing in one passage. A check with zero hits is kept, because a rule with no hits is still a rule. No book content changed.
v0.3.20 22 August 2026 The concept layer, and a graph you can explore from anywhere. Reviewer feedback that the ontology work captured structure but not concepts: "it's kind of like a dictionary and a thesaurus at a three-dimensional level". So the ladder gains a layer it did not have. The concept map holds 24 concepts, each with a definition, what it is also called, what it is near but importantly not, and typed edges to other concepts — grounds, specialises, constrains, enables, opposes, every one with a distinct inverse written into the data rather than inferred, because a concept map is exactly where the banned generic edge tempts you. A concept crosses the ladder sideways: it names the units at several altitudes that carry it at once, consolidated above and expanded below, which is the intersection the ladder alone could not show. Peaks are computed, not chosen: strength is a stated formula (out + 2×incoming + units + 2×demonstrations) so the ranking can be disagreed with by recomputing it. The top three came out as meaning through connectivity, confidence is a function of connectivity, and a claim is worth its chain of custody. And a first inventory of what the book reduces to: 14 facts, 26 assertions, 0 opinions, derived from evidence state rather than hand-typed, with the honest note that a proper register is r002 item 4's job. The graph explorer was rebuilt around the same feedback: labels inside the node with a wrap control, force layout with an iterations slider and a run-until-settled pass, radius exploration from any node (double-click to centre), collapse a selection into a group and expand it again, paths read as sentences using each edge's verb or its inverse depending on which way the path walks it, full screen, hide-the-panels, drag-resizable panes, PNG export, and a view file carrying settings, zoom, pan, collapsed groups and every hand-moved node position, so a picture can be recreated rather than only kept. And the concept layer immediately produced finding 8: schema-first thinking — the position the book exists to argue against — comes out among the computed peaks, because five separate concepts define themselves partly by opposing it. Kept rather than tuned away, with the caution it carries: a strong node is not a supported one, and any future ranking that conflates connectivity with evidence will overstate whatever the book repeats most often.
v0.3.19 22 August 2026 The title is decided, and the vault analyses begin. The founder answered the longest-standing decision in the register: the book is Fractal Semantic Graphs: Meaning Through Connectivity, with for humans and agents as the subtitle. Both halves come from the foundational document of 5 February 2026 — the title from its Part 3, the phrase after the colon from its own subtitle — and G3 stays as history for the lineage chapter. That answers r001 D1 and r002 D1 together; the propagation across cover, interior, metadata and site identity is staged for v0.4.0, which the founder deprioritised in favour of evidence. And so the evidence estate opens. /vaults/ is a new section giving each published vault its own folder and several pages of analysis: VoiceDebrief (92 files, 18 commits — with the junction rule, two paragraphs each lifted into typed nodes and joined node-to-node through an intermediate layer rather than document-to-document, and the empty layer, an annotation class deliberately left empty because a parse shows the duty-holder is grammatical absence) and Regulation Graph (1,523 nodes, 1,944 edges — with the provenance chain that ends in the SHA-256 of retrieved bytes, and the query engines). Fifteen screenshots, all the vaults' own published figures re-published under CC BY 4.0 with their source and fetch date; every count quoted from the vaults' derived facts rather than recounted here; every page closing with what the book will cite from this. One immediate consequence: r001 item 5's outstanding verification is met — the ephemeral engines are now attributed by name and view (SQLite over WebAssembly in memory, rdflib with Turtle export, both client-side, the vault never written by the app), with proposed wording on the record awaiting agreement. No book content changed.
v0.3.18 22 August 2026 The flicker, fixed; and the ladder drawn as one graph. Two pieces of reviewer feedback. The bug: every click rebuilt the entire column strip and then smooth-scrolled it to the far end, so re-opening a level that was already on screen flickered the whole view. Now only the columns to the right of the click are rebuilt, the scroll position is preserved, and the strip scrolls only far enough to bring a genuinely off-screen column into view. Where nothing needs to move, the changed column gives a brief pulse instead — feedback without motion, which was the other half of the complaint. The graph: a new page, the ladder as one graph, drawn with Cytoscape.js vendored into the site rather than loaded from a CDN. Configurable by levels, node kinds (units, findings, claims), colouring (altitude, taxonomy class, evidence) and layout. It shows what columns cannot: 42 cross-references between chapters, measured from the book's own markdown rather than asserted, running sideways across a compression tree of 35 edges — the book is far less of a tree than its contents page suggests. One design note worth reading on the page: a contradiction is drawn as a node, not an edge, because an edge meaning "contradicts" would have to be its own inverse and this book's grammar bans self-inverse edges. The findings are reified and flags the units they involve, which is the grammar chapter applied to a picture of the book itself. No book content changed.
v0.3.17 22 August 2026 The ladder becomes columns, and every level gets an ontology. Reviewer feedback on the r004 experiment, acted on in three parts. Navigation: opening a unit no longer replaces the view — it appends a resizable column beside it, so the chain from the one-paragraph book down to a section stays on screen as the tree it is, and the columns container scrolls rather than the page. Every column carries an index of all units at its level, grouped by that level's taxonomy, so level 3 can be entered directly instead of climbed down to, with its ancestors rebuilt in the columns to its left. The URL carries the whole trail, so a path is linkable, not just a node. Colour: the descending links now mean something switchable — the evidence behind the unit below, how far it descends, or its taxonomy class — because a descent link usefully carries at least three signals and hard-coding one would have been schema-first. Ontology and taxonomy per level: each level now carries both, kept apart as the glossary keeps them (taxonomy points upward, ontology points outward), with every edge type a verb with a distinct inverse and a stated domain and range. That produced finding 7, the most interesting result since the database contradiction: the classes do not survive the climb. A section classed Rule at level 4 sits inside a chapter classed Prescription at level 3, inside a part classed Argument at level 2, and nothing inherits; the vocabulary changes kind, not granularity; and at level 1 the taxonomy collapses, because a taxonomy of one unit is not a taxonomy. It argues against a single book-wide ontology and warns r002 item 3 that its node types will be level-dependent. Review r004 gains items 7 and 8 (both applied) and decision D4: confirm the authored classes, or correct them. No book content changed.
v0.3.16 22 August 2026 A fifth estate, read and threaded: issues-fs.sgit.ai. The Issues-FS site launched on 22 August and was read against every open review. It meets r001 item 8's largest need in full and changes that case study's shape: IssuesFS is no longer a write-up from repository paths but a distillation from a sibling estate that holds the granularity and keeps moving, which is the arrangement r003 proposes for this book — so the launch is also external evidence for the decoupling, and r003's decision D3 is revised to split the programme into written case studies and distillations. It makes r001's title decision citable: the site publishes the foundational document as C1 (Thinking in Graphs, 5,013 words, 5 February 2026) with its core definition quoted, so the colophon the librarian wanted in front of the founder is now public. It moves the database correction into public view (four storage backends; the MGraph-DB and S3 claims corrected by the estate itself). It corroborates this book's relates-to disclosure in public, as pair ten of ten, narrated rather than hidden. And it supplies working sibling implementations for three r002 items: the agent toolbox (fourteen CLI commands, every one with --for-agent), the evidence layer's calibration (measured test counts that run higher than the READMEs claim), and the missing-pieces map (seven open questions published unresolved). One discrepancy found and not silently fixed: this book reports 141 edges where the sibling reports 141 link entries for roughly 70 relationships, since a link is stored at both endpoints. Both conventions are defensible and 141 is odd, so it is recorded as finding 6 on the ladder — the first finding to arrive from outside the book — proposed as wording on r001 item 8, and raised as ask N15. New board entries: asks N15 and N16, task T31. No book content changed.
v0.3.15 22 August 2026 The altitude ladder: one book at five altitudes. The founder's fourth review (brief 16, r004) asks for an experiment, so the experiment was run rather than described: /altitudes/ holds the book at five levels, each a compression of the level below it, with every highlighted phrase descending into the units it compressed. Built bottom-up as instructed, which turned out to be load-bearing rather than stylistic. Levels 1 to 3 complete (135 words, 406 words, 1,333 words against the book's ~20,000), level 4 for two chapters, and at every node the graph kept apart from the projection: claims with an evidence state of evidenced, argued or unevidenced, shown beside the text they support, with unevidenced claims ghosted rather than hidden. The payoff is the reviewer's prediction holding: five findings from the climb, led by a contradiction the full text keeps forty pages apart (chapter 12's "no browser SPARQL or Cypher" beside chapter 7's SQLite interface and graph REPL) — which is the correction asked for in r001 item 5, reached independently by compression rather than by being told. Also found: a repeat that compression forces a decision about, a compression loss localised to a rung (five ideas from a source listing ten principles), a weight mismatch giving the title decision a concrete test (compressed honestly, level 1 has no room for "fractal"), and one control case the method correctly declines to report as new. New board entries: ask N14, tasks T28 to T30. No book content changed: the ladder is a new artefact beside the book.
v0.3.14 22 August 2026 The librarian corrects the librarian. Nudged by the founder's calibration (v0.3.12), the librarian re-ran its source resolution with the __Send and Issues-FS corpora restored and issued addendum 01, preserved verbatim as brief 15, opening with "What I got wrong": the original pack was biased toward docs.diniscruz.ai, "the same class of error the site itself is about". The headline: the book's title has a precise, dated, single origin. "Meaning Through Connectivity" is the subtitle of the foundational Issues-FS document Thinking in Graphs: Meaning Through Connectivity (commit 70916cf, 5 February 2026, 5,013 words), whose Part 3 is The Fractal Principle: both candidate titles come from one document, so r001's decision D1 is reframed from "should we rename" to "which half of the foundational document's own vocabulary leads", with G³ (May 2025) the outsider third option. Also threaded: the chapter audit gains a measurable dilution (the source lists ten core principles, chapter 2 carries five, the missing five quoted verbatim), the lineage chapter's primary source moves to the document's Part 4 (schema.org, SKOS, Dublin Core, PROV-O named), the database correction gains four shipped backends with two do-not-inherit warnings (MGraph-DB and S3 claimed in documents, absent in code), the IssuesFS case study is fully resourced (issues-fs 0.7.0 and issues-fs-cli 0.3.0 on PyPI, 604 + 94 tests, the relates-to contradiction narrated), and r002 items 3, 5 and 6 gain pre-written foundations. Ask N3 is closed in full, both halves named with different origins. Threads on r001 items 2, 3, 4, 5, 8 and r002 items 3, 5, 6. No book content changed.
v0.3.13 22 August 2026 Review r003, and the decisions register. The founder's third memo, preserved verbatim as brief 14 and normalised into review r003, six items: decouple the book from the website (the site becomes the research estate; the book becomes the distilled best-of, a clean text whose passages carry provenance edges to the site pages, versions and commits they came from; the build gate flips from equality to provenance), the vault case-study programme run before the next book version because it provides the evidence the book's statements need, and the reviews themselves evolving: a decisions mode, and each review as a folder with its own graph managed as issues. Two items landed with this release because they are review tooling, not book content: every review now opens with a decisions register (numbered decisions linked to their items, options while open, answers once made, machine-readable in the JSON), and the resequencing is threaded onto r001 and r002 (evidence first, identity release after). New board entries: asks N12 and N13, tasks T25 to T27. Eight decisions now stand open across the three reviews; the refactor and the programme wait on r003's three. No book content changed.
v0.3.12 22 August 2026 The reviewer calibrates the librarian. A founder correction lands in review r001 item 2's thread, verbatim: the librarian's G³ finding leaned on docs.diniscruz.ai, which was written before the workflow behind the source repository's corpus existed, and that newer corpus is where the meaning-through-connectivity documents were created. The agent's reading follows in the same thread: the two corpora are two stages of the same thinking, so the sixteen prose occurrences of the phrase are not a failure to adopt the G³ name but the evolved vocabulary of the later stage. The reweighing: G³'s May 2025 naming is settled history and belongs in the lineage chapter whatever the cover says, while the title should be judged on where the thinking is now, which favours the two newer candidates. The choice stays three-way and stays the founder's; only the weights moved. The comms board's N3 row carries the same nuance. No book content changed.
v0.3.11 22 August 2026 A third estate joins the threads: sgraph.ai. A founder pointer, explored and verified: sgraph.ai's library is itself the pattern this book argues for, a production website whose content is served live from a public vault (registry at /core/public-vaults.json, read keys published by design, ciphertext-only server, browser-side decryption) with every page machine-readable as .md and .llm.json. Threaded onto the review items it advances: the EmailFS case study upgrades from design documents to a live deployment (Email-FS-lite documented in a full protocol section and running the site's own seven-agent team, with the calibration that its public docs speak filesystem, not graph, so the case study bridges both framings); the vaults chapter gains four more live vaults and a different demonstration (a site that IS a vault, not a vault as an exhibit); the team-as-a-graph case study gains a second public instantiation (the seven-agent roster with coordination and bootstrap guides); and the agent toolbox (r002 item 7) gains prior art inside the family to align with rather than reinvent. No book content changed; the reviews' threads and state notes carry the findings.
v0.3.10 22 August 2026 The reviews gain their threads: the librarian answers. The founder shared reviews r001 and r002 with the librarian of the source repository, and its resolution pack came back the same day: eleven of the twelve needs across both reviews are met, mapped to sixteen public articles (122,741 words on docs.diniscruz.ai) and twenty-four verified repository paths. Handled as the workflow intends: not a new review, but threads on the existing items, because these findings answer the reviews' own needs lists and the link between a need and its resolution is the record. The pack is preserved verbatim as brief 13 with its machine-readable indexes; both reviews move to in discussion; the renderer learned to show threads. The headline findings: ask N3, open since 10 June, is answered (the LinkedIn series is docs.diniscruz.ai, with one calibration: the concept's published name there is G³, Graphs of Graphs of Graphs, May 2025, which makes the r001 title decision three-way); the database correction now has the founder's own July quote and full citations; the 242-papers figure resolves to Greenberg, BMJ 2009, with fuller numbers than the book carries; all four case studies have their sources path by path; and the only outstanding need is the founder's reading screenshots. Still, per the rule: no book content changed in this release; the decisions that gate the landing releases are unchanged and now fully sourced.
v0.3.9 22 August 2026 Review r002: a book for humans and agents. The second review through the workflow, hours after the first (verbatim memo as brief 12, normalised with comments and proposals as review r002, nothing changed in the book, per the rule). The memo names what the book half-is and should embrace: written for humans and agents. Its nine items propose the dual-audience identity on the cover and in the introduction (one title decision now settles r001 and r002 together); agent notes rewritten as briefings that state where this material deviates from the standard usage in an agent's training; the book built as the graph it claims documents come from, piloted on one chapter with author confirmation; an evidence layer whose first entries fix the book's own front door (the 10,000-hours story currently rests on one internal pointer, which is exactly the shape the story warns about); verification by agent as a designed use, dogfooded and published; per-chapter graphs that show evidence depth honestly, ghosting the assertions with nothing beneath them; the agent toolbox page; footnotes for the printed edition; and the book's own missing-pieces map, with the combined r001+r002 sequencing stated in item 9.
v0.3.8 22 August 2026 Review r001, and the reviews section. The workflow's first full turn, run on the founder's first-reading memo (preserved verbatim as brief 11). A new /reviews/ section carries the register and the states (received, commented, in discussion, agreed or declined per item); review r001 normalises the memo into nine items, each with the reviewer's words, the agent's comment, a concrete proposal and what is needed before it lands; and the review itself is a JSON file whose page is only a projection, per the memo's own ask: a pull request with no server. Deliberately, no book content changed in this release: the workflow's first rule is comment before change, and this release is the comment. The nine items, headlined: the retitle to Fractal Semantic Graphs: Meaning Through Connectivity (a v0.4.0 when agreed), every chapter made to challenge the reader, the lineage homage chapter, the no-live-databases correction (the reviewer is right, and chapter 7 already half-says it), screenshots as code, the vaults opened as a chapter, case studies for SGit, IssuesFS and EmailFS, and the workflow itself. Board: N10 opened; T21 and T22 move to in progress.
v0.3.7 22 August 2026 The version diff view: the foundation of the review workflow. Founder memo N9 (preserved verbatim as brief 10): the next phase is an official review workflow, and its first requirement is that the deltas between versions of the book are visible, like GitHub diffs, in the browser, between any two versions. Shipped as /book/changes.html: pick any two of the fourteen releases to date, see per-chapter change counts and block-by-block differences with word-level detail inside modified blocks, in three modes (changes only, with context, everything). The dataset is the pipeline's own history: gen_changes.py extracts every release's text from its git tag into one frozen JSON per version (machine-readable under /book/changes/data/, and stated in the page's agent note), and the gate now fails any release whose own snapshot is missing. The rest of the memo is mapped on the board: review intake (T21), the comment-propose-approve loop as a serverless pull request (T22), delta editions of the book (T23), and more books from the same machine (T24).
v0.3.6 22 August 2026 The publishing pages. Founder ask N8: research publishing in detail and put it on the site. Two new pages under Site: Publishing the book, the platform-by-platform runbook (KDP paperback step by step with the policies that matter here: the ISBN trade-off, the editions mapping, and Amazon's freely-available-content rule stated honestly; Leanpub with our own files and pay-what-you-want from $0; Zenodo for a concept DOI plus a DOI per edition, which is this book's own versioning argument as citation infrastructure; Google Play Books now, and the EPUB-gated stores mapped to T13); and the metadata sheet, the single source every listing is a projection of: title, description, seven keywords, categories with BISAC codes, the physical spec, computed pricing floors (KDP printing $2.50 US for 125 pages at August 2026 rates) and rights. Findings verified against the platforms' own documentation, dated on the page, with the KDP calculator named as the authority on upload day. Board: N8 and T18 done, T19 (upload day, founder) opened.
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