ai-memory v0.9.0

v0.7.0 — DigitalOcean scaled-down T4 swarm campaign (2026-06-02)

Operator directive (2026-06-02): “do something similar to the [T4] reference architecture but scaled down significantly — simulating swarm architecture and swarm testing.” AI NHI autonomous, $75 hard DO budget cap, native droplets (no Docker), swarm (not hive). This is the audit-trail evidence per the prime directive (discovery → tracker → fix → retest → close) for the live multi-node federation campaign behind EPIC #1461.

Reference contract: docs/architectures-t4.html (data-center swarm — peer mesh, W-of-N quorum writes, mTLS fingerprint allowlist, federated governance plane, optional Postgres backbone).

1. Baseline test environment

Field Value
Cloud DigitalOcean, region nyc3, VPC 10.108.0.0/24
OS (all nodes) Ubuntu 24.04 LTS x64 (ubuntu-24-04-x64)
Toolchain rustc 1.96.0 (ac68faa20 2026-05-25) (native build on the 8 GB node)
Binary ai-memory v0.7.0, branch release/v0.7.0 @ ff8caac8, built --release --features sal-postgres (amd64), scp’d to peers
Schema version v54 (CURRENT_SCHEMA_VERSION)
Quorum N=3, W=2, --quorum-timeout-ms 2000, --catchup-interval-secs 15
mTLS ed25519 private CA; per-peer ed25519 leaf certs (SAN = private+public IP); allowlist = SHA-256(leaf DER), one per line
Postgres backbone PostgreSQL 16 + Apache AGE 1.5.0 + pgvector 0.8.2 (native apt/source install, no Docker)
Budget $75 cap; actual burn tracked below

Node inventory

Role Name Size vCPU/RAM Public IP Private IP
PG/AGE + build host amx-pg s-4vcpu-8gb 4 / 8 GB 143.198.14.248 10.108.0.2
Quorum peer amx-peer-1 s-2vcpu-4gb 2 / 4 GB 104.131.186.185 10.108.0.3
Quorum peer amx-peer-2 s-2vcpu-4gb 2 / 4 GB 159.203.82.155 10.108.0.5
Quorum peer amx-peer-3 s-2vcpu-4gb 2 / 4 GB 45.55.35.52 10.108.0.4

Cost: 1× s-4vcpu-8gb ($0.0714/hr) + 3× s-2vcpu-4gb ($0.0357/hr) ≈ $0.18/hr — a multi-hour campaign is a few dollars, far under the $75 cap. All droplets tagged ai-memory-swarm; torn down at campaign end.

2. Scenarios (T4 contract)

# Scenario Expectation Result
S1 Quorum-write success (W=2, all peers up) 201, local commit + ≥1 peer ack PASS
S2 Quorum not met (partition majority) 503 quorum_not_met when acks < W−1 PASS
S3 mTLS allowlist rejection non-allowlisted client cert refused at handshake PASS
S4 Post-partition convergence write made while a peer is down converges on rejoin PASS
S5 Postgres + Apache AGE backend --store-url postgres://… boots, migrates to v54, CRUD + AGE Cypher PASS

Evidence per scenario

3. Findings

Zero defects. All five scenarios passed against the live release/v0.7.0 binary. No banned-phrase deferrals; nothing to file. Two items were initially mistaken for failures and resolved as test methodology / documented scope (S1 scope-visibility, S5 Wave-3 501), not product bugs. The campaign also served as a live regression check on #1466 (TTL backfill confirmed on both the federated SQLite write path and the postgres CRUD path).

4. Verdict

The scaled-down T4 swarm is GREEN — peer-mesh quorum writes, quorum shortfall semantics, mTLS fingerprint-allowlist identity gating, post-partition convergence, and the Postgres + Apache AGE backbone all behave to the T4 contract on native DigitalOcean droplets (no Docker). Total spend ≈ $0.18 (≈1 droplet-hour × 4 nodes), far under the $75 cap. Droplets torn down at campaign close (see teardown record).