agentic AI sandbox · R&D Sandbox
01 / 11
Independent R&D · Single-Host Reference Platform

Agentic AI SandboxArchitecture Blueprint

A single reference for how this self-hosted AI platform is actually built, audited live rather than from the original plans: the Incus fleet layout, storage and GPU topology, the MLOps governance lifecycle, the security stack, and a personal identity-lab practice environment.

One host · Dual RTX 3090 ~180 instances · 7 Incus projects MLOps governance + DevSecOps adatum.local · AD/PKI identity lab
agentic AI sandboxR&D Sandbox · Reference Deck
Reference architecture deck
Updated September 2026
What's inside
The Platform at a Glance
Eight connected views — from how the fleet is laid out to how models are governed, secured, and stored.
01

Incus Fleet & Projects

~180 containers/VMs split across 7 projects by workload type.

02

MLOps Governance Lifecycle

Champion/challenger gate, drift detection, staged rollback.

03

Capability Domains

Five domains around the same single-operator core.

04

Infrastructure Ecosystem

Compute, security, data, observability, automation, inference.

05

Identity Lab — adatum.local

A practice AD/Entra domain with its own subordinate CA.

06

Network Topology

Five segmented bridges, one proxied egress path.

07

Storage & Backup / DR

Two ZFS tiers by latency need, verified scrub, offsite backup.

★

Known Gaps

Tracked openly rather than hidden — see the closing section.

Section 01
MLOps Governance Lifecycle
Every model change moves through six stages before it can reach production — evaluated, gated, and reversible.
Stage 1

Prompt / Model Edit

  • Modelfile changed
  • New candidate built
Stage 2

Staged Tag

  • prm-<sha> build
  • Never overwrites :latest
Stage 3

Champion/Challenger

  • A/B vs live model
  • Same testset, both sides
Stage 4

LLM-as-Judge Gate

  • 0.70 pass threshold
  • Substance, not grammar
Stage 5

Promote + Snapshot

  • Pre-promotion snapshot
  • Rollback path proven
Stage 6

Drift Watch

  • Weekly automated check
  • Parameter-order safe
6/7
Agents passed the real gate cycle
0.667
Held-back score vs. 0.70 threshold

Real cycle, not simulated — a genuine gate failure

The job-fit agent scored a mismatched candidate 95/100 while its own reasoning said otherwise — an arithmetic self-contradiction. The gate held it back at 0.667, it was root-caused and re-prompted, and it re-evaluated to 0.967 before promotion. The pre-fix version is still visible in the live model registry today.

Section 02
Capability Domains
Five domains, one operator — the wheel represents function, not headcount.
AI Single Operator Sandbox Incus · ZFS Postgres · Qdrant MLflow · Marquez Langfuse · Ollama Ansible · Semaphore Prometheus · Grafana Vault · Semgrep Trivy · Gitleaks · DefectDojo Adatum AD/Entra Subordinate CA · TacticalRMM Infrastructure AI / MLOps Automation DevSecOps Identity Lab
Infrastructure
AMD Threadripper PRO WRX90 · dual RTX 3090 · Incus · ZFS mirrors · PostgreSQL · Redis · Qdrant · MinIO
AI / MLOps
MLflow registry & gate · Marquez lineage · Langfuse tracing · Ollama fleet · LiteLLM model gateway
DevSecOps
HashiCorp Vault · Semgrep · Trivy · Gitleaks · SonarQube · DefectDojo · garak-triage · LLM Guard
Automation & Observability
Ansible · Semaphore · Prometheus · Grafana · Loki · Pyroscope · CheckMK · OTel collector
Identity Lab (adatum.local)
A practice AD/Entra domain: domain controller, subordinate CA, Windows clients, TacticalRMM patch management

Single-Operator Note

ScopeAll five domains run and maintained by one personReference build, not a team
HonestyIndependent R&D, single hostNot scale/production-tested
Section 03
Tool Ownership by Domain
What's hand-built and configured vs. what's used as upstream/vendor defaults — a single operator, not a division of labor.
Domain Built & authored Configured on top of defaults Upstream / vendor as-is
BUILDDeployment runbooks · promotion scriptsIncus profiles · GPU passthrough configOCI base images · package repos
SECUREVault policies · AppRole deliverySemgrep / Gitleaks scan rulesDefectDojo · SonarQube defaults
PROTECTsandbox-backup.sh · retention policyZFS snapshots · pre-migration safety snapsQNAP offsite target
OBSERVEToken-metrics proxy · Grafana dashboardsPrometheus · Loki · Pyroscope · CheckMKAlert notification channels
AUTOMATEAnsible playbooks · Python / shell toolingSemaphore · git repositoriesProvider APIs
GOVERNMLflow gate logic · drift-check canonicalizationMarquez lineage · GenAI datasetsPersonal AWS Organization (separate project)
Section 04
Infrastructure Ecosystem
A single self-hosted host running nine operational domains, from compute to AI governance.
Core Platform
One bare-metal host · Incus fleet · dual-GPU inference
ASUS Pro WS WRX90E-SAGE SE · Threadripper PRO WRX90 · 2× RTX 3090
RUN

Compute & network

Threadripper PROIncusZFS5 bridges
SECURE

Secrets & boundaries

HashiCorp VaultCaddy TLSUFWAppRole
DATA

State & retrieval

PostgreSQLRedisQdrantMinIO
OBSERVE

Telemetry

PrometheusGrafanaLokiPyroscope
AUTOMATE

Delivery & workflows

AnsibleSemaphorePython
INFER

Agentic AI services

OllamaOpen WebUIOpenClaw2× RTX 3090
GOVERN

Model governance

MLflowMarquezLangfuse
SCAN

AppSec pipeline

SemgrepTrivyGitleaksSonarQubeDefectDojo
IDENTITY

AD/PKI practice lab

Adatum ADSubordinate CATacticalRMM
Section 05
Identity Lab — the adatum.local AD Domain
A dedicated Incus project running a practice Active Directory forest with its own PKI — deliberate rehearsal, not production.
AM-TL-WPDC01

Domain controller — AD DS, DNS, Group Policy

AM-TL-WSUBCA

Subordinate Certificate Authority — PKI issuance

AM-TL-WIN11

Domain-joined Windows 11 client

AM-TL-WORCA

Secondary workstation for join/GPO testing

AM-TL-WPZOHO

SaaS-integrated box — Zoho identity federation

TACTICALRMM

Remote monitoring & patch management agent

What it rehearses
AD replication & Group Policy
Certificate Services / PKI issuance
SaaS identity federation (Zoho)
→

adatum.local

Practice AD forest
Own project, own network

←
Why it's here
Rehearses real identity-integration work
TacticalRMM patch/monitoring practice
Isolated — no production directory touched

Multi-forest experience

Complements real M&A identity-integration work across acquisitions.

PKI hands-on

A subordinate CA most personal labs skip entirely.

Patch management

TacticalRMM mirrors real endpoint-management tooling.

Isolated by design

Its own Incus project — no path into the AI fleet's data.

Section 06
Network Topology
One host, five segmented bridges, and a deliberate no-NAT design on the primary fleet network.
Distinctive design choice
agent-net has no route to the internet
All outbound HTTP(S) from the fleet must go through a single forward proxy — nothing egresses silently
Bridge Subnet Role Internet
agent-net10.0.10.0/24Primary fleet fabric ("agent-net") — ~98 instancesNo — proxy-only egress via tinyproxy
lan10.0.1.0/24Real LAN, LAN VLAN — human + internet accessYes
gpu-net10.0.30.0/24Isolated GPU network — Ollama + its proxies onlyNo, by design
default-br10.0.40.0/24Default Incus bridge — Windows VMs, UniFiYes
k8s-net10.0.50.0/24k3s cluster — 3 masters, 3 workersYes
mgmt-br—Unmanaged, unused, undocumented — flagged for reviewUnknown
Section 07
Storage & Backup / DR
Two ZFS tiers split by latency need, plus a verified snapshot-and-offsite backup path.
TIER 1

raid10-incus (HDD)

4× drive, 2 mirrors6.96 TiBGeneral fleet
TIER 2

nvme-db-incus

2× Intel P4510MirrorLatency-critical DBs
DR

Backup node

17 databasesZFS dispatchQNAP offsite
~130×
Latency drop moving MongoDB off spinning disk
~21×
Latency drop for Postgres/MariaDB off the shared pool

Measured, not estimated

Same dd fsync test run on each pool. The HDD mirror was recently reseated and independently verified: all four drives SMART-passed and a full scrub completed with zero errors before this deck was refreshed.

Where this stands
Known Gaps & Open Decisions
Tracked openly in the project's own documentation rather than glossed over — this is what a reference build honestly looks like.
  • 1

    DB persistence. Several DB-backed containers still sit on plain container-root disk rather than decoupled named volumes — a rebuild would take the data with it.

  • 2

    GPU contention grew. Three consumers (Ollama, SwarmUI, a k3s Triton node) now share two physical GPUs, up from two — no load policy has been exercised yet.

  • 3

    mgmt-br is unexplained. An unmanaged, unused bridge with no documentation trail — flagged rather than ignored.

  • 4

    Flowise sits empty. The real agent-orchestration effort moved to a separate project instead — worth a deliberate decision on Flowise's future.

  • 5

    The AppSec stack is new. Semgrep/Trivy/Gitleaks/SonarQube/DefectDojo are deployed but haven't produced a real finding yet — this section will update once they have.

Why list these at all

Credibility over polish

A reference build with no listed gaps is less believable than one with a maintained, dated punch list.

Single-operator honesty

This matches the portfolio's own scope statement: reference-implementation evidence, not scale/production.

Living document

This list is generated from the project's own sandbox-overview.md and updated as items close.

One host, audited honestly.

From the Incus fleet layout to model governance, security scanning, and a dedicated identity-practice lab — one operator, one box, tracked openly rather than oversold.

7
Incus projects
~180
Containers / VMs
2
ZFS storage tiers
3
GPU consumers sharing 2 cards
agentic AI sandboxR&D Sandbox · Reference Deck
Thank you
Questions & discussion
← → or Space to navigate · F for fullscreen