docs: document pluggable backing stores per 9P directory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
22382e821d
commit
e225085db4
36
README.md
36
README.md
|
|
@ -12,15 +12,15 @@ ollie/
|
||||||
<name>.json r/w: agent config; supports mv, cp, rm
|
<name>.json r/w: agent config; supports mv, cp, rm
|
||||||
backends read: list of ollie-provided backends
|
backends read: list of ollie-provided backends
|
||||||
help read: help file (backed by ~/.config/ollie/help.md)
|
help read: help file (backed by ~/.config/ollie/help.md)
|
||||||
p/ dir: prompt templates (r/w, backed by ~/.config/ollie/prompts/)
|
p/ dir: prompt templates (read, backed by ~/.config/ollie/prompts/)
|
||||||
00_base.md r/w: tone, accuracy, task execution, environment
|
00_base.md read: tone, accuracy, task execution, environment
|
||||||
01_ollie.md r/w: session identity, filesystem layout, session lifecycle
|
01_ollie.md read: session identity, filesystem layout, session lifecycle
|
||||||
02_reasoning.md r/w: reasoning instructions
|
02_reasoning.md read: reasoning instructions
|
||||||
03_memory.md r/w: memory instructions
|
03_memory.md read: memory instructions
|
||||||
04_task.md r/w: task planning instructions
|
04_task.md read: task planning instructions
|
||||||
05_edit-text.md r/w: text editing instructions
|
05_edit-text.md read: text editing instructions
|
||||||
06_skills.md r/w: skill discovery and loading
|
06_skills.md read: skill discovery and loading
|
||||||
07_tools.md r/w: tool script usage
|
07_tools.md read: tool script usage
|
||||||
|
|
||||||
Prompt files are assembled in lexical order and rendered as Go templates at session
|
Prompt files are assembled in lexical order and rendered as Go templates at session
|
||||||
start. Changes take effect the next time the system prompt is rebuilt: on new session
|
start. Changes take effect the next time the system prompt is rebuilt: on new session
|
||||||
|
|
@ -54,6 +54,24 @@ ollie/
|
||||||
|
|
||||||
Session IDs are Unix nanosecond timestamps with a random suffix (e.g. `1744276689123456789-2b986c`), so `ls s/` sorted lexicographically gives creation order.
|
Session IDs are Unix nanosecond timestamps with a random suffix (e.g. `1744276689123456789-2b986c`), so `ls s/` sorted lexicographically gives creation order.
|
||||||
|
|
||||||
|
## Backing stores
|
||||||
|
|
||||||
|
Each 9P directory endpoint is backed by a named store implementing one of the store interfaces (`ReadableStore`, `ReadWriteStore`, `BlobStore`, or `Store`). The server routes all filesystem operations through the store — it has no direct knowledge of what underlies it.
|
||||||
|
|
||||||
|
| Path | Default backing | Interface |
|
||||||
|
|-------|------------------------|-----------------|
|
||||||
|
| `/a` | `FlatDirStore` | `Store` |
|
||||||
|
| `/m` | `FlatDirStore` | `Store` |
|
||||||
|
| `/p` | `FlatDirStore` | `ReadableStore` |
|
||||||
|
| `/pl` | `FlatDirStore` | `Store` |
|
||||||
|
| `/sk` | `SkillStore` | `Store` |
|
||||||
|
| `/t` | `ToolStore` | `Store` |
|
||||||
|
| `/s` | `SessionStore` | `Store` |
|
||||||
|
|
||||||
|
To swap a backing store (e.g. replace `/pl` with a vector database or `/m` with an object store), implement the appropriate interface and wire it in `New()`. The store interface requires only `Stat`, `List`, `Get`, `Put`, `Delete`, `Create`, and `Rename` — authentication, connection management, and credential rotation are internal concerns of the implementation.
|
||||||
|
|
||||||
|
`SessionStore` is the exception: it holds live session state and is tightly coupled to the server's session lifecycle. Replacing it is possible in principle but requires understanding the session management internals.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
|
||||||
Reference in New Issue