Last Updated: 4/30/2026
Editing in Spaces
The Spaces working surface: the Article editor, the AI Assistant, and the Changeset review flow that sits between drafts and what’s published. Plus Gap Analysis, the system-driven half of the AI workflow that watches your Sources and proposes fixes when docs drift from code.
The editor
Click any Article to open it. Standard Markdown syntax (#, **bold**, [link](url)) renders live. Folders open the same editor - a Folder can hold its own content.
Floating toolbar
Select text and a small toolbar floats above the selection: bold, italic, underline, strikethrough, inline code, link, blockquote, headings H1–H4, paragraph reset. The toolbar only appears with a selection - nothing always-on at the top of the editor.
There are no list or table buttons. Use Markdown directly (- for a list, pipes for a table); the editor renders them live.
Auto-save
Every edit auto-saves about two seconds after you stop typing - there’s no Save button. Live multi-user editing isn’t supported yet: if two people edit the same Article simultaneously, the last save wins. Use Changesets (via the AI Assistant or Gap Analysis) for any collaborative writing flow.
Cross-article links
Type [[ to open an inline search popover, type part of another Article’s title, pick it. The link tracks the target Article - if it gets renamed, the link text updates. Cross-Space references need full URL links; the popover only searches the current Space.
Images and uploads
Drag images into the editor (PNG, JPEG, GIF, WebP; 10 MB per file).
For non-image files, the Folder’s three-dot menu has an Upload File option that creates a read-only Article from the upload. Both JSON and YAML OpenAPI specs are accepted .json, .yaml, .yml) - drop the file in directly and either renders as an interactive API reference page on the published Site.
Version history
Every change creates a history entry, browsable from the right-side rail. You can view, copy from, or restore any past version. Restoring creates a new version with the old content; you don’t lose history.
Delete and restore
Soft-delete via the three-dot menu. Articles move to the Space’s Trash and can be restored or permanently deleted from there. Folders move with everything inside them.
Comments
Every Article has a comment thread in the right-side rail. Comments are on the Article as a whole, not anchored to paragraphs - quote in your comment if you need to point at one.
AI Assistant
The AI Assistant lives in the Jolli Agent tab. You give it a task (“write an article about our API’s auth flow”; “update the deployment guide for the new Docker setup”); it drafts content as a Changeset; you review.
Modes
| Mode | Behavior | When |
|---|---|---|
| Plan | The AI proposes each tool call (read file, write Article, search Source) and waits for your approval. Slow, safe. | Significant tasks; unfamiliar territory; anything you want to step through. |
| Exec | The AI runs tools as it needs them. You see what it’s doing but don’t approve each step. | Routine tasks where you trust the approach but still want to review the Changeset before applying. |
| Auto | Like Exec, plus the AI applies the resulting Changeset itself. End-to-end without you. | Truly trusted tasks. Gated by Allow Auto mode in Settings. |
Pick from the toolbar above the chat. Exec is the default outside of guided workflows that use Auto.
Context
The Agent Hub tracks which Article, Folder, or Space the conversation is working on. A breadcrumb under the chat header shows it (Engineering > API Docs > Authentication API). Context is dynamic by default (follows your navigation) or snapshot (locked to a specific target, shown with a (fixed) label).
If context changes mid-conversation, the AI sees a small note in its next turn. Click the breadcrumb to override.
Multiple conversations
Each task gets its own conversation. The left sidebar lists every conversation, grouped by date (Today / Yesterday / Last 7 days / earlier), with a New Chat button at the top. Click any past conversation to resume it; the AI sees the prior turns and continues where you left off.
Delete a conversation from its three-dot menu, useful for clearing out one-off explorations.
Changesets
A Changeset is a group of proposed edits to a Space - like a pull request for documentation. The AI Assistant’s drafts, Gap Analysis’s drift fixes, and edits made through the Agent Hub all land as Changesets. You review, apply, or cancel before anything reaches the Space
Direct edits in the Article editor (or the from the Jolli Agent in the right rail) save immediately and don’t create Changesets
Reviewing
Open any Changeset from its sidebar entry or from the Inbox notification that announced it. The detail view shows affected Articles on the left, a diff in the middle (additions green, deletions red), and the state / author / history at the top. Click any Article to see its proposed content; you can edit inline and your edits stay in the Changeset.
Two primary actions:
- Apply Change Set - commits all remaining Articles to the Space. Moves to
PublishingthenPublished. Articles update immediately. - Cancel Change Set - discards the whole Changeset. Moves to
Discarded. The Space is untouched.
You can reject individual Articles within a Changeset before applying - that Article is dropped, the rest proceed.
Auto-apply
Per-Space toggle under Space Settings → Automation. When on, routine AI-suggested updates apply without manual review. Useful for Spaces where drift detection runs frequently and changes are predictable (small wording fixes, auto-generated reference updates).
Auto-apply is off by default for Spaces created through Guided Setup. Reviewing every change is safer than silently publishing every AI suggestion. Turn it on once you trust the pipeline.
Auto-apply only applies to Changesets from Gap Analysis. Changesets from the Agent Hub chat always require manual review.
Gap Analysis
Gap Analysis is the AI scan that compares your Sources (code repos, uploads) against your Articles and flags drift. When it finds drift, it drafts fixes as a Changeset.
The difference from the AI Assistant: you start an AI Assistant task. The system starts a Gap Analysis task.
Drift shows up three ways:
- Missing docs - a new module, endpoint, or feature has no matching Article.
- Outdated content - an Article describes the old behavior of something that changed.
- Incomplete coverage - a section mentions a feature briefly but the Source now has a lot more detail.
Triggers
Configure under Space Settings → Automation. Two trigger options; you can pick one or both:
- Listen for GitHub events - near-real-time, fires when a push or merge arrives at a connected Source via webhook (requires GitHub App install)
- Check on a schedule - polls connected Sources at a regular interval. Useful when push-driven runs would be too noisy.
Job Activity
Each Gap Analysis run shows in the Job Activity panel with trigger, status, and timestamp:
- In progress - still working.
- Completed with changes - found drift; Changeset produced.
- Completed, no changes - docs in sync.
- Failed - click for error details.
There’s no manual run button. To force an immediate run, push a small change to the tracked branch or adjust the schedule to fire now.
Next steps
- Jolli Sites - publish the reviewed content at a URL.
- Settings - Profile is where the AI Assistant defaults live.