The ladder as one graph
The column view is good at one path and bad at everything else: it shows you the chain you are on and hides every other relationship in the structure. This page draws the whole thing at once, so the parts that are not a tree become visible — the cross-references that jump between chapters, and the units that two different findings both touch. Drawn with Cytoscape.js, vendored into this site rather than loaded from a CDN, because a page about traceable structure should not depend on somebody else's uptime.
flags each unit it involves, with flagged_by as the inverse. The diamonds in the graph are findings. This is the book's own rule applied to a picture of itself, and it is why the contradictions read as structure rather than as annotation.What to look for
Three things are visible here that the columns cannot show.
- The book is much less of a tree than its table of contents suggests. Forty-two cross-references between chapters were measured from the markdown itself, not asserted: the compression tree has seventeen edges at that level, and the text has forty-two more running sideways across it. The chapters most linked-to are the argument chapters, which is the shape you would want, but the glossary is the single busiest source, which is not what a table of contents would predict.
- Where two findings touch the same unit. Turn everything else off and leave the findings on: chapter 12 and chapter 7 are pulled together by the database contradiction while chapter 12 is also held by the cross-estate finding about edge counts, so one unit carries two independent problems. That co-incidence is invisible in a list of findings and obvious in a picture.
- Colour by evidence, and the shape of the argument changes. The units with real evidence cluster in the proof chapters; the argument chapters run amber. That is not a defect — a book of arguments should have argued nodes — but it is the map review r002 item 6 asked for, arriving early and at a different granularity.
For an agent
This page draws /altitudes/data/altitudes.json and adds nothing to it. Two arrays matter here: cites, chapter-to-chapter references extracted from the book's markdown with a weight per pair, and findings, each with a where array of the units it involves. The graph reifies each finding as a node with flags / flagged_by edges rather than drawing a symmetric edge between units, because this project's grammar bans self-inverse edges; if you rebuild this graph elsewhere, keep that shape. The library is vendored at /assets/vendor/cytoscape.min.js (Cytoscape.js 3.30.2, MIT).