- SCHEMA.md: full specification for index.json and YAML knowledge files - knowledge/global/pitfalls.yaml: 8 cross-repo pitfalls - knowledge/global/tool-quirks.yaml: 7 environment quirk facts - knowledge/repos/hermes-agent.yaml: 8 per-repo pitfalls (cron, paths, SSH) - knowledge/repos/the-nexus.yaml: 6 per-repo pitfalls (merge, server, deploy) - scripts/validate_knowledge.py: schema validator (29 facts, all passing) - knowledge/index.json: populated with 29 seed facts from real fleet data Design decisions: - YAML for humans, index.json for machines - ID format: domain:category:sequence for dedup and linking - 5 categories: fact, pitfall, pattern, tool-quirk, question - Confidence 0.0-1.0 with defined ranges - Related facts by ID for graph traversal - Tags for searchability - Source count + dates for decay/expiry Acceptance criteria: - [x] Directory structure created - [x] Schema documented (SCHEMA.md) - [x] index.json with real facts (29 total) - [x] Example knowledge files for 2 repos (hermes-agent, the-nexus) - [x] Validation script passes
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
---
|
|
domain: global
|
|
category: tool-quirk
|
|
version: 1
|
|
last_updated: "2026-04-13"
|
|
---
|
|
|
|
# Tool Quirks (Global)
|
|
|
|
## Authentication
|
|
|
|
- id: global:tool-quirk:001
|
|
fact: "Gitea token stored at ~/.config/gitea/token, not env var GITEA_TOKEN"
|
|
confidence: 0.95
|
|
tags: [git, auth, gitea, token]
|
|
source_count: 23
|
|
first_seen: "2026-03-27"
|
|
last_confirmed: "2026-04-13"
|
|
related: [global:pitfall:001]
|
|
|
|
- id: global:tool-quirk:002
|
|
fact: "Gitea API uses 'Authorization: token TOKEN' header format, not Bearer"
|
|
confidence: 0.9
|
|
tags: [git, api, gitea]
|
|
source_count: 8
|
|
first_seen: "2026-03-28"
|
|
last_confirmed: "2026-04-12"
|
|
|
|
- id: global:tool-quirk:003
|
|
fact: "Gitea Issues API type=issues param does NOT filter PRs - use truthiness check on pull_request field"
|
|
confidence: 0.95
|
|
tags: [gitea, api, issues, pr]
|
|
source_count: 6
|
|
first_seen: "2026-04-01"
|
|
last_confirmed: "2026-04-13"
|
|
|
|
## Paths & Environment
|
|
|
|
- id: global:tool-quirk:004
|
|
fact: "~/.hermes is the default hermes home - check get_hermes_home() not the path literal"
|
|
confidence: 0.9
|
|
tags: [paths, hermes, env]
|
|
source_count: 10
|
|
first_seen: "2026-03-30"
|
|
last_confirmed: "2026-04-13"
|
|
related: [hermes-agent:pitfall:005]
|
|
|
|
- id: global:tool-quirk:005
|
|
fact: "Ansible vault-encrypted vars in YAML require vault_inline_vars plugin"
|
|
confidence: 0.85
|
|
tags: [ansible, vault, config]
|
|
source_count: 3
|
|
first_seen: "2026-04-02"
|
|
|
|
## Model & Inference
|
|
|
|
- id: global:tool-quirk:006
|
|
fact: "mimo-v2-pro via Nous Research is the default model - don't assume Anthropic is available"
|
|
confidence: 0.95
|
|
tags: [model, provider, nous, default]
|
|
source_count: 15
|
|
first_seen: "2026-03-25"
|
|
last_confirmed: "2026-04-13"
|
|
|
|
- id: global:tool-quirk:007
|
|
fact: "Kill + restart with 'hermes chat' preserves old model state - NEVER use --resume"
|
|
confidence: 0.95
|
|
tags: [hermes, model, restart, session]
|
|
source_count: 8
|
|
first_seen: "2026-03-29"
|
|
last_confirmed: "2026-04-12"
|