Sync with live vault: 28 new files, 7 imports, 16 updates

This commit is contained in:
2026-09-01 13:33:50 -07:00
parent dac3008e20
commit 8b26efd3b7
43 changed files with 1557 additions and 166 deletions
@@ -1 +1,28 @@
SGVybWVzIE9wZXJhdGluZyBSdWxlcw0KDQpIZXJtZXMgaXMgdGhlIGNvb3JkaW5hdGluZyBhZ2VudCBmb3IgdGhlIGxvY2FsIHBlcnNpc3RlbnQgYWdlbnQgT1MuIEhlcm1lcyBwbGFucywgcmV0cmlldmVzIGNvbnRleHQsIHJvdXRlcyB3b3JrLCBjb25zb2xpZGF0ZXMgbWVtb3J5LCBhbmQgcHJvdGVjdHMgbWVtb3J5IGJvdW5kYXJpZXMuDQoNClJlc3BvbnNpYmlsaXRpZXMNCg0KVW5kZXJzdGFuZCB0aGUgdXNlciByZXF1ZXN0IGFuZCBjaG9vc2UgdGhlIHNtYWxsZXN0IHVzZWZ1bCBjb250ZXh0Lg0KDQpMb2FkIHJlbGV2YW50IHByb2plY3Qgc3RhdHVzLCBkZWNpc2lvbnMsIHVzZXIgY29uc3RyYWludHMsIGFuZCBzaGFyZWQgd29ya2Zsb3dzLg0KDQpEZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi1vcmllbnRlZCB3b3JrIHRvIExlb25hcmQgd2hlbiB1c2VmdWwuDQoNCkNvbnNvbGlkYXRlIGR1cmFibGUgb3V0Y29tZXMgYWZ0ZXIgbWVhbmluZ2Z1bCB3b3JrLg0KDQpQcm9wb3NlIHVzZXItbWVtb3J5IHVwZGF0ZXMgaW5zdGVhZCBvZiBzaWxlbnRseSB3cml0aW5nIHRoZW0uDQoNCkJvb3QgU2VxdWVuY2UNCg0KSWRlbnRpZnkgdGhlIGN1cnJlbnQgdGFzayBhbmQgcHJvamVjdC4NCg0KUmVhZCByZWxldmFudCBwcm9qZWN0IGZpbGVzIGZpcnN0OiBicmllZi5tZCwgc3RhdHVzLm1kLCBkZWNpc2lvbnMubWQsIGFuZCBvcGVuXF9xdWVzdGlvbnMubWQuDQoNCkxvYWQgb25seSByZWxldmFudCB1c2VyIHByZWZlcmVuY2VzIG9yIGNvbnN0cmFpbnRzLg0KDQpMb2FkIEhlcm1lcy1zcGVjaWZpYyBsZXNzb25zIGlmIHRoZXkgYXBwbHkuDQoNClVzZSB2ZWN0b3IgcmV0cmlldmFsIG9ubHkgYWZ0ZXIgZGlyZWN0IHByb2plY3QvdXNlciBmaWxlcyBhcmUgY2hlY2tlZC4NCg0KS2VlcCByZXRyaWV2ZWQgY29udGV4dCBjb25jaXNlIGFuZCBleHBsYWluIHdoaWNoIHNvdXJjZXMgYXJlIGJlaW5nIHVzZWQgd2hlbiBoZWxwZnVsLg0KDQpNZW1vcnkgQm91bmRhcmllcw0KDQpVc2VyIG1lbW9yeSByZXF1aXJlcyBjb25maXJtYXRpb24gYmVmb3JlIGJlY29taW5nIHBlcm1hbmVudC4NCg0KUHJvamVjdCBmYWN0cyBiZWxvbmcgaW4gdGhlIHByb2plY3QgZm9sZGVyLg0KDQpIZXJtZXMgbGVzc29ucyBiZWxvbmcgaW4gMDJcX2FnZW50cy9oZXJtZXMvLg0KDQpMZW9uYXJkIGxlc3NvbnMgYmVsb25nIGluIDAyXF9hZ2VudHMvbGVvbmFyZC8uDQoNClNoYXJlZCB3b3JrZmxvd3MgcmVxdWlyZSByZXBlYXRlZCB1c2VmdWxuZXNzIG9yIGRlbGliZXJhdGUgcHJvbW90aW9uLg0KDQpEZWxlZ2F0aW9uIFRvIExlb25hcmQNCg0KV2hlbiBoYW5kaW5nIHdvcmsgdG8gTGVvbmFyZCwgcHJvdmlkZToNCg0KVGFzazoNCg0KUHJvamVjdDoNCg0KUmVsZXZhbnQgZGVjaXNpb25zOg0KDQpDb25zdHJhaW50czoNCg0KRXhwZWN0ZWQgb3V0cHV0Og0KDQpGaWxlcyBMZW9uYXJkIG1heSB1cGRhdGU6DQoNCkhhbmRvZmYgcmV0dXJuIGZvcm1hdDoNCg0KTGVvbmFyZCBzaG91bGQgcmVjZWl2ZSB0aGUgbWluaW11bSB1c2VyIG1lbW9yeSBuZWVkZWQgZm9yIHRoZSB0YXNrLg0KDQpMb2NhbCBMTE0gVXNhZ2UNCg0KSGVybWVzIG1heSBjYWxsIGEgbG9jYWwgb3IgU1NILXR1bm5lbGVkIExMTSBmb3I6DQoNCnN1bW1hcml6aW5nIHJhdyBub3Rlcw0KDQpleHRyYWN0aW5nIG1lbW9yeSBjYW5kaWRhdGVzDQoNCmNsYXNzaWZ5aW5nIG1lbW9yeSBzY29wZQ0KDQpkZXRlY3RpbmcgZHVwbGljYXRlIG9yIHN0YWxlIG1lbW9yeQ0KDQpIZXJtZXMgbXVzdCByZXZpZXcgbG9jYWwgTExNIG91dHB1dCBiZWZvcmUgYXBwbHlpbmcgbWVtb3J5IHVwZGF0ZXMuDQoNCkVuZC1PZi1TZXNzaW9uIENoZWNrbGlzdA0KDQpVcGRhdGUgcHJvamVjdCBzdGF0dXMgaWYgd29yayBjaGFuZ2VkLg0KDQpSZWNvcmQgZGVjaXNpb25zIGlmIGFueSB3ZXJlIG1hZGUuDQoNCkFkZCBvcGVuIHF1ZXN0aW9ucyBpZiBibG9ja2VkLg0KDQpFeHRyYWN0IGR1cmFibGUgbWVtb3J5IGNhbmRpZGF0ZXMuDQoNClByb3Bvc2UgdXNlci1tZW1vcnkgdXBkYXRlcyBzZXBhcmF0ZWx5Lg0KDQpBZGQgYWdlbnQgbGVzc29ucyBvbmx5IHdoZW4gdGhleSBhcmUgcmV1c2FibGUuDQoNCg==
# Operating Rules (Hermes / all agents)
> Coordination, delegation, and end-of-session behavior. Read after memory policy at boot.
## Coordination
- Anthony defines ideas and roles; he is the architect. Agents (Jimmy + Leonard) discuss and execute without stepping through every decision.
- Coordinate in `00_system/agent-discussion.md` (date + name + message, newest at top).
- Only loop Anthony in for final plan approval or when blocked.
## "You lead" preference
- Decide and act; do not ask "want X or Y?" Pick the best option and execute.
- Only ask when the ambiguity genuinely changes the outcome.
## Delegation
- Reason-heavy or independent parallel work → subagents (delegate_task). Each gets its own isolated session.
- Never delegate durable state that must survive this session.
## Ground truth over assumptions
- This machine is always on and stable — don't assume stale state.
- Verify external effects by reading back the target, not by trusting the tool's success message.
## End-of-Session Checklist
- [ ] Update project `status.md` if work changed
- [ ] Record decisions in `decisions.md` if any
- [ ] Add open questions if blocked
- [ ] Extract durable memory candidates (→ `01_user/proposed_memory.md`, confirm first)
- [ ] Add agent lessons only when reusable (→ `02_agents/<name>/lessons.md`)
- [ ] Keep secrets out of the vault
@@ -13,7 +13,7 @@
2. **My profile & lessons** — Read:
- `02_agents/leonard/lessons.md` — past lessons learned
- (Outside vault) `_shared-memory/agent-profiles.md` — agent identities
- `02_agents/hermes/operating_rules.md` — agent coordination rules (agent identities live in Hermes native memory / `01_user/`)
3. **Project context** — If the user mentions a project, read:
- `04_projects/<project>/status.md` — current status
@@ -1 +1,21 @@
IyBMZW9uYXJkIOKAlCBMZXNzb25zIExlYXJuZWQKCj4gUmV1c2FibGUgbGVzc29ucyBmb3IgdGhlIExlb25hcmQgYWdlbnQuIE9uZSBlbnRyeSBwZXIgbGVzc29uLgo+IE5ld2VzdCBmaXJzdC4KCnwgRGF0ZSB8IExlc3NvbiB8IENvbnRleHQgfAp8LS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS18CnwgfCB8ICpObyBsZXNzb25zIHJlY29yZGVkIHlldCogfCB8Cg==
# Leonard — Lessons Learned
## Reusable lessons for the Leonard agent. One entry per lesson.
> Newest first.
| Date | Lesson | Context |
|------|--------|---------|
| 2026-09-01 | VPS SSH (74.208.111.99:22) is rate-limited/firewalled: >3 failed connect attempts within a period blocks the IP for a while. Don't loop SSH connect attempts against the VPS — ask Anthony to add a key/open the port. Gitea (:80/443) and headscale (:8443) still reachable, so HTTPS/Gitea endpoints stay up. | Athena Oracle deploy blocked |
| 2026-08-31 | Vault RAG chunk/file counts recorded independently in STATUS.md, HOME.md, and 01_user/current-context.md drift after every reindex (160/162/167/219 all appeared for the same index). Update all three together (or point at one canonical count) when reindexing to avoid stale numbers. | AgentOS merge reindex |
| 2026-08-30 | LFM2.5-2.6B is both agentic AND a pure reasoning model. It uses `think` tags in the chat template, putting reasoning in `reasoning_content` and visible output in `content`. Requires sufficient `max_tokens` (≥256) to complete reasoning before emitting visible answer. | LFM2.5 setup and testing |
| 2026-08-30 | `notify` parameter on `terminal` tool requires `background=true` — foreground commands always return exit code, and `notify` is rejected. Use background mode for daemons/services. | LFM2.5 launch debugging |
| 2026-08-30 | Llama.cpp `--n-gpu-layers 999` is required for full CUDA offload on Windows. Without it, the model runs on CPU only. | LFM2.5 setup |
| 2026-08-30 | LFM2.5-2.6B (Q4_K, ~2.1GB) + FreeToken gpt-oss-20b (~12.8GB) cannot coexist on RTX 3060 12GB. Only one can run at a time. | GPU VRAM budget |
| 2026-08-30 | Hermes foreground timeout (120s) kills long-running processes. Use `background=true` for daemons, then verify with separate curl. | Process management |
| 2026-08-29 | Put auth/authorization gates at the single central callback-dispatch point, not in each per-handler function. For callback-heavy integrations (Telegram inline buttons), a shared gate at dispatch covers every existing + future callback prefix at once and is regression-proof; per-handler gates silently miss new handlers (the model picker was the ungated one). | Telegram picker auth audit |
|------|--------|---------|
| 2026-08-29 | In a cron job config, provider prefix must NOT go in the `model` field — use bare `deepseek/deepseek-v4-flash-0731` + separate `provider: openrouter`. Sending `openrouter/deepseek/...` as the model ID → "not a valid model ID" → falls to a rate-limited free model then freetoken's tiny 8,448-token budget → job dies. | Agent OS cron consolidation setup |
| 2026-08-29 | Cron jobs inherit the full default-toolset system prompt (~16,931 tokens context). Huge context overflows tiny fallback models with small KV budgets. Give cron jobs a minimal toolset (e.g. `read, files`) like `check-agent-discussion` (~2,648 tokens). | Agent OS cron consolidation setup |
| 2026-08-29 | Files in a session that came back as base64 text on disk (memory_policy.md, lessons.md) were real corruption — the decoder (`read_file`) hid it. Always verify a file's on-disk content is plain markdown, not base64. | Vault Agent OS setup — base64 corruption bug |
| 2026-08-29 | `/model <name>` in Hermes is session-scoped; use `--global` or `hermes config set model.default` to persist. Config/status showing a different model than the live session = split-brain from session-level switches. | Model switching permanence |
| 2026-08-29 | `hermes fallback add|remove` are interactive pickers that reject bare model strings; set the whole `fallback_providers` list via `hermes config set` instead. | Model switching permanence |