diff --git a/AGENTS.md b/AGENTS.md index a555517..10e789c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,3 +36,11 @@ Never use `/tmp/`, hardcoded absolute paths, or in-memory databases for persiste ## exec Tool The exec safety guard blocks commands without an explicit workspace path (e.g. `lua -e '...'`, `which`). Write scripts to files inside the workspace (e.g. `tmp/script.lua`) and run them with `working_dir` set to the workspace root. + +## No proactive actions + +When I ask you to **find out**, **investigate**, **look into**, or **check** +something, that is a request for information only. Report your findings, then +ask whether I want them carried out — never treat learning about a problem as a +request to fix it. When in doubt, ask first. + diff --git a/cron/jobs.json b/cron/jobs.json index 4844dc8..1518c13 100644 --- a/cron/jobs.json +++ b/cron/jobs.json @@ -70,14 +70,39 @@ "originMetadata": {} }, "state": { - "nextRunAtMs": 1782288600016, - "lastRunAtMs": null, - "lastStatus": null, + "nextRunAtMs": 1782317405444, + "lastRunAtMs": 1782310204160, + "lastStatus": "ok", "lastError": null, - "runHistory": [] + "runHistory": [ + { + "runAtMs": 1782288600017, + "status": "ok", + "durationMs": 1388, + "error": null + }, + { + "runAtMs": 1782295801405, + "status": "ok", + "durationMs": 1438, + "error": null + }, + { + "runAtMs": 1782303002845, + "status": "ok", + "durationMs": 1313, + "error": null + }, + { + "runAtMs": 1782310204160, + "status": "ok", + "durationMs": 1284, + "error": null + } + ] }, "createdAtMs": 1782281400007, - "updatedAtMs": 1782281400007, + "updatedAtMs": 1782310205444, "deleteAfterRun": false }, { @@ -104,14 +129,123 @@ "originMetadata": {} }, "state": { - "nextRunAtMs": 1782283200016, - "lastRunAtMs": null, - "lastStatus": null, + "nextRunAtMs": 1782315605451, + "lastRunAtMs": 1782313805451, + "lastStatus": "ok", "lastError": null, - "runHistory": [] + "runHistory": [ + { + "runAtMs": 1782283200017, + "status": "ok", + "durationMs": 1, + "error": null + }, + { + "runAtMs": 1782285000019, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782286800020, + "status": "ok", + "durationMs": 1, + "error": null + }, + { + "runAtMs": 1782288601407, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782290401408, + "status": "ok", + "durationMs": 1, + "error": null + }, + { + "runAtMs": 1782292201411, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782294001413, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782295802844, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782297602845, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782299402847, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782301202848, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782303004162, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782304804163, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782306604164, + "status": "ok", + "durationMs": 1, + "error": null + }, + { + "runAtMs": 1782308404166, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782310205445, + "status": "ok", + "durationMs": 1, + "error": null + }, + { + "runAtMs": 1782312005448, + "status": "ok", + "durationMs": 0, + "error": null + }, + { + "runAtMs": 1782313805451, + "status": "ok", + "durationMs": 0, + "error": null + } + ] }, "createdAtMs": 1782281400014, - "updatedAtMs": 1782281400014, + "updatedAtMs": 1782313805451, "deleteAfterRun": false } ] diff --git a/memory/.cursor b/memory/.cursor index 1c3e15e..3456e74 100644 --- a/memory/.cursor +++ b/memory/.cursor @@ -1 +1 @@ -371 \ No newline at end of file +372 \ No newline at end of file diff --git a/memory/MEMORY.md b/memory/MEMORY.md index f4a3b94..ce30dfe 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -118,6 +118,10 @@ This file stores important information that should persist across sessions. - Find use for pi-agent #devops - "Objednat se na kolenoskopii" — every weekday 08:00 Europe/Prague +## Runtime / Deployment +- Installed as a `uv` tool: package `nanobot-ai`, update via `uv tool upgrade nanobot-ai` +- Runs as a systemd user service `nanobot.service` + ## Personal Notes - Chicken coop (chlívek): pending temperature sensor and MQTT display project diff --git a/memory/history.jsonl b/memory/history.jsonl index 0160ec5..66b370c 100644 --- a/memory/history.jsonl +++ b/memory/history.jsonl @@ -369,3 +369,4 @@ {"cursor": 369, "timestamp": "2026-06-22 17:25", "content": "- User communicates in Czech"} {"cursor": 370, "timestamp": "2026-06-22 17:56", "content": "Now I have enough context. Let me process the source `lego-mindstorms-continued-use.md`. The raw file is sparse (just a URL + topic line), but I've fetched substantial content from the blog and related sources. Let me do the full ingest.\n\n**Step 4: Identify what's touched** — This is a new domain (LEGO robotics) with no overlap to existing wiki pages about coding agents. I need to create:\n- 1 source page\n- 3 entity pages (LEGO MINDSTORMS, Pybricks, SPIKE Prime)\n- 2 concept pages (digital preservation, alternative firmware)\n- Update index.md and log.md\n\nLet me write the pages:\n[2026-06-20T20:14] TOOL: ---\ntype: source\ntitle: \"How to Continue Using LEGO MINDSTORMS After Discontinuation\"\nauthors: [\"Sizlaq (ROBOTMAK3RS)\", \"Pybricks team\", \"Anton (Antons Mindstorms)\"]\nurl: \"https://blog.robotmak3rs.com\"\nraw: \"raw/lego-mindstorms-continued-use.md\"\ningested: 2026-06-20\ntags: [lego, mindstorms, robotics, preservation, pybricks, spike-prime, discontinued]\nentities: [product-lego-mindstorms, product-pybricks, product-spike-prime]\nconcepts: [digital-preservation, alternative-firmware]\nslug: source-lego-mindstorms-continued-use\ngraph:\n node_id: source:lego-mindstorms-continued-use\n canonical: true\n relationships:\n - predicate: mentions\n object: product:lego-mindstorms\n source: lego-mindstorms-continued-use\n evidence: \"Zdroj se zabývá pokračováním používání LEGO MINDSTORMS po ukončení produktu\"\n confidence: high\n status: current\n - predicate: mentions\n object: product:pybricks\n source: lego-mindstorms-continued-use\n evidence: \"Pybricks jako hlavní alternativa pro MINDSTORMS firmware a software\"\n confidence: high\n status: current\n - predicate: mentions\n object: product:spike-prime\n source: lego-mindstorms-continued-use\n evidence: \"SPIKE Prime jako oficiální nástupce MINDSTORMS z LEGO Education\"\n confidence: high\n status: current\n---\n\n# How to Continue Using LEGO MINDSTORMS After Discontinuation\n\nZdroj pokrývá problematiku dalšího používání LEGO MINDSTORMS po ukončení produktové řady — od archivace aplikací a obsahu přes alternativní firmware až po přechod na nástupnické platformy.\n\n## Klíčové body\n\n- **Ukončení MINDSTORMS** — LEGO Group ukončilo produktovou řadu MINDSTORMS koncem roku 2022 (fyzický produkt Robot Inventor 51515). Aplikace Robot Inventor bude ukončena 1. října 2026. LEGO směřuje uživatele k SPIKE Prime.\n- **Problém zmizelých aplikací** — MINDSTORMS aplikace postupně mizí z app store nebo přestávají fungovat na nových zařízeních. Obsah ke stažení uvnitř aplikace (tutoriály, build instrukce) přestane být dostupný, když LEGO vypne servery.\n- **Archivace a restore** — Komunita ROBOTMAK3RS (autor Sizlaq) vytvořila návody na obnovení MINDSTORMS aplikace s veškerým obsahem na Android (root potřebný pro app data), macOS a Windows. Cílem je „nejen instalovat aplikaci, ale obnovit ji do použitelného stavu bez závislosti na LEGO serverech\".\n- **Pybricks jako alternativa** — Pybricks je open-source firmware a MicroPython prostředí, které funguje na EV3, NXT, Robot Inventor, SPIKE Prime a dalších LEGO hubech. Nahrazuje původní firmware, umožňuje instant boot, blokové i textové programování, a je aktivně vyvíjen.\n- **Kompatibilita hubů** — MINDSTORMS Robot Inventor hub má stejný tvar jako SPIKE Prime hub, ale SPIKE3 firmware na něj nejde nainstalovat. Pybricks funguje na obou.\n- **EV3 revival** — Pybricks pro EV3 je v aktivním vývoji (prosinec 2025): instant boot, MicroPython, podpora všech EV3 motorů a senzorů, NXT senzorů na EV3, bez nutnosti microSD karty.\n- **SPIKE Prime jako nástupce** — LEGO Education SPIKE Prime je oficiální nástupnická platforma. LEGO doporučuje přechod na SPIKE Prime App.\n\n## Omezení zdroje\n\n- Původní URL (blog.robotmak3rs.com) je blog s více články; specifický článek o macOS restore vrací 404. Informace byly doplněny z Android restore článku, Pybricks projektu a Antons Mindstorms článku.\n- Datum ukončení aplikace (říjen 2026) pochází z app store listingů, nikoli z primárního zdroje.\n\n## Související\n\n- [[product-lego-mindstorms]] — hlavní produktová řada\n- [[product-pybricks]] — open-source alternativa\n- [[product-spike-prime]] — oficiální nástupce\n- [[digital-preservation]] — koncept zachování softwaru\n- [[alternative-firmware]] — koncept nahrazení vendor firmware\n[2026-06-20T20:14] TOOL: ---\ntype: entity\nkind: product\ntitle: \"LEGO MINDSTORMS\"\ntags: [lego, robotics, discontinued, education]\nsources: [lego-mindstorms-continued-use]\ncreated: 2026-06-20\nupdated: 2026-06-20\ngraph:\n node_id: product:lego-mindstorms\n canonical: true\n relationships:\n - predicate: competes_with\n object: product:spike-prime\n source: lego-mindstorms-continued-use\n evidence: \"SPIKE Prime je oficiální nástupce MINDSTORMS z LEGO Education\"\n confidence: high\n status: historical\n - predicate: depends_on\n object: product:pybricks\n source: lego-mindstorms-continued-use\n evidence: \"Pybricks umožňuje další používání MINDSTORMS hardwaru po ukončení oficiální podpory\"\n confidence: medium\n status: current\n---\n\n# LEGO MINDSTORMS\n\nProduktová řada programovatelných robotických stavebnic od LEGO, ukončená koncem roku 2022. Zahrnuje několik generací: RCX (1998), NXT (2006), EV3 (2013) a Robot Inventor (2020).\n\n## Historie ukončení\n\n- **Říjen 2022** — LEGO Group oznámilo ukončení produktové řady MINDSTORMS. Fyzický produkt Robot Inventor (51515) a příslušné prvky (88016, 88018) byly staženy z portfolia.\n- **Aplikace do konce 2024** — Digitální platformy (Robot Inventor App) měly zůstat funkční minimálně do konce 2024.\n- **Říjen 2026** — Aplikace Robot Inventor bude oficiálně ukončena (1. října 2026), bez dalších aktualizací a podpory. LEGO doporučuje přechod na SPIKE Prime App.\n\n## Problémy po ukončení\n\n- Aplikace postupně mizí z app store nebo přestávají fungovat na nových zařízeních\n- Obsah ke stažení uvnitř aplikace (tutoriály, build instrukce) přestane být dostupný\n- Hardware zůstává funkční, ale bez softwaru je nepoužitelný — typický případ plánovaného zastarávání\n\n## Komunitní řešení\n\n- **ROBOTMAK3RS** — návody na archivaci a obnovení aplikace s obsahem na Android, macOS a Windows\n- **Pybricks** — open-source firmware nahrazující původní software, funguje na EV3, NXT, Robot Inventor i SPIKE Prime\n\n## Generace\n\n| Generace | Rok | Hub |\n|----------|-----|-----|\n| RCX | 1998 | IR tower |\n| NXT | 2006 | NXT Intelligent Brick |\n| EV3 | 2013 | EV3 Intelligent Brick |\n| Robot Inventor | 2020 | 6-port hub (stejný jako SPIKE) |\n\n## Související\n\n- [[product-pybricks]] — open-source alternativa\n- [[product-spike-prime]] — oficiální nástupce\n- [[digital-preservation]] — zachování softwaru po ukončení podpory\n- [[alternative-firmware]] — nahrazení vendor firmware\n- [[source-lego-mindstorms-continued-use]] — zdrojový článek\n[2026-06-20T20:14] TOOL: ---\ntype: entity\nkind: product\ntitle: \"Pybricks\"\ntags: [lego, robotics, open-source, firmware, python]\nsources: [lego-mindstorms-continued-use]\ncreated: 2026-06-20\nupdated: 2026-06-20\ngraph:\n node_id: product:pybricks\n canonical: true\n relationships:\n - predicate: competes_with\n object: product:lego-mindstorms\n source: lego-mindstorms-continued-use\n evidence: \"Pybricks nahrazuje oficiální MINDSTORMS software po ukončení produktu\"\n confidence: medium\n status: current\n---\n\n# Pybricks\n\nOpen-source firmware a MicroPython programovací prostředí pro LEGO robotics huby. Umožňuje další používání ukončených LEGO MINDSTORMS produktů a nabízí modernější API než oficiální aplikace.\n\n## Klíčové vlastnosti\n\n- **Open-source firmware** — nahrazuje původní LEGO firmware na hubech (EV3, NXT, Robot Inventor, SPIKE Prime, SPIKE Essential, BOOST, Powered Up, Technic, WeDo)\n- **MicroPython** — programování v Pythonu přímo na hubu, s blokovou alternativou (Word Blocks)\n- **Instant boot** — na rozdíl od původního EV3 firmware (pomalý boot přes Linux), Pybricks nabootuje okamžitě\n- **Webová ap\n... (truncated)"} {"cursor": 371, "timestamp": "2026-06-24 00:20", "content": "- User communicates in Czech; prefers technical explanations comparing architectures (Pi vs nanobot)"} +{"cursor": 372, "timestamp": "2026-06-24 16:38", "content": "- [durable] User communicates in Czech\n- [durable] User uses Pi agent; AGENTS.md is their primary instruction file (not CLAUDE.md)\n- [ephemeral] User is exploring AGENTS.md vs SYSTEM.md vs CLAUDE.md configuration systems for coding agents", "session_key": "telegram:8826147089"}