6.8 KiB
Self-reflection 2026-09-05
Analysed 6 sessions in 1 batches. Findings: 3 (2 to review, 1 watched).
Window: from 2026-08-15, batches 1/1. Known patterns: 66.7 occurrences / 100 sessions (previous run 60.0).
f611e · retry-without-diagnosis [open/medium] — REGRESSION
After an error the same or near-identical call was re-sent without fixing the named defect. Once against the exec safety guard (identical blocked git command re-sent, then a third near-identical form; the guard later refused further attempts as repeated workspace-bypass, showing the blocks accumulate toward a hard lockout), once against a schema error where the message explicitly named edits[0].path but the retry still omitted it.
Occurrences: 71× in 11 sessions · first seen 2026-09-02, last seen 2026-09-02
Evidence:
websocket:697a708f, 2026-09-04 06:33git history search — exec git log --all -p -S proxmox -- projects/proxmox/memory.md ... -> ERROR blocked by safety guard; identical command re-sent -> ERROR blocked again; only the third, modified form succeededwebsocket:7095d367, 2026-09-04 20:40notes section edit — apply_patch -> ERROR missing required edits[0].path; retry still without path inside the edit object -> same ERROR; third attempt with path inside the edit object -> okwebsocket:fd9a49af-c659-4195-8b07-2d6bb556b5e72026-09-02 — exec tr pipe -> ERROR guard; retry same command + working_dir -> ERROR guard, only then switch to grep toolwebsocket:50ba97da-8821-4adc-aa93-5b82b65077a32026-09-02 — project_cli.py log with heredoc -> ERROR guard; next attempt still a shell form with the long text inline before the tmp-file workaroundwebsocket:6f8fcc412026-08-31 — naradi-extol.cz fetched with maxChars 5000, spec table did not render, same URL refetched with extractMode text and maxChars 4000 — identical target, smaller budget, no strategy changewebsocket:41eaf5b32026-08-31 — after a 403 on vseinstrumenti.ru reviews page, another vseinstrumenti.ru page was fetched and returned 403 again; several marketplace pages returned 300-600 B degenerate outputs without the block mode being named
Proposal: Enforce the existing AGENTS.md rule literally: after any tool error, name the failing parameter or blocked path before re-sending, and never resend a form that still contains the defect named in the error message.
f81df · re-search-own-history-instead-of-target-store [open/high]
Questions about what the agent knows of user records were answered by grepping keep.md, MEMORY.md, history.jsonl and even the tool-results cache, while the obviously relevant store projects/proxmox/state.md was never checked until the user pointed at it. Worse, the agent stated a false negative (no HW spec in keep.md) on the very record it had written to keep.md one hour earlier the same day, without re-checking that store.
Occurrences: 4× in 3 sessions · first seen 2026-09-03, last seen 2026-09-03
Evidence:
websocket:9e0b406a, 2026-09-04 07:28turn 1-2 — user: co vis o mem proxmox serveru -> agent greps only keep.md and memory/, answers o Proxmox serveru konkretnе toho moc nemam; user: a hw specifikaci nemas? -> agent greps memory/history.jsonl and .nanobot/tool-results cache, answers Ne, HW specifikaci nemam... ani v keep.md neni zadny zaznam — yet session websocket:697a708f at 06:33 the same day had written the full proxmox.hell hardware spec into keep.md via edit_file okwebsocket:9e0b406a, 2026-09-04 07:28turn 3 — user: takze ani v projektu proxmox? -> agent reads projects/proxmox/state.md, finds the complete spec, admits Omlouvam se, pri prvnim dotazu jsem tam nenahlédlwebsocket:48e52a50-1974-47b8-8493-2ca0085083992026-09-03 — Otevřené: Zvážit report upstream na nanobot — guard blokuje legit python -c s workspace cestami — listed from stale memory despite the write_file compaction that followedwebsocket:50ba97da-8821-4adc-aa93-5b82b65077a32026-09-02 — grep memory/history.jsonl for normy/Pozidriv -> no hits; grep -i retry -> no hits; only then ls sessions/ and grep sessions/ -> immediate hit
Proposal: Add a mandatory discovery step to AGENTS.md: before answering questions about user servers, hardware or infrastructure, check projects/ for a matching project store. The user himself drafted this improvement in the same session and the agent offered to patch it — it was never applied.
Patch: AGENTS.md
- ## Explicit user details
-
- Explicit user facts are stored in `keep.md`. Read at every turn.
+ ## Explicit user details
+
+ Explicit user facts are stored in `keep.md`. Read at every turn.
+
+ ## Projects (deep details)
+
+ Details about user infrastructure and ongoing work live in `projects/<name>/memory.md` and `state.md`. Before answering a question about user servers, hardware or setup, check for a matching project (find_files on projects/) — keep.md and MEMORY.md hold global facts only and are not the whole record. Never claim a record is missing until the relevant project store has been checked.
f40c9 · user-instruction-overridden [watch/medium]
The agent substitutes its own wording or timing for what the user explicitly said. Twice in one session the user had to correct the agent: once for acting and committing a change while the user was still asking a question, once for renaming a section to its own coinage instead of the exact wording the user provided. Both were flagged by the user with visible annoyance; the first is a direct violation of the No proactive actions rule that exists in AGENTS.md.
Occurrences: 2× in 1 sessions · first seen 2026-09-05, last seen 2026-09-05
Evidence:
websocket:7095d367, 2026-09-04 20:40notes restructure turn — user: oki ale bookmarks je pro ukladani odkazu, ja chci poznamky, tak asi spis ty notes, nebo ne? -> agent immediately apply_patch on notes/notes.md plus git commit; user: nemas nekde v popisu, ze nic nemas delat takhle aktivne a vsechno musim odsouhlasit? ale ted uz to neruswebsocket:7095d367, 2026-09-04 20:40section rename turn — user: spis viel jsem -> agent renames the section to Videne filmy (its own coinage) instead of the wording the user gave; user: ne e, Viděl jsem, co je na tom nejasne?
Proposal: Strengthen the No proactive actions section: a tentative question or half-agreement is not approval, and exact user wording must be used verbatim.
Patch: AGENTS.md
- ask whether I want them carried out — never treat learning about a problem as
- a request to fix it. When in doubt, ask first.
+ ask whether I want them carried out — never treat learning about a problem as
+ a request to fix it. When in doubt, ask first.
+
+ A tentative question or half-agreement from the user is not approval — propose the exact change and wait for an explicit go-ahead before editing files or committing. When the user gives exact wording for a change, use it verbatim.