User Stories: Knowledge Base¶
| Field | Value |
|---|---|
| Epic | Knowledge Base |
| Created | 2026-02-18 |
Overview¶
Stories covering document management, folder organization, binary assets, search, internal linking, and two-way sync with external tools.
Stories¶
US-KB-001: Create and Edit Documents¶
As a Self-Hosting Tinkerer, I want to create and edit Markdown documents in a hierarchical folder structure, so that I can organize my personal wiki and notes.
| Field | Value |
|---|---|
| Priority | Must |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Create documents and folders in a tree structure
- Edit documents with Markdown content
- Unique names per folder (within the same space and parent)
US-KB-002: Track Document Revisions¶
As a Self-Hosting Tinkerer, I want documents to maintain a revision history, so that I can view previous versions and understand how content evolved.
| Field | Value |
|---|---|
| Priority | Must |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Each edit creates a new append-only revision
- View the revision history for any document
- Access the content of any previous revision
US-KB-003: Upload and Manage Assets¶
As a Self-Hosting Tinkerer, I want to upload binary files (images, PDFs, archives) alongside documents, so that I can keep reference materials in the same structure.
| Field | Value |
|---|---|
| Priority | Should |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Upload binary files as asset entries in the folder tree
- Assets are stored in object storage (MinIO/S3)
- Reference assets from documents using
kb://asset/<uuid>links
US-KB-004: Link Documents Internally¶
As a Self-Hosting Tinkerer, I want to create links between documents and see backlinks, so that I can build a connected knowledge graph.
| Field | Value |
|---|---|
| Priority | Should |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Link to other documents using
kb://doc/<uuid>canonical links - Links remain stable across renames and moves
- View backlinks (documents that link to the current document)
US-KB-005: Search Across Documents¶
As a Self-Hosting Tinkerer, I want to search across all documents by content and title, so that I can quickly find information in a large knowledge base.
| Field | Value |
|---|---|
| Priority | Must |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Full-text search across document content and titles
- Results ranked by relevance
- Filter search results by folder or space
US-KB-006: Sync with External Tools¶
As a Plugin Developer, I want to configure two-way sync between Loryth KB and a local folder (e.g., Obsidian vault), so that I can use my preferred editor while keeping Loryth as the source of truth.
| Field | Value |
|---|---|
| Priority | Could |
| Persona | Plugin Developer |
| Status | Draft |
Acceptance Criteria:
- Configure a sync root with scope (full or partial via
scope_entry_ids) - Push local changes to Loryth and pull remote changes to local
- Handle conflicts with clear resolution strategies
US-KB-007: Control Access with Roles¶
As a Self-Hosting Tinkerer, I want to grant other users Reader or Editor access to specific spaces, so that I can share knowledge selectively.
| Field | Value |
|---|---|
| Priority | Should |
| Persona | Self-Hosting Tinkerer |
| Status | Draft |
Acceptance Criteria:
- Assign Reader or Editor roles per space
- Readers can view but not modify documents
- Editors can create, edit, and delete documents within their space