Implements issue #14: 7 metrics that prove knowledge compounding. Metrics: - Knowledge velocity: new facts/day (from index.json) - Knowledge coverage: % domains with 10+ facts (from YAML files) - Hit rate: % sessions referencing bootstrap knowledge - Error recurrence: same errors across sessions (should decrease) - Task completion: % sessions with successful end_reason - First-try success: actions without backtracking (tool/msg ratio) - Knowledge age: staleness of facts (freshness score) Data sources: - knowledge/index.json + YAML files for fact metrics - ~/.hermes/state.db sessions + messages tables Features: - JSON and markdown output formats - --since, --repo, --format flags - 7-day trend tracking via snapshot persistence - Runs in 33ms on 11.9K sessions / 192K messages - Dashboard auto-generation with --save-snapshot Closes #14
74 lines
2.0 KiB
YAML
74 lines
2.0 KiB
YAML
---
|
|
domain: global
|
|
category: tool-quirk
|
|
version: 1
|
|
last_updated: "2026-04-13"
|
|
---
|
|
|
|
# Tool Quirks (Global)
|
|
|
|
Cross-environment behaviors that bite you if you don't know them.
|
|
|
|
## 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 - standard ansible-vault fails"
|
|
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"
|