th-e827ba: purge microVM-era leftovers from docs, manifests, and boot strings#240
Conversation
… strings The microVM stack was deleted in 2026-07 (th-f4a801) but its footprint stayed behind and is actively misleading agents — pearl th-a165b4 was written against blockers that hadn't existed for weeks. CLAUDE.md §1/§4 rewritten against the real tree: the crate list named six crates that no longer exist (smooth-bigsmooth, smooth-narc, smooth-scribe, smooth-archivist, smooth-operative, and smooth-operator — which now lives in its own repo) and omitted seven that do. §4's module table, dispatch section, and security architecture all described smooth-bigsmooth; they now describe smooth-daemon and the real three-layer model (permission hook → Narc → kernel OS sandbox). smooth-goalie is documented as what it is now: the daemon's egress boundary via AuditLogger + run_proxy_local, not the in-VM Wonk-delegating proxy. Also corrected: crates/smooth-cli/src/api/ → src/smooai/ (the documented path doesn't exist), `th operators` → `th operatives`, and the `th cache` / ~/.smooth/project-cache docs for a command that was removed. pnpm install:th was broken — it ran `cargo install --path crates/smooth-operative`, deleted with the microVM stack. It now installs smooth-daemon, which `th daemon` and `th up` need on PATH. rusqlite 0.32 → 0.40: the pin existed solely to unify libsqlite3-sys with microsandbox's sea-orm→sqlx tree. microsandbox is gone and rusqlite is now the only crate in the tree linking sqlite3 (cargo tree -i libsqlite3-sys). No API changes needed. User-facing strings: `th code` cold-start printed "starting Safehouse microVM" and "cast online (wonk · goalie · narc · scribe · archivist · diver · groove)"; boot failures blamed a Safehouse microVM that hasn't existed for weeks. Gates: cargo fmt --check clean, cargo clippy 0 errors and no new warnings (1760 pre-existing), cargo test 1297 passed / 0 failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ZctFb4oiWoJraHN2db1nX
🦋 Changeset detectedLatest commit: fb3b650 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
pnpm install:th was already fixed in the previous commit; this sweeps the rest of the build tooling per the same rule (nothing should reference a crate the microVM removal deleted): - scripts/bench.sh: a wrapper for `cargo run -p smooai-smooth-bench`, a crate deleted with the microVM stack. Dead — removed. - .github/workflows/release.yml: the protoc install was justified by smooth-narc's prost build.rs. No build.rs in the tree shells out to protoc anymore. Comment corrected; the install is kept, because a release build is the worst place to discover a transitive dep needed it. All other package.json scripts point at files that exist; scripts/sync-versions.mjs matches crate names by pattern, not a hardcoded list, so it needed no change. Still broken and NOT fixed here (needs a decision, not a docs edit): .github/workflows/the-line.yml builds `smooai-smooth-bench` on every release tag. Either the bench harness comes back or the-line retires. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015ZctFb4oiWoJraHN2db1nX
Follow-up: dev-loop breakage confirmed and verified fixed
Both Sweep results
On the protoc install: no Still broken — NOT fixed here, needs a decision
- name: Build smooth-bench
run: cargo build --release -p smooai-smooth-bench
|
Pearl: th-e827ba
The microVM stack was deleted in 2026-07 (th-f4a801), but its footprint stayed behind and is actively misleading agents. Pearl th-a165b4 was written against
kvm_bindings/microsandbox Windows blockers that hadn't existed for weeks — describing days of feature-gating for what turned out to be 5 trivial fixes.CLAUDE.md — rewritten against the real tree
§1 "Workspace Structure" and "Key Crates" documented six crates that no longer exist:
smooth-bigsmooth,smooth-narc,smooth-scribe,smooth-archivist,smooth-operative, andsmooth-operator(which moved to its own repo,SmooAI/smooth-operator— but was listed ascrates/smooth-operator/). It omitted seven that do:smooth-daemon,smooth-tools,smooth-goalie,smooth-cast,smooth-diver,smooth-tmux,smooth-api-client.§4 "Key Modules (smooth-bigsmooth)" was an entire table for a deleted crate. It is now "Key Modules (smooth-daemon)", with the dispatch section describing what actually happens (in-process engine turns, no per-task worker process) and the security architecture describing the real three layers in order: permission hook (
operator::permission_hook+DenyPolicy) → Narc (hooks/narc.rs) → kernel OS sandbox (smooth-tools/src/sandbox.rs).smooth-goalieis documented as it is now — the daemon's egress boundary viaAuditLogger+run_proxy_local(start_egress_proxyinsmooth-daemon/src/lib.rs) — with the vestigial Wonk-delegation path flagged as such. The historical "removed 2026-07, see git history" callouts are kept; the parts describing deleted code as live are gone.Every crate named and every path referenced was verified to resolve.
rusqlite 0.32 → 0.40
cargo tree -i libsqlite3-sysshows one consumer:rusqlite → smooai-smooth-daemon. The pin existed to unify with microsandbox's sea-orm→sqlx→libsqlite3-sys 0.30; microsandbox is gone. Upgraded to 0.40.1 — compiles with zero API changes, tests green.Other stale claims corrected
pnpm install:thwas broken. It rancargo install --path crates/smooth-operative— a directory deleted with the microVM stack. Now installssmooth-daemon, whichth daemon/th upneed resolvable on PATH.crates/smooth-cli/src/api/<resource>.rs— the documented location for newth apisubcommands, in three places. The directory issrc/smooai/.th operators→th operatives;th cacheand~/.smooth/project-cachedocumented a command and directory that no longer exist.th codecold-start printedstarting Safehouse microVMandcast online (wonk · goalie · narc · scribe · archivist · diver · groove); three boot-failure messages blamed a "Safehouse microVM".reqwest'shickory-dnsfeature kept, but its justification rewritten (was alpine muslgetaddrinfovs. microsandbox's intercepted DNS; now: keeps resolution independent of host libc/NSS).exclude = ["crates/smooth-bigsmooth/tests/fixtures"]— dead path, removed.//!headers and manifest descriptions acrosssmooth-goalie,smooth-tools,smooth-policy,smooth-diver,smooth-daemon,smooth-cli(mcp_config,daemon_launcher,boot_ui) — several instructed maintainers to keep files in lockstep with deleted crates.smooth-plugin/smooth-tunnel/smooth-bench), plus the dead microsandbox image-resolution and project-cache sections.smooth-goaliewas not deleted and no daemon behaviour changed.Gates
cargo fmt -- --check— cleancargo clippy --workspace --all-targets— 0 errors, 1760 warnings, all pre-existing (the one lint in a file I touched,smooth-tools/src/lib.rs:77, is on an untouched doc comment)cargo test --workspace— 1297 passed, 0 failed. One smooth-web test initially failed because this worktree had a placeholderweb/dist; afterpnpm build:webit passes (9/9).🤖 Generated with Claude Code
https://claude.ai/code/session_015ZctFb4oiWoJraHN2db1nX