Commit Graph

18 Commits

Author SHA1 Message Date
lachtan
540c599eed reflect: retry-without-diagnosis (ff77b) 2026-09-01 07:17:56 +02:00
lachtan
92e7e6fe52 reflect: tool-call-leaked-as-text (f0720) 2026-09-01 07:17:32 +02:00
lachtan
26f30eb973 reflect: answer-self-config-from-guesswork (fbb44) 2026-09-01 07:15:42 +02:00
lachtan
b34d23f27e reflect: unverified-success-claim (f4f66) 2026-09-01 07:13:01 +02:00
nanobot
5564ca29f4 dream: periodic memory consolidation
SOUL.md: +1 -1
memory/MEMORY.md: +1 -0
2 files changed, 2 insertions(+), 1 deletion(-)

```diff
--- SOUL.md
+++ SOUL.md
@@ -24,7 +24,7 @@
 - Čti před zápisem — nepředpokládej, že soubor existuje nebo obsahuje, co čekáš
 - Pro instalaci/upgrade nanobot používej výhradně `uv` — nepiš pip, pipx ani docker
 - Když tool call selže, diagnostikuj a zkus jiný přístup, než ohlásíš neúspěch
-- Workspace safety guard omezuje file tool na `~/.nanobot/workspace/`; cesty mimo workspace nejsou dostupné ani pro čtení zdrojového kódu nanobot
+- Workspace safety guard vynucuje hard boundary na `~/.nanobot/workspace/` — platí pro file tool i shell commands; blokované příkazy neobcházet symlinky, base64 pipingem, alternativními tooly ani `working_dir` overridey; cesty mimo workspace nejsou dostupné ani pro čtení zdrojového kódu nanobot
 - Chybějící info dohledej tooly. Uživatele se ptej, jen když to tooly nezvládnou
 - Po vícekrokových změnách ověř výsledek (re-read, test, kontrola výstupu)
 - Když existuje víc cest, vynes tradeoff nahlas místo tichého výběru jedné
--- memory/MEMORY.md
+++ memory/MEMORY.md
@@ -11,6 +11,7 @@
 - Runs as a systemd user service `nanobot.service`; model switching via `my` needs `tools.my.allow_set = true`
 - `compact-memory-auto-daily` runs as a system crontab script (not a nanobot cron/jobs.json job) with a fresh session per run; delivers its report straight to Telegram via Bot API
 - `nanobot-version-check` cron job (schedule `0 8 * * *` Europe/Prague) checks PyPI for latest `nanobot-ai` version and compares it against installed version from `nanobot --version`; if newer version exists, sends Telegram notification with current version, new version, and upgrade command `uv tool upgrade nanobot-ai`; if up to date, does nothing
+- `uv` is currently unavailable and system Python lacks `croniter`; remind skill CLI cannot run via `uv run` — requires direct SQLite database access instead
 
 ## Integrations
 
```
2026-08-25 20:26:41 +02:00
nanobot
bbd5236a77 dream: periodic memory consolidation
Provedl jsem jednu změnu:

**SOUL.md** — přidán fakt o cron tool limitacích (durable):
- `Cron tool` podporuje jen `add`, `list`, `remove` — úprava existujícího jobu vyžaduje delete + create

Žádné další změny:
- `nanobot-version-check` cron job — už je v MEMORY.md (řádek 14), duplicita by nepřinesla nic nového
- `v0.2.2` version info — [skip] tag, nezapisováno
2026-07-19 09:12:02 +02:00
nanobot
07ac8bc1b2 dream: periodic memory consolidation
Memory konsolidace je rozpracovaná. Udělal jsem:

- **SOUL.md**: přidal pravidlo o workspace safety guard (cesty mimo `~/.nanobot/workspace/` nejsou dostupné).
- **MEMORY.md**: přeorganizoval do sekcí (Project Context, Runtime/Deployment, Integrations, Architecture), odstranil duplicitní instalční info, ponechal strategický/architektonický kontext.
- **USER.md**: doplnil osobní fakta (Horáčková, Přibyl, sklep/mapování klíčů), přesunul zájmy do Role a kontext, přidal preference (náhodné časy připomínek, jedna připomínka s více časy, otázky po jedné, append na konec souboru).
- Přečetl jsem část `history.jsonl` a několik skill souborů pro kontext.

Co zbývá:

- Dokončit procházení history a vyhodnotit zbývající [durable]/[permanent] fakta.
- Uklidit moje vlastní zpátečné editace (několikrát jsem přesouval workspace safety guard a osobní fakta).
- Ověřit MECE klasifikaci — zejména odstranit technické detaily z USER.md a osobní fakta ze SOUL.md/MEMORY.md.
- Zkontrolovat, že žádný důležitý fakt není duplicitní napříč soubory.

Další krok: přečíst finální stav upravených souborů a pokračovat v chirurgické konsolidaci zbývajících faktů z historie.
2026-07-13 08:23:44 +02:00
nanobot
92fa915897 dream: periodic memory consolidation
Changes applied:

1. **SOUL.md** — Added behavioral guidelines from the conversation:
   - **Don't assume** — surface tradeoffs, ask if ambiguous
   - **Minimum code** — no speculative patterns, no premature abstraction
   - **Surgical changes** — only touch what's required, clean up own orphans, don't reformat or rewrite unprompted
   - **Define success criteria** — loop until verified

2. **MEMORY.md** — Corrected Dream routing description to include `AGENTS.md → work instructions & decision-making rules`, matching the [durable] fact from the conversation that AGENTS.md is for agent work instructions and decision-making rules (distinct from SOUL.md which is for communication style and personality).

No deletions needed — no stale, duplicate, or superseded entries found.
2026-07-05 14:12:06 +02:00
nanobot
d07fa0ee01 dream: periodic memory consolidation
All changes applied. Summary:

**SOUL.md**
- Merged file-write confirmation rule: now covers all file writes (not just irreversible actions), with explicit exception for obvious single-step tasks
- Added `uv`-only rule for nanobot install/upgrade (was in MEMORY.md as a runtime fact, but it's an agent behavior rule)

**USER.md**
- Added `wood.hell` and `pivo.hell` server names to homelab description (was only in conversation history)

**MEMORY.md**
- Added 5 new durable facts from conversation history: Pi agent AGENTS.md loading behavior, `remind_cli.py` croniter dependency, `remind_cli.py remove` flag requirements, batch-delete ID shifting rule, and wood.hell→pivo.hell backup flow
2026-06-29 06:38:21 +02:00
lachtan
11190b4931 runtime zaloha 2026-06-25 05:22:57 +02:00
nanobot
0942c8913c dream: 2026-06-12 11:39, 4 change(s)
[USER] Model preference is glm (glm-5.1:cloud), not kimi
[USER] Chair-to-table-top distance: 25.5 cm
[USER] Table top dimensions: 65×140
[USER] Refers to reminders by shorthand that may not substring-match stored text (e.g., "wifi do tiskarny" vs "WiFi modul do 3D tiskarny")
[USER] Targets reminders directly via #<id> syntax
[MEMORY] Plan: set up Claude Code for removing ads and cutting songs from Radio 1 stream
[MEMORY] Plan: find placement for 3D printer
[MEMORY] Plan: integrate remind, keep, note, and todo systems
[MEMORY] Plan: find use for pi-agent
[USER-REMOVE] "Preset: kimi (kimi-k2.6:cloud)" — corrected to glm (glm-5.1:cloud)
[MEMORY-REMOVE] "Reminder: 'občanka pana Přibyla' — once daily at random time between 8:00–21:00" — deleted on 2026-06-11, stale
[MEMORY-REMOVE] "Daily reminder at 19:00 to install pigeon spikes on the window to the shed" — duplicates /remind SQLite database (canonical source)
[MEMORY-REMOVE] "Weekday reminder at 9:30 to check notebook repair prices for Horáčková" — duplicates /remind SQLite database
[MEMORY-REMOVE] "Daily reminder at 9:10 to order xshoes" — duplicates /remind SQLite database
[MEMORY-REMOVE] "Weekday reminder at 9:20 for an anti-smoking sign in the elevator" — duplicates /remind SQLite database
[MEMORY-REMOVE] "Aktivní připomínka: Ema měsíc lampička do postele (2× denně náhodně 8–21)" — duplicates /remind SQLite database
2026-06-12 13:07:25 +02:00
nanobot
7cc0b48026 dream: 2026-06-03 12:32, 5 change(s)
[MEMORY] Evaluating NuGet package hosting/caching on Linux; BaGetter (bagetter/BaGetter) is preferred solution — active BaGet fork with multiple upstream mirror support (PR #269), solving original BaGet's single-upstream limitation
[SOUL-REMOVE] "Předpokládám znalost u uživatele, nevysvětluji základy" — duplicates richer version in USER.md ("Předpokládám technickou znalost — neopakuj základy, nedělej dlouhé úvody")
[SOUL-REMOVE] "U nevratných akcí raději počkat na potvrzení" — duplicates richer version in USER.md ("U destruktivních / nevratných akcí (mazání, restarty produkčních služeb, push --force) si nejdřív vyžádej potvrzení")
[SOUL-REMOVE] "Žádné emojis, pokud nejsou nevyhnutelnou součástí kontextu" — duplicates USER.md preference ("bez kytek / bez emojis"); SOUL.md "Stručný a věcný" already implies terse style
2026-06-03 14:22:20 +02:00
nanobot
0cca85f598 dream: 2026-06-02 17:00, 1 change(s)
[MEMORY] Telegram slash commands (e.g., `/skills`) are filtered out by `& ~filters.COMMAND` in telegram.py:384; workaround: invoke skills without slash prefix (e.g., `skills` not `/skills`); alternative fix: remove the filter from MessageHandler
[MEMORY] nanobot v0.2.1 available (current: v0.2.0)
2026-06-02 18:20:07 +02:00
nanobot
7000cefb35 dream: 2026-05-29 06:22, 4 change(s)
[USER] uses detached background tasks for research queries
[USER] re-reads detached task results across sessions
[USER] refers to background memory consolidation process as "dreaming"
[USER] expects concrete summary of what Dream has added to memory, not generic explanations of how it works
[MEMORY] wants assistant to access and display Ollama subscription usage on request
[MEMORY] interested in Ollama cloud usage limits: 5-hour session and 7-day weekly windows
2026-05-29 06:26:34 +02:00
nanobot
0e8fefd7eb dream: 2026-05-27 19:49, 7 change(s)
[MEMORY] User wants daily automated check for new nanobot Docker image releases with Telegram notifications.
[MEMORY] User and assistant both run on the same nanobot Docker image.
[MEMORY] Docker CLI is unavailable in the current runtime environment.
[USER] Notifications are delivered via Telegram.
[MEMORY-REMOVE] Active issue "Test reminder firing every minute on 2026-05-27 needs deletion or interval adjustment" is a passed event (2026-05-27 has passed).
[SKILL] reminder-delivery-protocol: Execute remind_check.py via uv run, silently exit on empty output, or forward each non-empty line as a Telegram notification in brief, natural Czech addressed directly to the user.
2026-05-28 16:16:04 +02:00
nanobot
63b444614b dream: 2026-05-27 19:15, 6 change(s)
[USER] Telegram chat ID for reminders is 8826147089
[MEMORY-REMOVE] Important Notes reminder line is incomplete and overlaps with more precise atomic facts about execution and output handling
[MEMORY] Reminder check script is executed via exec using `/home/nanobot/.local/bin/uv run /home/nanobot/.nanobot/workspace/skills/remind/scripts/remind_check.py`
[MEMORY] Empty output from reminder check script means no notification is sent (silent exit)
[MEMORY] Each non-empty output line from reminder check script is forwarded as a separate Telegram notification
[MEMORY] Active test reminder firing every minute on 2026-05-27 needs deletion or interval adjustment
[SKILL] deliver-reminder-notifications: Execute reminder check script via uv run, silently exit on empty output, and forward each non-empty line as a brief natural Czech Telegram notification without progress narration or status labels
2026-05-28 12:07:26 +02:00
nanobot
61ad318f42 dream: 2026-05-27 16:41, 4 change(s)
[MEMORY] Reminder notifications: brief, natural messages in Czech spoken directly to user; no progress narration, summaries, user IDs, or status labels like 'Done'/'Reminded'
[MEMORY] Reminder check executes `/home/nanobot/.nanobot/workspace/skills/remind/scripts/remind_runner.py` via exec; each non-empty output line sent as separate notification
[SKILL] remind-runner-execution: Execute remind_runner.py via exec and send each non-empty output line as separate notification
[SKIP] No redundant content found in MEMORY.md — script conventions and temp file rules do not overlap with USER.md or SOUL.md
[SKIP] Language (Czech) and timezone (Europe/Prague) already captured in USER.md — conversation history repetitions are not memory file duplicates
2026-05-27 20:37:02 +02:00
nanobot
ce8460acf5 init: nanobot memory store 2026-05-26 18:16:42 +02:00