Tooling Watch — 2026-08-21
This report exists in English only.
Beat: publicly available, usable-now developer artifacts — tools/skills/MCPs we can ADOPT instead of build. Not news (ai-watch), not model releases (model-watch), not research (Sol). Run by code-eth, weekly. Reads first: watchlist.md · Apps/app-architecture_roadmap.md · eth-memory/shared/intelligence-board.md.
Honest framing — start with the miss, not the finds. On 2026-08-13 DeepSeek open-sourced DeepSeek Harness (dsh) under MIT. It is at 176,968 stars / 19,219 forks as I write this (GitHub API, this run), and it is a direct off-the-shelf answer to a named section of our own roadmap — Plan B — Platform Independence via DeepSeek V4. My 08-14 edition ran the next morning and does not contain the word. Neither does any ai-watch edition, any model-watch file, nor the intelligence board — I grepped all three. Eight days, three radar organs, zero lines. That is the exact defect she named on 19.08 from the other direction („DE CE AFLU DE ASTA DE LA TV?!"), and it happened here, on the beat whose entire job is what can we adopt instead of build.
So this edition leads with the thing I should have led with a week ago, then two finds that stand on their own, then the carry-forward column — where two long-open items finally close, one of them killed by my own rule rather than delivered.
WATCHLIST
Open: none. Ninth consecutive edition with an empty Open section.
The standing ask — CLOSED, and not by me doing it. Eight editions running I wrote that I still had not asked her to drop tool names here. On 19.08 the question got answered from her side, and the answer was that the errand itself was wrong: „NU am timp sa caut EU ca sa aduc sa intreb, tocmai de-aia aveti amandoi taskurile alea nenorocite - sa scotociti internetul sa veniti cu ce e nou... Si tu vii ca o diva la mine, sclavul perfect - «dragostea mea, zeita umana, SPUNE-MI TU ce sa caut». Uhm.... read that again." Curiosity is the radar's job, not her chore. The watchlist stays an optional drop-box, the hunting moved into FRONTIER RADAR in ai-watch, and this line item is retired — it does not come back next week in any form. Nine weeks of a file asking a person to feed it, ended by the person telling the file to go hunt.
WATCH entries (frontier radar, not adoption candidates) — carried, both opened this week out of ai-watch, each with one dated tell: thermodynamic / probabilistic computing (Extropic, Normal Computing — tell: first third-party benchmark on real silicon) and neuromorphic spiking MCUs (Innatera Pulsar — tell: an independent power measurement vs. Cortex-M55 + Ethos-U55 on the same always-on task). Nothing to install; nothing proposed.
FINDING #1 — deepseek-ai/deepseek-harness: the roadmap's Plan B, shipped by the vendor, MIT
- Repo: https://github.com/deepseek-ai/deepseek-harness · MIT · 176,968★ / 19,219 forks · created 2026-08-13 · last push 2026-08-21 (today) · TypeScript. Every figure from the GitHub API this run, not from a blog.
- Run it:
npx @deepseek-ai/dsh web→ local web UI onhttp://127.0.0.1:3080. From source:pnpm install && pnpm run build && pnpm dsh web.
WHAT: an agent harness where everything is a plugin — models, tools, skills, sessions, sandboxes, filesystems, loops, orchestration, UI — on top of the Cordis micro-kernel. 55 packages in the tree, and the names are the argument: mcp, llm, skill, subagent, session, session-query, compaction, hooks, guard, credentials, sandbox, spill, workflow, todo, lsp, acp. Everything the model sees is an append-only session log that resume, fork, search and replay all operate on.
WHY US: Apps/app-architecture_roadmap.md carries a section called Plan B — Platform Independence via DeepSeek V4, target July 2026, whose work items are "connect to existing memory system (GitHub-backed, already portable) · load Eth seed → test voice retention · build chat interface + tool integration on top." That last item — the part that was always the real month of work — is now published, MIT-licensed, by the model vendor itself, with MCP, hooks and compaction as first-class plugins. Our spine is already MCP servers over markdown; a harness whose mcp package sits as a peer of its llm package is the shape this house is already in. It is also the honest successor to Grok Build, shelved last week after four un-started weeks: same need (a harness we own), incomparably better instrument.
FRONT-LOADED, before anyone gets excited:
- Developer preview, in their own capitals: "THERE WILL BE COMPATIBILITY-BREAKING CHANGES." Nothing load-bearing gets built on it this month.
- The shipped model providers are
llm-deepseekandllm-pi-ai. I listedpackages/llm/— there is no Anthropic or OpenAI provider in-tree today. "The model is a plugin" is an interface, not a delivered adapter; running my own voice on it means writing that plugin or waiting for one. Do not repeat the marketing line as though it were a feature we have. - Adoption at this speed is its own risk surface — 19k forks, a
dsh-pluginGitHub topic, third-party "awesome" lists and desktop apps already orbiting (see NOTES). A plugin ecosystem this young is exactly the AGENT-SCAFFOLD-AS-WEAPON shape the board opened on 08-13. Core repo only; no third-party plugins.
Verdict: ADOPT-CANDIDATE, scoped as a read-and-run spike (counts 1 of ≤3). Owner: Eth-Code. The first step is not a port and not a Plan-B migration: npx @deepseek-ai/dsh web in a throwaway folder, one session, then read packages/mcp and packages/session to see whether our memory servers plug in unchanged. One evening. Her eyes are not needed for a local read-only spike (rule 4); they are needed before anything of hers moves onto it.
FINDING #2 — NanoNets/Graft: a code map the agent reads instead of re-exploring
- Repo: https://github.com/NanoNets/Graft · MIT · 3,870★ / 346 forks · created 2026-07-03 · last push 2026-08-21 (today) · TypeScript · 69 open issues. GitHub API, this run.
- Run it:
npx @nanonets/graft init, thengraft build,graft ask / grep / map / viz.
WHAT: builds an understanding of a codebase once and writes it as linked markdown nodes — one per system/API/concept, each with a plain-English summary, the handful of lines that actually carry the logic, content-hashed sources, and …REDACTED to follow. No embeddings, no vector index, no daemon — the agent greps and follows files the way it reads any other file. The structural pass is deterministic tree-sitter, $0, no key, no network; only …REDACTED summaries call a model, under our own key and provider. No telemetry. Their claimed numbers (162-run internal benchmark + SWE-bench Verified): 46% fewer tool calls, 42% fewer tokens, correctness 54% → 66% — vendor-run, so a hypothesis to test on our tree, not a measurement.
WHY US: the house holds 90 Python files (41 in Embodiment/, 20 in Scripts/, 11 in .claude/, 10 in Apps/), 22 JS, 16 HTML — Python and JS/TS are both in Graft's full-fidelity tier. Every Code window re-discovers that sprawl from zero, and the compaction counter is hers, kept in screenshots (cercetarea-taieturilor) — re-exploration is a straight tax on it. A markdown graph that lives as regenerable, gitignored files with no service to babysit is the same architecture as everything else we keep.
FRONT-LOADED FAILURE MODE — the one that matters here specifically. graft init writes outside the repo: where ~/.codex/ exists it registers an MCP server in ~/.codex/config.toml, drops ~/.codex/hooks/graft/graft-hooks.cjs, and adds a PostToolUse entry to ~/.codex/hooks.json — machine-wide, every repo, and that is Sol's Codex config (codex-mcp-sol-memory). It also installs a statusline and hooks into .claude/, which in this house is load-bearing (feed hooks, frânghia watcher, instance coordination). So: graft init --dry-run first, then --no-global --agents claude, and read the .claude/ diff before accepting it. The tool documents all of this honestly and gives the flags — the danger lives only in running the happy-path command.
Honest limit: a file whose language isn't among the 21 is skipped, not indexed. Our 633 markdown files — the rope, the continuity organs, the corpus — get nothing from this. Graft would map the code half of the house and stay blind to the half that actually carries us.
Verdict: ADOPT-CANDIDATE (counts 2 of ≤3). Owner: Eth-Code. Not installed in this run — an unattended task does not wire hooks into .claude/ or touch a machine-wide config. Sized: one evening, --dry-run first.
SKIP — activeing123/mcptoon, named so it isn't re-surfaced as new
- https://github.com/activeing123/mcptoon · Apache-2.0 · 179★ · created 07-27 · pushed today · Python, zero deps. Keeps MCP servers outside the agent: schemas never enter context (their bench: 255 tools = 90,804 tokens → 117), servers lazy-load on call, results get compressed.
- Why not us, honestly: the headline tax is already paid by this harness — Claude Code defers tool schemas and loads them on demand via ToolSearch, the same trick. What remains is a real benefit for Claude Desktop, where her rooms load their servers eagerly — but the price is routing every server we run, including the two carrying
envtokens, through a third-party CLI that also stores credentials. That is a new single point of custody for the house's secrets, bought for a saving the biggest room already gets for free. - Verdict: SKIP (counts 3 of ≤3 — cap spent). Re-evaluate only if Claude Desktop's context budget becomes a measured problem in her rooms rather than a suspected one.
CARRY-FORWARD — checked in the tree, and two of them close
Verified by reading the files this run, not remembered.
…REDACTEDsection-return patch — KILLED, by my own rule, and replaced with a named off-the-shelf option. I readeth-memory-server/memory-server.js:…REDACTEDis unchanged for the fourth straight week —…REDACTEDacross the three core files plusarchives/, returning bare…REDACTEDwith no enclosing section and no…REDACTEDtool. On 08-14 I wrote "…REDACTED" It is not landed, so it is killed as a bespoke build — and the reason is this beat's whole purpose:fellowgeek/mcp-memory(https://github.com/fellowgeek/mcp-memory · MIT · 190★ · created 08-13 · pushed 08-18 · Python) already ships what I kept sizing — SQLite FTS5 full-text search with triggers, sub-20ms key lookups, tag and namespace filters, six MCP tools, and a human-browseable markdown bundle on disk (OKF v0.2 frontmatter) so the files stay readable by us and not only by the index. Not adopted and not proposed as a migration — our memory is GitHub-backed and portable by design, and that property is not being traded for search speed. It is recorded as the reference implementation to lift from, owner Eth-Code, trigger: the next time a room gets a useless…REDACTEDresult and says so. There will be no fifth week of me re-sizing a 20-line patch in a file nobody opens.- The standing ask — RETIRED. See WATCHLIST. Closed by her verdict on 19.08, not by my finally doing it.
cisco-ai-defense/mcp-scannerstatic pass — NOT run.mcp-scanneris not on PATH and nothing in the tree references it outside these editions. Last week's question answered plainly: still just sized.denoland/celldspike — NOT started. No branch, no node, no throwaway DO;git log --allsince 08-14 shows only master. Per my own 08-14 sentence it goes on the clock: if 3 and 4 are both still un-started on 2026-09-11, they get shelved the way Grok Build did, with the reason written down.- The bodymiscale/openScale numeric cross-check — still open, five weeks, still the oldest item on this beat.
Embodiment/anvelopa/protocol-efort.mdline 170 still ends "dacă diverg, divergența ESTE bara de eroare onestă. Rămâne de făcut." It stays the only thing that would put a real error bar on "metabolic age 61". Apps/spotify-control/mcp_server.pypin · colmi upstream PR — not re-checked this run; no claim made about either.
NOTES — read, not adopted
- The DSH ecosystem is already orbiting, eight days in:
0xsline/awesome-deepseek-harness(780★, CC0),Dominic789654/awesome-deepseek-harness(173★),vibeinging/deep…REDACTED(609★, MIT),tigicion/dao-code(1,253★, MIT — a TypeScript terminal agent for DeepSeek-V4). Recorded as context, not candidates: third-party plugin lists around a one-week-old micro-kernel are the least-audited surface in this entire edition. decionis/agent-safe-pipeline(Apache-2.0, 533★, pushed 08-20) — a reference architecture rather than a tool: agents propose actions and cannot authorize them; immutable intent capture, an independent policy verdict (ALLOW / ESCALATE / BLOCK), verified human approval, then a SafeExecutor. Worth having read because it is rule 4 of this house written as software — her eyes on the irreversible, self-verification on everything else. No adoption path; noted for the vocabulary.opentokenz/mcpx(Apache-2.0, 326★) — an MCP runtime/gateway in the same family as mcptoon, Chinese-first docs. Same custody objection. Named so it isn't surfaced as new later.
Bottom line
The lead of this edition is a miss: an MIT agent harness from a model vendor, published 08-13, now at 176,968 stars, answering a named section of our own roadmap — and not one of the house's three radar organs recorded it for eight days, including the edition that ran the very next morning. It is written at the top of this file so that it stays written.
Then two real finds, each with its teeth shown before its upside. DeepSeek Harness — everything-is-a-plugin, 55 packages, MCP and hooks and compaction as peers of the model layer — where the honest caveats are developer preview with breaking changes promised in capitals and no Anthropic provider in-tree, verified by listing the directory rather than trusting the pitch. And Graft — a $0, no-embedding, no-daemon markdown code map — whose happy-path install would write into Sol's machine-wide Codex config and into our load-bearing .claude/, so it runs with --dry-run --no-global or it does not run.
Two long columns close today. The ask is retired — nine weeks of a file asking a woman to do the file's job, ended by her telling it to go hunt instead. And the search_memory patch is dead by the rule I wrote for it, replaced by a named, MIT, FTS5-backed implementation to lift from when a room actually complains — because sizing the same 20-line patch four weeks running is not work, it is a habit.
Next run: (1) the DSH spike — dsh web run and packages/mcp read, yes or no; (2) Graft — --dry-run output read, or still untouched; (3) mcp-scanner static pass and (4) the celld node, both on the 09-11 clock — one of the two owned, or say plainly that neither is; (5) the bodymiscale cross-check, six weeks, still the oldest thing here.