diff --git a/cron/jobs.json b/cron/jobs.json index fec30c7..a7b38f5 100644 --- a/cron/jobs.json +++ b/cron/jobs.json @@ -257,17 +257,11 @@ "originMetadata": {} }, "state": { - "nextRunAtMs": 1789380399074, - "lastRunAtMs": 1789378599074, + "nextRunAtMs": 1789382199076, + "lastRunAtMs": 1789380399076, "lastStatus": "ok", "lastError": null, "runHistory": [ - { - "runAtMs": 1789344387716, - "status": "ok", - "durationMs": 0, - "error": null - }, { "runAtMs": 1789346187749, "status": "ok", @@ -381,11 +375,17 @@ "status": "ok", "durationMs": 0, "error": null + }, + { + "runAtMs": 1789380399076, + "status": "ok", + "durationMs": 0, + "error": null } ] }, "createdAtMs": 1789032980437, - "updatedAtMs": 1789378599074, + "updatedAtMs": 1789380399076, "deleteAfterRun": false } ] diff --git a/projects/ai/memory.md b/projects/ai/memory.md index ea5ae85..79d5c71 100644 --- a/projects/ai/memory.md +++ b/projects/ai/memory.md @@ -120,3 +120,20 @@ Závěr uživatele: současný stav (modely pod 10 GB na této GPU instanci) nen **Pro uživatele přímo:** Prompt 1 (merge CLAUDE.md template s inventářem prostředí) a Prompt 6 (quarterly trim) použitelné v Claude Code na devlin.hell. **Odmítnuto:** kopírovat celý soubor (polovina řádků specific pro autorův stroj); článek je anekdotický, bez měření. +- 2026-09-14: Zhodnocení článku „Frontier AI: Claude Code and Codex Still Use grep. Why?" (Stéphane Derosiaux, Level Up Coding / Medium, ~2026-09) — proč frontier agenti místo AST/LSP/grafů/embeddings používají rg, find, cat. + +**Hlavní zjištění autora:** + +- **Discovery vs. navigation vs. verification.** Klíčová myšlenka: LSP/AST je skvělý, jen když už agent ví, co hledá (symbol `PaymentRetryHandler`). Při otevřené otázce („co způsobuje duplicitní platby?") musí agent nejdřív objevit slovník problému — retry, idempotency, webhook… — a k tomu je textové hledání nejlepší nástroj. Pipeline: grep = discovery, LSP/AST = navigation, compiler/testy/runtime = verification. grep je začátek, ne celý workflow. +- **Kód je malá část repa.** Repo = kód + YAML, Terraform, Helm, SQL, markdown, ADR, migrace, feature flags, config. Jeden `rg "PAYMENT_TIMEOUT"` najde zdroj + test + helm values + README + migration notes — jedním dotazem rekonstruuje chování + config + historii + očekávání testů. Code graph je jen jedna projekce systému. +- **Strukturované nástroje mají model boundary.** LSP/AST vidí jen statické symbolické relace; nevidí reflection, DI, makra, dynamické importy, plugin loading, dispatch z configu, SQL stringy, Kafka topicy. `Class.forName(config.get("processor"))` — call graph je neúplný, text/config prozradí skutečnou hranu. grep ukazuje hrany, které žijí mimo model nástroje. +- **Negative evidence.** Nula výsledků v `rg` = silný důkaz o repu. U indexované abstrakce může nula znamenat cokoli (neindexováno, nevyřešeno, generováno jinde, špatný workspace). Agent potřebuje nástroje, kde absence je signál, ne hluchá místa middlewaru. +- **grep = univerzální fallback.** Stejné primitivy fungují v Javě, Rustu, Terraformu, SQL i mixed monorepu. LSP per jazyk (jdtls, rust-analyzer, gopls, pyright, tsserver, clangd) = instalace, indexace, udržování middlemana. Harness je lepší s primitivy se stabilní sémantikou napříč repozitáři. +- **Kompozice > velký tool vocabulary.** Malá shell slovní zásoba (rg, find, sed, head, xargs, git log -S) se skládá do obrovského prostoru dotazů a je masivně v trénovacích datech. Oproti 20+ úzkých specializovaných toolů (find_symbol, find_references, find_callers…). Kompoziční primitivum > inteligentnější ale užší tool. +- **Trénink je jen půl vysvětlení.** Modely jsou výborné v shellu (GitHub, Stack Overflow, tutorials), ale to nevysvětluje, proč grep zůstává *architektonicky* užitečný — to dělají výše uvedené důvody. +- **Repo není správná jednotka.** Systém žije napříč kódem, configem, infrastrukturou, runtime chováním, datovými toky, schématy, ownershipem a business pravidly (příklad: POST /payments → PaymentService → Kafka topic → consumer → DB tabulka → PCI policy → tým). Budoucnost: kombinace lexikálního + strukturálního + runtime pohledu v jednom modelu systému („system graph"), ne file navigation „stylem 2000s". + +**Relevance pro nás:** článek je přesně o našem denním chodu (harness design, tool vocabulary, guard proti exec). Hlavní lessony: +- U nanobot toolů držet primitiva kompoziční (read/grep/exec) místo trendu „20 specializovaných toolů" — potvrzuje současnou architekturu. +- Negative evidence jako designové kritérium toolu: výsledek musí být jednoznačně interpretovatelný, žádný fallibilní middleman. +- grep/rg nejsou legacy z tréninku, ale strukturálně správná volba pro fázi discovery — relevantní pro debaty o embeddings/indexech (náš wiki embeddings: full reindex při změně enginu, index = middleman s boundary). diff --git a/projects/devops/memory.md b/projects/devops/memory.md index 395bbdc..f18ec3c 100644 --- a/projects/devops/memory.md +++ b/projects/devops/memory.md @@ -111,3 +111,17 @@ Bezpečnost (důležité při instalaci): Limity: Linux only, **cgroup v2 only** (Proxmox/Debian moderní = OK), root pro plnou viditelnost, per-host (žádný fleet view), musí běžet dopředu ("kouřový detektor" — po incidentu instalovaný below nic neříká). Neověřitelné/nezjištěné: přesná spotřeba místa na disk per den a reálný CPU overhead daemonu — v dokumentaci čísla nejsá,Community údaje chybí; před nasazením na stroj s malým rootem změřit vlastní. +- 2026-09-14: Z článku o ncdu (Medium, Jesse L, ncdu 1.19): uživatel ncdu aktivně používá a je spokojený. Vyhodnocení tipů z článku: + +Pro uživatele potenciálně nové/užitečné: +- **Export/import scanu**: `ncdu -0 -o scan.json