cd /news/ai-infrastructure/tenant-surfaces-truenas-deployment-a… · home topics ai-infrastructure article
[ARTICLE · art-46475] src=loomcycle.dev ↗ pub= topic=ai-infrastructure verified=true sentiment=· neutral

Tenant surfaces, TrueNAS deployment, and thoughts on the wire (v1.6.1 to v1.8.2)

The Loomcycle project released eight versions (v1.6.1 to v1.8.2) over five days, introducing tenant-scoped Web UI surfaces, supporting TrueNAS deployments, adding vision capabilities across all providers, and fixing a critical bug where streamed reasoning traces were silently dropped. The updates also include effort hint support for local reasoning models and improved CLI configuration layering.

read2 min views1 publishedJul 1, 2026

Five days, eight loomcycle releases, three arcs. Arc 1: tenant surfaces (RFC AS) — the tenant-operator Web UI lands across v1.6.3-v1.6.7. Library + def-plane /names reads tenant-scoped, Library route gated at substrate:tenant, per-surface nav visibility (v1.6.3), static/bundled agents visible to tenant operators as read-only, schedules surface tenant-scoped, Path/Document browse-by-subject with a topbar picker, audit log tenant-scoped via owning session (v1.6.4), bundled inline top-level skills surface in the Library, Document op=create_document always registers a Path dirent (defaulting /documents/) plus a new op=set_path so documents are never orphaned (v1.6.5), sub-agent session inherits parent's tenant (v1.6.6), Context op=self reports the full principal block + a server block from LOOMCYCLE_PUBLIC_URL (v1.6.7). Load-bearing shape: admin sees all + optional ?tenant= focus, substrate:tenant operator confined by construction, cross-tenant reads return empty (never 403), nav visibility derives from bearer scopes. Arc 2: TrueNAS deployment moved from possible to supported. Distributed across every version: v1.6.2 softens Postgres floor to ≥14 (was pinned 16), moves secrets to env_file, ships chat + chat-local bundles, adds LOOMCYCLE_OLLAMA_LOCAL_NUM_GPU. v1.6.4 fixes SQL-Memory Postgres role (needs CREATEROLE for per-scope roles at runtime). v1.6.7 wires LOOMCYCLE_PUBLIC_URL in compose + INSTALL.md. Arc 3: vision + thoughts on the wire. v1.7.0 lands RFC AT image/vision across all providers (Anthropic native, OpenAI content-array, Gemini inlineData, Ollama images field) + every transport (HTTP + gRPC + MCP + TS + Python adapters bump 1.7.0). v1.7.1 fixes the fallback-target vision gate: re-check SupportsVision inside tryProviderFallback, emit EventFallbackSuppressed with RFC AT §4.4 cite on non-vision target, image never leaks to DeepSeek's raw 400. v1.8.0 wires effort hint to Ollama's think flag (medium/high → think:true) for local reasoning models (qwen3, deepseek-r1); consistent error posture with cloud drivers. v1.8.1 makes CLI validate/agents/doctor honor LOOMCYCLE_PRESETS/CONFIG_DIR/CONFIG_FILES layering, plus a LOOMCYCLE_OLLAMA_DEBUG_THINK diagnostic. v1.8.2 is the two-line root-cause fix: the loop's event switch had no case for EventThinking and no default, so every provider's streamed reasoning trace was silently dropped at the loop and never reached SSE/gRPC/adapters. Fix: case providers.EventThinking: emit(ev). Small wins: v1.6.1 MCP thin-client transparent re-handshake on upstream session expiry (ends the /reload-plugins dance); GET /v1/_models exposes the operator's alias map so a UI can offer aliases in a picker and forks track alias retargets. Adapters unchanged since v1.7.0; server-side patches through v1.8.2.

── more in #ai-infrastructure 4 stories · sorted by recency
── more on @loomcycle 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/tenant-surfaces-true…] indexed:0 read:2min 2026-07-01 ·