nanobot: 2026-09-14 12:09:54
This commit is contained in:
@@ -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
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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 <dir>` (scan do JSON bez UI) + `ncdu -f scan.json` (prohlížení kdekoli) — offline analýza, scan pod rootem → prohlížení pod běžným uživatelem, scp JSON na jiný stroj, týdenní scany z cronu → diff růstu adresářů („roste 3 GB/týden od března").
|
||||
- **`-r` read-only** — na produkci zakáže delete klávesu `d`; doporučenej habit `ncdu -rx -o /tmp/scan.json /`.
|
||||
- **`C` sort podle počtu položek** — najde adresáře s miliony malých souborů (nevyniknou podle velikosti, ale jsou pomalé na zálohu/smazání).
|
||||
- **`-e` extended info** — mtime v detailech (`i`), rozlišení starého bordelu vs čerstvého nárůstu.
|
||||
- **`b`** — otevře shell v prohlíženém adresáři.
|
||||
- **`--exclude-caches`** (CACHEDIR.TAG), **`--exclude-kernfs`** (procfs/sysfs), **`-q`** quiet mode pro pomalé SSH.
|
||||
- **ncdu 2.x** — rewrite v Zigu, rychlejší na obřích stromech (miliony souborů), lepší hardlink handling; distribuce většinou shippují 1.x, interface téměř identický.
|
||||
|
||||
Zbytek článku (základní navigace, instalace, `-x`, alternativy gdu/dust/duf/baobab) známý/irrelevantní.
|
||||
- 2026-09-14: Potvrzený top tip z ncdu článku: kombinace `ncdu -0 -o scan.json /var` → `ncdu -f scan.json` — uživatel ji hodnotí jako největší přínos (mega hodí se) — přenos výsledků na jiný stroj, pozdější zkoumání bez rescenu, zvlášť u velkých stromů s mnoha soubory.
|
||||
- 2026-09-14: Uživatel preferuje rsync místo scp pro přenos souborů (např. ncdu scan JSONů mezi stroji). V budoucích doporučeních a skriptech používat rsync, ne scp.
|
||||
|
||||
Reference in New Issue
Block a user