Glossary
Platform terms in plain words: core, session contract, operations contract, capability profile, explicit refusal, preservation of the unsupported, white-label delivery.
Terms that appear throughout the documentation.
| Term | Meaning |
|---|---|
| SumDoc core, the Rust core | The part of SumDoc that owns the document: it reads the DOCX file, computes the page layout and writes changes back to the file. |
| SumSheet core, the Rust core | The part of SumSheet that owns the workbook: formulas, cell storage, edit history and writing the file; there is no second owner—the screen only shows and asks. |
| Editor surface, Web Surface | The editor page shown in a browser or in a web view inside an application; for SumDoc this is a trial surface—it shows and edits the first paragraph and sends the application five events, while the full editor comes as the web host or the desktop app. |
| Surface Host, the surface service | A small program on the same machine where the document is open: it serves the surface page and holds one session, and cannot be reached from outside. |
fastdoc, fastsheet in names |
The internal names of SumDoc and SumSheet before they were renamed: they remain in code, events and settings so as not to break existing embeddings. |
| Your application, the host application | The application the editor is embedded into; it owns the brand, user sign-in, storage and workflows. |
| Application adapter | Your code between the application and the editor: it starts the core, passes commands and parses responses, and never touches the file itself. |
| Evaluation Kit | A ready-made set for a first trial—examples, sample documents and the expected result of each step—so that your engineer opens their own document in 30–60 minutes. |
| Mashup, query set | A set of Power Query queries inside a workbook; a “foreign” one was built in Excel or another program: SumSheet reads it, refreshes it and writes it back without losing what it doesn’t understand. |
| DTO, data transfer object | A description of the shape of a request or response: which fields exist, what type they are and which are required. |
| OEM, white-label embedding | A delivery where the user sees your interface and your name, not ours; an “OEM profile” is the set of events and settings for such a delivery. |
| Smoke run | A short automated check that the program starts and opens a document; such routes are not needed in embedding and are marked separately in the reference. |
| LTS, long-term support | A version for which fixes and security updates are released for an agreed period, not just until the next release. |
| Single sign-on, SSO | The user signs in to the editor with the same account as your product: your system verifies them, and the editor receives only the name, role and permissions. |
| Session contract, Rust Session Protocol | The list of what your application can say to the SumDoc editor and what it will hear back; it has a version and never changes silently—all commands. |
| JSONL session | The simplest way to talk to the core: your program sends a line with a task and receives a line with a response, one complete JSON message per line. |
| Standard input and output, stdin and stdout | The two streams through which a running program receives tasks and responds; a JSONL session works over them and needs no network port of its own. |
| Token | A random string the core creates at startup, without which its port cannot be connected to; on the next start it will be different unless you set it yourself—for developers. |
| Local address, 127.0.0.1 | The address of the machine itself: a port on it cannot be reached from outside, even from your own network. |
| Policy enforcement point | A known-in-advance moment when the editor asks your application whether it may continue—before a command, before saving, before sending data out; the rules remain yours. |
| Agent | A program that works with the document in place of a person, by the same path as the interface, so its actions are visible, verifiable and undoable; it cannot edit the file behind the editor’s back. |
| Operations contract, Compute Contract | The only path to an SumSheet workbook for the interface, automation and adapters; all operations are in the reference, 206 of them are accepted by the core of the latest release, and acceptance is measured against it. |
| Capability profile | A named list of what is included in your delivery: features, platforms, formats, operations and limits; the promise is defined by it, not by general words. |
| Capability matrix | A table where each capability is verified by format, environment, action and markup preservation: the profile says what is in the delivery, the matrix says what of it has been verified and on what. |
| Explicit refusal | A response with a code and a reason that arrives before the document changes: an operation won’t fail silently and won’t half-corrupt the file—how to read a response. |
| Preservation of the unsupported | Parts of the file the editor doesn’t understand end up in the saved file unchanged or are honestly flagged—this is what sets an editor apart from a converter, which loses everything unfamiliar. |
| White-label delivery | The editor ships under your name and in your interface; what is customized is the shell, not the meaning of the document. |
| Within the described boundaries | Exactly what has been done and verified is listed; beyond the boundary a capability refuses predictably, with a clear reason, rather than breaking. |
| Bounded | About SumSheet operations with bounded in their name: they work only with the part of the workbook you requested; not to be confused with the row above—that one is about a capability’s readiness, this one is about a piece of the workbook. |
Workbook session, workbook subset, subset, subsetId |
A workbook open in SumSheet and its number, passed to all subsequent operations on it: the session lives only inside the running process, and a macro in the workbook itself may prevent closing it—how a session works, what happens on close. |
| Viewport, visible area | A rectangular area of the sheet the core sends to the screen; moving it is not an edit and doesn’t enter the history. Both names appear on the pages and mean the same thing—for developers. |
Revision, revision, expectedRevision |
The workbook state number that grows with every edit: if you pass the last number you saw in a request and the workbook has changed since, the request is rejected before the change—protection against editing from two places at once. In SumSheet the field is optional: without it the edit is applied unconditionally—How the API session works. |
| Power Query, M expression | A mechanism for fetching and transforming data from external sources step by step, compatible with the mechanism of the same name in Microsoft Excel. |
| Writeback | Transferring changes from the document model back into the DOCX or XLSX file; parts the edit didn’t touch are carried over unchanged, and the core does this, not the interface. |
| Projection | A slice of state the core sends to the interface: exactly what the current screen needs, not the whole document or workbook. |
| Sparse workbook state | Only filled cells and explicitly set formats are kept in memory, so a sheet with a million rows takes no memory for empty rows; on open, the active sheet is loaded first. |
| Headless, working without an interface | A mode where the core works without a screen: it receives commands and returns data or a finished file—this is how it’s used on a server and in batch processing. |
| Dirty, unsaved changes | The state where the document has edits that are not yet in the saved file; the application usually shows this and asks for confirmation before closing the window. |
| Cold reopen | Opening a saved file again, in a new process, to verify that everything the editor showed made it into the file: the edit, the history, the formatting and the unsupported parts. |
| Acceptance | A pre-agreed set of documents and actions on which the integration is verified: not “we support DOCX” but “on these files these operations give this result”. |
| Privacy level | The privacy level of a data source in Power Query: it prevents mixing a private source with an external one in the same query, so that data doesn’t leak. |