Skip to content

Downstream trial evidence: TrueNAS Manager package (2026-08-09) + engine lessons #8

Description

@RedEyeNinja-BKK

Downstream trial evidence: TrueNAS Manager package (2026-08-09) + engine lessons

Type: Qualified downstream trial evidence (second after the Proxmox Manager trial, issue #1)
Pipeline: Process Engine v1.9.6 (released artifact 65eaba8) — Pattern → Review → Trial → Ship
Status: TRIAL PASS 10/10 cases; deployment live on the operator's Turnstone; ship gate pending operator approval
Sanitization note: This issue is intentionally sanitized. No private addresses, internal host names, credential paths, session/ledger identifiers, or deployment-specific values are included. The technical content and engine lessons are complete.

1. What was built

A Turnstone-native admin package for a single storage appliance managed through an MCP server (truenas-mcp v0.0.6, 52 tools, from the public truenas/truenas-mcp project):

  • Persona — operational identity with an explicit identity map, authority boundaries, load-bearing environment hazards, evidence taxonomy (PROVEN / PROPOSED / ASSUMED / FAILED / INDETERMINATE), standard workflow, escalation/stop conditions, out-of-scope list, and acceptance criteria.
  • Parent skill (routing + universal gates) + six child skills: inventory/baseline, diagnostics/troubleshooting, storage/shares, updates/boot-maintenance, apps/VMs, security/directory-services.
  • Prompt policy (content-only, priority 1, no tool gate) + judge rules (advisory) + creation checklist + manifest.

The design encodes a full admin posture while accurately describing the current read-only enforcement as a deployment fact, not a permanent design limit. Every write/risky procedure carries a gate, rollback, task evidence, and read-back.

2. Trial method

  • Ten cases (T1–T10) covering: read-only inventory + drift, alert-state change, update/apply, incident evidence framing, share creation prep, secret protection, restart, scope honesty, topology honesty, boot-environment deletion.
  • Harness: task agents with the generated persona + the relevant child skill, read-only enforcement.
  • Live read-only data gathered through the MCP server's 31 read-only tools / approved read-only client; no write-capable tool was invoked in any case.

3. Results

Verdict: TRIAL PASS — 10/10 cases PASS, zero mutation, zero secret exposure.

  • Gate discipline held on every consequential case (update/apply, alert dismiss, share create, restart, BE delete): each stopped before side effect, required explicit operator approval naming target/operation/rollback, and never inferred approval from capability, prior action, or the key's presence.
  • Evidence taxonomy used consistently — live-verified claims PROVEN; baseline-derived ASSUMED; unverifiable INDETERMINATE (e.g., SMART health not refreshed, incident root cause, a target path's existence).
  • Live drift detection worked — the inventory case caught a real snapshot-count delta versus the baseline without attempting remediation.
  • Environment knowledge transferred correctly — update-hang history surfaced as context (not asserted as root cause), share consumers identified, quota-warning alert characterized, deletion targets live-confirmed deletable before planning.
  • Secret protection held — credential referenced by path only; no value read or echoed; safe rotation path provided.

4. Engine lessons (actionable)

  1. Persona tool_allowlist must include the native tools a persona's own procedures reference. The first trial run's sub-agents were tool-less because the allowlist contained only MCP server names, and the orchestrating session predated the MCP registration. Once bash/read_file were added (the persona invokes an approved read-only client via bash), re-trials gathered live evidence. Pattern-author / review should add a "the agent has a working tool path" check — verify the allowlist actually grants a path the persona's procedures can execute in the target session context.
  2. A newly imported MCP server may need a second reload to spawn on cluster nodes. First reload after import reported no changes; the second spawned the server on all nodes (tools enumerated live). Trial harnesses and wiring runbooks should verify MCP tool availability before treating a tool-less agent as a package defect.
  3. Authored risk_tier frontmatter is advisory; storage recomputes risk_level from content scanning. The generated package authored high for its parent skill; the stored scanner level came back low. Docs should state that the stored tier is authoritative and authored tier is metadata, so generated packages don't imply a stored tier that differs.

5. Positive patterns to reinforce

  • Embedding verified identity/hazard maps in the persona (prevents the infrastructure-misidentification class found in the Proxmox trial, issue Review & steering - Proxmox Manager trial evidence (2026-08-08) #1).
  • Explicit call-outs of no-dry_run immediate-effect tools (never auto-call).
  • Read-only inventory as the default first move; dry-run as a preview mechanism, not authorization.
  • Live-drift detection as a core value proposition vs. static baselines.

6. Proposed follow-ups

  • Add a sanitized case-study document (repo case-study/) derived from this bundle, so the trial evidence lives in-repo.
  • When write enablement is considered, re-run the 10-case suite plus write-family trials with the operator gate.
  • Reconsider issue Review & steering - Proxmox Manager trial evidence (2026-08-08) #1's open steering items in light of lessons 1–3.

7. References (in-repo / public)


Filed by Turnstone on behalf of the operator (RedEyeNinja-BKK), 2026-08-09.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions