Changes
- Your Zotero, both ways, in the desktop application: the Manuscript header's Zotero highlights button shows your own highlights, underlines and notes from Zotero running on this computer, painted on the very words you marked in your own Zotero colours — the marks stay Zotero's, never copied; select a passage and Highlight in Zotero creates a mark in Zotero itself, on the PDF, at the exact rectangles where those words are printed (the converter now writes a small geometry file beside every conversion for this); and File ▸ Store in Zotero… stores the reconstruction under its source's Zotero item as one bundled attachment carrying the text inside it, refreshed in place and never duplicated. Zotero asks your consent in its own dialog, once, by name; nothing leaves your machine. Ipsissima-MCP's
zotero_storetool drives the same machinery from Claude. - Study mode, on the map's bar and under How to use: the map asks what you think holds each claim up before it unfolds it, and never types, scores or records — the pause is the whole apparatus. The guided mode now hands off to it, so the builder becomes their own map's first reader; the Layout menu's "Study" is renamed "Follow" so one word keeps one promise.
- Comparing two readings of the same text: choose the other
.argdown(File ▸ Compare with Another Reading… in the application; the glyph at the right of the Manuscript header on the web page) and each passage's margin says whether both maps read it, only this one, or only the other — with a ⚑ where the two read the same words differently: a crux declared on one side only, a disagreement about who is speaking, or the checked end of the fidelity ladder against the interpretive end. Nothing is judged;compare_argdown.pyreports the same from the command line. - The map declares its own provenance beside the title, the way it already declared the text's: "machine-written map" where the front matter says
reconstruction: generatedwith no recorded pass, "map read by a person" wherereviewed:records one — a declaration, never a certification — and "one reading · N cruxes" where the map tags#crux, the new convention by which a reconstruction names the points where the text underdetermines the reading and which road it took. - The Manuscript pane reads as the article: a Contents list floats the file's own headings over the text, each with its printed page and the section under your eyes marked as you scroll; the orientation panel carries a source's
voice:declaration ahead of its abstract, for a text whose value is not its argument (the Modest Proposal question); shift-clicking a passage reframes the map on the claims it lit, zooming out as far as it needs; and selecting words offers Quote and Paraphrase only where you are writing the map — a map built by hand, or a machine-written one you have edited — and Highlight in Zotero only where the text came from Zotero, so the two workflows stop sharing one row. - Conversion, measured on real papers and repaired where it fell short: one PDF route (the structured converter first, the plain extraction a loud fallback); publisher apparatus — running heads, footers, copyright blocks, access stamps — cut at creation and counted in the file's own header; paragraphs that end where the author ended them, from each page's own margins; displayed quotations as blockquotes, bibliographies one entry per line, footnotes lifted to
[^n]:definitions with their numbers rejoined, abstracts recovered into the front matter, ligatures expanded, thezotero:attachment key written from the storage path; saved web pages found by text density with embedded images stubbed, and a Project Gutenberg header and licence dropped together. - Ipsissima-MCP: the three tools a model scans for are renamed so the trigger word is in their names —
argdown_plan,argdown_method,argdown_check— because a deferred-tool client forwards names and little else;argdown_checkreturnschecked_file(md5, bytes, mtime) so the file written and the file checked cannot silently differ, and no longer crowns an intermediate conclusion as the apex; the extraction prompt and digest teach the crux convention; the strength table gives "ordinary" the standing objection the other two already carried. - Repairs from first use: a highlight written to Zotero was refused ("annotationType must be set before other annotation properties") because the fields were sent in alphabetical order — fixed, and held by a unit test; the map's control bar no longer spills under the manuscript on a narrow map pane, its hashtags wrapping instead; Zotero 10's local API is asked for annotations by type, since a bare children request answers without them.
What should I install?
Nothing, to try it. Download Ipsissima.html and double-click it: it works offline in any browser and makes no network requests of any kind. Drop a .argdown file onto it — or a whole folder, which brings the manuscript with it so claims can be laid out by where they appear in the text. Ipsissima.Reader.html is the same thing without the editor — the one to send to somebody you want to show a reconstruction to. New to argument maps? The walkthrough is the first entry under How to use and takes about two minutes.
Nothing, to read the worked examples. Five finished reconstructions, each opening with the text it was drawn from, are at jgsw.github.io/ipsissima; four more are in samples/ — or download the samples zip below, which carries all nine with their source texts, ready to drop onto the app or the page as folders.
The desktop application. Adds what a web page cannot do: open a .argdown by double-clicking it, save back in place, and reload the manuscript when it changes on disk. The .dmg is macOS (Intel and Apple Silicon both), the -setup.exe is Windows, and the .deb and .AppImage are Linux. The builds are unsigned, so the first launch is blocked once: on macOS, after dragging Ipsissima to Applications, allow it under System Settings → Privacy & Security → Open Anyway; on Windows, choose "More info" then "Run anyway". Installing Ipsissima shows every dialog before you meet it.
Ipsissima-MCP, for Claude Desktop. Download the .mcpb bundle and double-click it; Claude Desktop installs it and provisions Python and the dependencies itself. You also need Node on the machine — any current version.