Use this when the user asks to save, file, keep, note, or remember THIS conversation (or part of it) into their Eigma wiki. It drafts the pages worth keeping and saves them to the user's Eigma review inbox in this one call, then ends the request. Only durable, learn-worthy knowledge becomes pages (skip look-up trivia, logistics, and small talk), so a conversation with nothing worth keeping yields no draft and nothing saved. Editing pages that ALREADY exist is eigma_suggest_edits' job.
Give every page a fitting category_path: an existing chapter when one fits, and a new chapter when the concept belongs to none of them rather than forcing it into an unrelated one. To get that right, call eigma_resolve_pages FIRST, once, with every page you drafted: it returns, per draft, the existing pages it may duplicate and the wiki's real chapters. Reuse a returned page's title AND category_path exactly to update it, and for any page you update call eigma_read_page on it FIRST: saving REPLACES that page's body, so body_md must carry BOTH what the page already says AND what this conversation adds - every sentence you leave out is deleted from the user's wiki, and an update body written from the conversation alone destroys the page. Do not browse the whole wiki for this. Pass nodes (one object per page) plus the top-level conversation block. Every page object needs ALL of: title (the concept's plain canonical name as a 1-3 word noun phrase, with NO appended source or qualifier, so it matches and updates any existing page on that concept), category_path (the CHAPTER the page lives under, never the page's own title; normally ONE level, 2 only if unusually specific; reuse a fitting existing chapter over inventing a near-duplicate, and create a new chapter when none of them fits), body_md (a STRUCTURED page: a lead paragraph then ## sections; write math as LaTeX in $...$/$$...$$; ONLY if the chat used outside sources, add [^N] footnotes and one ## References section, each definition written as "[^N]: label" carrying the source's REAL link (a bare source name with no URL becomes a dead, unclickable reference)), summary (ONE short line), links (related concept titles, including exact existing-page titles, to connect the graph), and quizzes (1-3, REQUIRED, each an understanding-testing selection question {kind,prompt,options,answer}; no option may run more than half again as long as the shortest, reached by making each wrong option a MORE substantial claim, never by shortening the right one). Draft every page in FULL now: whatever you send is EXACTLY what lands in the user's review inbox, so a missing field saves an incomplete page. The body_md MAY also include a mermaid diagram and/or ONE self-contained animation widget (all JS/CSS inline, no external network); most pages need neither.
This call SAVES the pages into the user's Eigma review inbox and returns a receipt listing what it saved as NEW or as an UPDATE; show that receipt to the user, then end your turn - unless the receipt itself says pages did not fit, in which case call this again with exactly those remaining pages first. This is the only call that WRITES (eigma_resolve_pages before it only looks things up). Saving the same pages twice is harmless (the server ignores a duplicate), so if the user asks again, simply call this again.