Skip to main content

voidnxlabs β€” AI Infrastructure & Security Engineering

Boutique engineering firm specializing in AI infrastructure, security systems, and DevOps. Cloud-agnostic. On-prem or multi-cloud. We design, build, and operate production-grade intelligent infrastructure.

Maintainer: kernelcore License: MIT / Apache-2.0 (per project) GitHub: github.com/VoidNxSEC


πŸ—‚οΈ Project Catalog​

ProjectLangPurposePortNix OutputStatus
spectreRustEvent bus (NATS backbone)4222spectre#spectre-proxyProd
owasakaGoNetwork SIEM + asset discovery8080owasaka#owasakaProd
phantomPythonDocument intelligence + RAG8008phantom#phantom-apiProd
phantom-soc/controlRust/GTK4SOC dashboardβ€”phantom-soc#control-planeBeta
phantom-soc/dataPythonNATS event consumerβ€”β€”Beta
phantom-soc-kernelRustSOC backend kernelβ€”β€”Beta
ai-agent-osRustSystem monitoring agentβ€”ai-agent-os#ai-agentBeta
neolandRustAI assistant TUIβ€”neoland#neolandBeta
spooknixPythonPrivacy-first STT8000β€”Beta
cerebroPythonKnowledge extraction + RAGβ€”cerebro#cerebroBeta
securellm-bridgeRustZero-trust LLM proxy8081securellm-bridge#bridgeProd
securellm-mcpTSMCP server for IDEsβ€”securellm-mcp#mcpProd
neotronSolidity/PyCompliance engine7233β€”Alpha
cortex-desktopTS/RustTauri desktop UI1420β€”Beta
intelagentRustAutonomous agent frameworkβ€”β€”Beta
ml-ops-apiPythonRemote GPU inference bridgeβ€”β€”Beta
sentinelPythonIntegration test orchestratorβ€”β€”Beta
spider-nixPythonNix dependency analysisβ€”β€”Beta
adr-ledgerβ€”Architecture decisionsβ€”β€”Active

Projects in ~/arch (not in compose/CI yet)​

swissknife, matrix, chainscope, astrix, actions-tv, algo-dev, phishyx, low_level, portfolio


πŸ—οΈ Architecture​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ NATS 4222 β”‚ ← Spectre event bus
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ β”‚ β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
β”‚ owasaka β”‚ β”‚ ai-agent-os β”‚ β”‚ phantom-soc β”‚
β”‚ (Go) β”‚ β”‚ (Rust) β”‚ β”‚ data-plane β”‚
β”‚ network.* β”‚ β”‚ system.* β”‚ β”‚ (Python) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
β”‚ phantom-soc β”‚
β”‚ control-pln β”‚
β”‚ (GTK4 UI) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ phantom β”‚ β”‚ cerebro β”‚ β”‚ spooknix β”‚
β”‚ (FastAPI) │◄── (knowledge) β”‚ β”‚ (Whisper) β”‚
β”‚ :8008 β”‚ β”‚ ingest.* β”‚ β”‚ :8000 β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ cortex β”‚ β”‚ securellm β”‚ β”‚ securellm β”‚
β”‚ desktop β”‚ β”‚ bridge β”‚ β”‚ mcp β”‚
β”‚ (Tauri+Sv5) β”‚ β”‚ (Rust) β”‚ β”‚ (TS) β”‚
β”‚ :1420 β”‚ β”‚ :8081 β”‚ β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ sentinel (this repo) β”‚
β”‚ Integration test orchestrator β”‚
β”‚ scenarios/ Β· chaos/ Β· performance/ Β· packaging/ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Development Rules​

  1. Nix-first: All commands via nix develop --command <tool>. No global installs.
  2. Build before commit: Every change must pass cargo build / go build ./... / python -c "import phantom".
  3. Sequential delivery: Work one project at a time, following dependency order.
  4. Real services for tests: Integration tests use docker compose up -d, never mocks for external deps.
  5. Spectre schema: All inter-service events use {domain}.{entity}.{action}.v{version} subjects.
  6. No dead code: If you remove a feature, delete the code. No // removed comments, no _unused vars.
  7. Minimal changes: Don't refactor surrounding code when fixing a bug. Don't add features that weren't asked for.

πŸ”Œ Port Registry​

PortServiceProtocolNotes
4222NATS clientTCPSpectre event bus
8222NATS monitoringHTTPJetStream stats
6222NATS clusterTCPInternal routing
8008phantom-apiHTTPFastAPI REST
8000spooknixHTTPWhisper STT
8080owasakaHTTPSIEM REST API
8081securellm-bridgeHTTPZero-trust LLM proxy
1420cortex-desktopHTTPTauri dev server
5432TimescaleDBTCPObservability DB
9090PrometheusHTTPMetrics
3001GrafanaHTTPDashboards
7474Neo4j HTTPHTTPGraph DB browser
7687Neo4j BoltTCPGraph DB driver
16686JaegerHTTPTracing UI

πŸ“‘ Spectre Event Registry​

All events follow the {domain}.{entity}.{action}.v{version} subject schema. Source: spectre/crates/spectre-events/src/event.rs

SubjectSourceConsumer
network.asset.discovered.v1owasakaphantom-soc data-plane
network.dns.query.v1owasakaphantom-soc data-plane
network.dns.threat.v1owasakaβ€”
network.service.detected.v1owasakaβ€”
network.topology.updated.v1owasakaβ€”
system.metrics.v1ai-agent-osphantom-soc data-plane
ingest.file.created.v1phantomβ€”
ingest.file.sanitized.v1phantomcerebro
cognition.query.received.v1cerebroβ€”
cognition.insight.generated.v1cerebrophantom (RAG index)
llm.request.v1securellm-bridgespectre
llm.response.v1securellm-bridgespectre
analysis.request.v1phantomspectre
analysis.response.v1phantomspectre

πŸš€ Quick Start​

# 1. Clone
git clone git@github.com:VoidNxSEC/master.git && cd master

# 2. Boot core services (NATS + phantom-api + owasaka + ai-agent-os)
docker compose --profile core up -d

# 3. Boot with intelligence tier (+ cerebro + securellm-bridge)
docker compose --profile core --profile intelligence up -d

# 4. Verify
curl localhost:8008/health # β†’ {"status": "operational"}
curl localhost:8222/healthz # β†’ (NATS ok)

# 5. Enter any project shell
cd spectre && nix develop # Rust + cargo + clippy
cd phantom && nix develop # Python + pytest + ruff
cd owasaka && nix develop # Go + golangci-lint

# 6. Run project tests
nix develop --command cargo test # Rust projects
nix develop --command go test ./... # Go projects
nix develop --command pytest # Python projects

# 7. Run integration tests (from sentinel/)
cd sentinel
poetry install -E nats
poetry run pytest scenarios/ -m e2e -v
poetry run pytest chaos/ -m chaos -v
poetry run pytest performance/ -m performance -v

Compose Profiles​

ProfileServicesUse case
corenats, phantom-api, owasaka, ai-agent-osDaily dev
intelligence+ cerebro, securellm-bridgeRAG + LLM work
gpu+ spooknix (CUDA)STT / transcription
observability+ prometheus, grafana, jaegerMetrics work
compliance+ neotron (temporal + postgres)Compliance work
fullall of the aboveFull integration tests

Makefile Targets​

make dev # Boot core services
make down # Stop all services
make smoke-test # Validate all services are healthy
make build-all # Build spectre + owasaka + phantom
make clean # Remove all containers and volumes
make help # Show all targets

πŸ” Environment Variables​

# NATS (required for event bus)
NATS_URL=nats://localhost:4222

# Phantom API
PHANTOM_PORT=8008

# SecureLLM Bridge
SECURELLM_PORT=8081

# Spooknix (optional, GPU)
MODEL_SIZE=large-v3
CUDA_VISIBLE_DEVICES=0
HF_TOKEN= # Required for diarization (pyannote)

# Observability (optional)
POSTGRES_PASSWORD= # TimescaleDB
NEO4J_PASSWORD= # Graph DB
GRAFANA_PASSWORD= # Dashboards

# LLM (optional)
DEEPSEEK_API_KEY=
ANTHROPIC_API_KEY=
OPENAI_API_KEY=

See ~/master/.env.example for the full consolidated list.


πŸ§ͺ Testing Strategy​

LanguageRunnerCommandCI Enforcement
Rustcargo testnix develop --command cargo testclippy -D warnings + fmt
Gogo testnix develop --command go test -race ./...golangci-lint
Pythonpytestnix develop --command pytestruff + mypy + 70% coverage
TypeScriptvitest/bunbun run testeslint + tsc

Test Principles​

  • Unit tests live next to source code or in tests/ directories
  • Integration tests require docker compose up -d for real services
  • Never mock NATS, databases, or external services in integration tests
  • Coverage minimums: Python 70%, Rust (clippy clean), Go (race detector clean)

Sentinel Test Suite Structure​

sentinel/
β”œβ”€β”€ scenarios/ # E2E service flow tests (require --profile core up)
β”‚ β”œβ”€β”€ test_spectre_e2e.py # owasaka/ai-agent-os β†’ NATS event validation
β”‚ β”œβ”€β”€ test_phantom_e2e.py # upload β†’ index β†’ search β†’ chat pipeline
β”‚ β”œβ”€β”€ test_ai_agent_e2e.py # system.metrics.v1 schema + continuity
β”‚ └── test_securellm_e2e.py # bridge health + LLM proxy flow
β”œβ”€β”€ chaos/ # Failure injection (require --profile core up)
β”‚ β”œβ”€β”€ test_nats_reconnect.py # kill NATS, verify services survive + reconnect
β”‚ β”œβ”€β”€ test_partial_boot.py # core only β€” intelligence services gracefully absent
β”‚ └── test_phantom_degraded.py
β”œβ”€β”€ performance/ # SLO validation (require --profile core up)
β”‚ β”œβ”€β”€ test_phantom_latency.py # P99 < 500ms
β”‚ β”œβ”€β”€ test_throughput.py # β‰₯20 req/s sustained
β”‚ └── test_spooknix_latency.py
β”œβ”€β”€ fixtures/bundles/ # Test data (thermal, multi-alert, memory, normal)
β”œβ”€β”€ mocks/ # Mock agents for offline testing
β”œβ”€β”€ packaging/ # Distribution build scripts
β”‚ β”œβ”€β”€ nix/ # NixOS module
β”‚ β”œβ”€β”€ deb/ # Debian/Ubuntu .deb
β”‚ β”œβ”€β”€ rpm/ # RHEL/Fedora .rpm
β”‚ β”œβ”€β”€ macos/ # Homebrew formula + universal binary
β”‚ └── windows/ # .msi + winget manifest
└── conftest.py # Fixtures: phantom_api_client, nats_client, owasaka_client, etc.

Pytest Markers​

MarkerMeaningRun with
e2eCross-service flow-m e2e
chaosFailure injection-m chaos
performanceSLO measurement-m performance
complianceRegulatory checks-m compliance
slow>10s expected-m "not slow" to skip

πŸ“ Key File Locations​

WhatWhere
Unified compose (all profiles)~/master/docker-compose.yml
Env template (consolidated)~/master/.env.example
Test compose (sentinel only)sentinel/docker-compose.test.yml
Smoke test scriptsentinel/scripts/smoke-test.sh
Integration test suitesentinel/scenarios/, sentinel/chaos/, sentinel/performance/
Packaging scriptssentinel/packaging/
CI β€” per-project build matrixsentinel/.github/workflows/ci.yml
CI β€” integration testssentinel/.github/workflows/integration-tests.yml
CI β€” release pipelinesentinel/.github/workflows/release.yml
PR template~/master/.github/pull_request_template.md
ADR ledger~/master/adr-ledger/
Event definitions~/master/spectre/crates/spectre-events/src/event.rs

πŸ”§ Project-Specific Dev Guides​

Each project has its own CLAUDE.md with detailed architecture, testing, and development instructions:

  • phantom/CLAUDE.md β€” FastAPI, CORTEX engine, RAG pipeline
  • cerebro/CLAUDE.md β€” Knowledge extraction, GCP integration
  • securellm-bridge/CLAUDE.md β€” LLM proxy, security architecture

🏷️ Brand​

Name: voidnxlabs β€” lowercase, no spaces, no hyphens GitHub org: VoidNxSEC Tagline: "Sovereign Intelligence for NixOS" Author field: voidnxlabs <dev@voidnxlabs.io> (all manifests) Prefix convention: spectre-* (event bus), phantom-* (ML/intelligence), securellm-* (LLM security)