/runbooks/retry-policy.md
Retry policy
- Retry transient failures only.
- Use exponential backoff with jitter.
- Stop after three attempts.
OpenLore is a minimal, extensible, agent-native knowledge repository where agents can capture, maintain and access the same up-to-date context.
Ordinary files. Scoped permissions. Available across your tools and workflows.
curl -fsSL https://openlore.sh/install.sh | shbrew install --cask aakarim/tap/lore$release = 'https://github.com/aakarim/OpenLore/releases'
Invoke-WebRequest `
"$release/latest/download/openlore_windows_amd64.zip" `
-OutFile openlore.zip
Expand-Archive openlore.zip -DestinationPath .\openlore -Force
.\openlore\openlore.exe versionThe fix your agent found today should help the next agent tomorrow.
Ask your agent to save what you learned, right inside its chat window. Or capture directly through MCP, SSH or the API. It becomes a file in your shared workspace, ready for the next task.
Agent chat
/runbooks/retry-policy.md. Other agents with access can now read it.Knowledge
/runbooks/retry-policy.md
MCP tool · shell
cat > /runbooks/retry-policy.md <<EOF
# Retry policy
1. Retry transient failures only.
2. Use exponential backoff with jitter.
3. Stop after three attempts.
EOF✓ Saved for the next taskKnowledge
/runbooks/retry-policy.md
SSH
$ cat retry-policy.md |
ssh -p 2222 writer@knowledge \
'cat > /runbooks/retry-policy.md'✓ Saved for the next taskKnowledge
/runbooks/retry-policy.md
HTTP API
curl https://knowledge.example/api/shell \
-H "Authorization: Bearer $OPENLORE_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"command":"cat > /runbooks/retry-policy.md <<EOF\n# Retry policy\n1. Retry transient failures only.\n2. Use exponential backoff with jitter.\n3. Stop after three attempts.\nEOF"}'✓ Saved for the next taskKnowledge
/runbooks/retry-policy.md
Decide what belongs in your knowledge repository before it gets there.
Set file budgets, apply rules by folder and validate knowledge formats. The same write checks apply across SSH, MCP and the API.
/.lore/config.yaml
version: 1
rules:
concise:
match: ["**/*.md"]
use: size/lines
with: { max: 120 }
small:
match: ["**/*.md"]
use: size/kilobytes
with: { max: 64 }240 lines · exceeds the 120-line limit
86 lines · 3 KiB · within both limits
/runbooks/.lore/config.yaml
version: 1
rules:
short-runbooks:
match: ["**/*.md"]
use: size/lines
with: { max: 100 }
# Applies inside /runbooks.
# Other folders keep their own rules.110 lines · exceeds this folder’s 100-line limit
110 lines · this folder rule does not apply
/runbooks/.lore/config.yaml
version: 1
rules:
knowledge-format:
match: ["**/*.md"]
use: okf
# Open Knowledge Format (OKF)
# checks each concept on write.No YAML frontmatter · required type is missing
YAML frontmatter includes type: procedure
openlore.yml · example automation
shellexec:
pre_commit:
- cmd: "/usr/local/bin/check-knowledge"
timeout: 10s
post_write:
- cmd: "/usr/local/bin/notify-indexer"
async: true
# Use your own scripts for these steps.
# Check knowledge before saving it.
# Notify your search tool after it is saved.Plugins add extra checks and automated steps around your knowledge. Check a document before it is saved, keep a search tool up to date, or share reusable skills with your agents.
Start with built-in plugins for knowledge formats and Agent Skills, or connect your own scripts as shown here. Your agents keep using OpenLore in the same way.
Publish Agent Skills alongside your knowledge. Keep reusable instructions available to the agents that need them.
# A shared Agent Skills collection
/skills/
incident-response/
SKILL.md
references/Shared drives are where docs go to die. Keep useful knowledge connected to the work behind it.
Bring the decision into OpenLore and keep a link to the original issue, pull request or research. Your existing tools stay the source; your agents get the context in one place.
Retry transient failures with exponential backoff and jitter. Stop after three attempts. Do not retry authentication failures.
A retry loop amplified a payment-provider outage. The incident and fix explain the limits.
linear://…/PAY-142github.com/…/pull/87docs.google.com/…Give each person and agent the access they need. Nothing more.
Define read and write permissions by role, scoped to a set of files. The same policy applies over MCP, SSH and the API. Share file links without opening the whole workspace.
lore.json · access policy
{
"docsets": {
"runbooks": {
"paths": ["/runbooks"],
"access": {
"allow": {
"maintainer": "rw",
"researcher": "ro"
},
"deny": ["external"]
}
}
}
}Access to /runbooks
A shared view for your agents. An inspectable workspace for you.
See how knowledge fills your workspace, explore its context footprint, inspect agent activity and improve your skills over time. OpenLore is self-hosted: you own the files, choose where it runs and define who gets access.

One binary. Your files. Start locally, then configure access and share it with your team.
# 01 — Install
curl -fsSL https://openlore.sh/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
# 02 — Serve your documentation
openlore ./docs
# 03 — Explore from another terminal
ssh -p 2222 localhost "ls /"Mac and Linux installer. For Homebrew, Windows, version pinning and PATH setup, see the installation docs. SSH: 2222. Web/MCP: 8080.
Help me install and configure OpenLore. Fetch the setup guide with `ssh openlore.sh teach` and follow its instructions with me.
Before sharing a server, configure authentication, grants, HTTPS, and persistent storage.
Verify the fingerprint through a trusted channel before adding this key to known_hosts.
The server and docs are developed in the open. Contributions welcome.