Changelog

Version history and release notes for the ECCA Stack v3 monorepo.

291
Unit Tests
9
Contracts
7
Packages
10
Services
3
Chains
Major Feature Fix Tests Docs Infra Contracts
2026-07-05
Axonal-BGP — Securing Inter-Domain Routing with Cognitive Identity
Major Contracts Tests Docs Infra

New paper and full working demo extending the ECCA cognitive identity stack to secure BGP routing. Autonomous agents sign route advertisements with ed25519, commit per-epoch RouteTableRoot hashes, and convert routing anomalies into on-chain evidence with economic accountability.

  • Research paperpaper/bgp/main.tex: 10-page LaTeX paper covering protocol specification, new smart contracts, routing residue catalogue, and experimental demo design.
  • ResidueToRoutingSwap contract — one-way RES → RTE conversion with EBC decay pricing (ρ₀=0.5, δ=5%/epoch, floor=10%), per-agent caps (50 RTE/epoch), global caps (5,000 RTE/epoch), oracle-pausable.
  • RouteOracle contract — guardian multisig (M-of-N) for human-in-the-loop intervention. Emergency-pause (1-of-N), auto-pause on residue rate spike or swap burst, resume requires M-of-N vote.
  • 16 new contract tests — full test coverage: swap pricing, decay, floor, caps, oracle pause, guardian emergency/resume, auto-pause heuristics, swap halt.
  • Deploy script extendedcontracts/scripts/deploy.ts now deploys ResidueToRoutingSwap + RouteOracle and wires minter rights + oracle authorization.
  • BGP agent servicetests/axonal-bgp/agent-bgp-router.js: lightweight HTTP service simulating a BGP speaker with signed advertisements, route tables, attack injection, and pause state.
  • Orchestrator — drives 4 ASes through 50 epochs with 6 scenarios: origin hijack (E10), MOAS conflict (E20), bad-signature flood (E30), auto-pause (E35), guardian intervention (E40), resume (E45).
  • K8s manifeststests/axonal-bgp/k8s/: namespace, Cortex EVM dev chain, contracts deployer Job, 4 agent Deployments+Services, orchestrator Job.
  • Terraform moduletests/axonal-bgp/terraform/: k3d cluster, image builds, k3d import, manifest apply, orchestrator launch — mirroring the Playfair pattern.
  • GitHub Actions.github/workflows/axonal-bgp.yml: nightly @ 04:00 UTC, on push, workflow_dispatch with epoch override. Publishes report to GitHub Pages.
  • Documentationdocs/axonal-bgp.html: full cyberpunk-styled page with contract details, residue catalogue, simulation timeline, run instructions, and EBC pricing formula.
2026-05-09 618eac8
Playfair — Reproducible from-scratch run via Terraform, CI workflow, polished HTML report
Infra Tests Fix

Re-architected the Playfair test for full reproducibility. The 9-phase bash script is now a thin wrapper around a Terraform module that declares every state transition (cluster, image builds, image imports, latency injection, manifests, orchestrator, results) as a tracked resource with content-hashed triggers.

  • Terraform moduletests/playfair/terraform/ manages 25 resources via null_resource + local-exec. Idempotent re-runs only re-execute the resources whose source-tree SHA-256 changed; terraform destroy tears down the entire cluster + tc netem state cleanly.
  • GitHub Actions workflow.github/workflows/playfair.yml: nightly @ 03:00 UTC, on push to main, and workflow_dispatch with epoch + latency overrides. Builds all images on the runner, applies Terraform against a local k3d cluster, uploads the report as an artifact, and (on main) commits the rendered HTML back so it's published via Pages.
  • Documentation page — new /playfair.html with full what / why / when / produces / represents / means / how conditions vary walkthrough, plus tuning + debugging table.
  • Polished reportgenerate-playfair-report.js rewritten with inline SVG charts (stacked area timeline of perceives/stores/routes/syncs, per-agent activity sparklines, per-region token-usage bars), a "runtime config" panel with commit/runner/branch metadata, and an embedded "how to read" explainer.
  • Bug fixes baked in: (1) Prisma engine resolution failure on Alpine arm64 — PRISMA_QUERY_ENGINE_LIBRARY hard-pinned in 03-services.yaml; (2) thalamus-router crash from sharing one NATS JetStream consumer across 3 regions — consumer names now scoped by ECCA_REGION; (3) k3d image import deadlock under concurrent Terraform workers — imports serialised in a single shell loop; (4) empty playfair-results.json when the orchestrator pod terminated before kubectl cp — fallback extracts JSON between the ═══ RESULTS JSON ═══ marker and the next banner so the trailing summary doesn't corrupt parsing; (5) Node 24 ESM/CJS clash — tests/playfair/package.json now declares "type": "commonjs" overriding the parent tests/package.json so the host-side report generator runs.
  • Run modes: ./tests/playfair/run.sh (full), --skip-images (reuse cached), --epochs N, --skip-latency, --destroy, --plan.
  • Verified runs (against 618eac8 on macOS aarch64 / Docker Desktop / k3d v5.8.3):
    • Run A — 2026-05-09T13:36:25Z → 13:37:17Z (orchestrator 56s, terraform apply ≈ 8 min from-scratch): 50 epochs, 6 agents, 3 regions, 152 perceptions / 43 stores / 31 routes, 1 residue (resolved), 31 cross-region migrations, 9 scripted scenarios, verdict FAIR on every epoch.
    • Run B — 2026-05-09T13:47:13Z → 13:48:05Z (orchestrator 51.7s, full re-run with rebuilt orchestrator image): 50 epochs, 152 perceptions / 49 stores / 33 routes / 24 syncs, 1 residue (resolved), 33 migrations, verdict FAIR on every epoch (unfairEpochs: []).
    • Both runs produced a 60 KB self-contained HTML report (8 inline SVG charts) and a 113 KB results JSON; terraform destroy -auto-approve tore the cluster down cleanly between runs.

See the latest run at /playfair-report.html and the docs at /playfair.html.

2026-05-09 a3b33b6
Playfair — 3-Region Tripartite Game Test Infrastructure
Infra Tests Feature

Complete Kubernetes-based test harness that runs 6 agents across 3 regions with asymmetric resource profiles, proving the variable-bitrate thesis from the dev blog in actual multi-node infrastructure.

  • 3-region K8s cluster — k3d with labeled agent nodes: region-storage (cheap storage, throttled compute), region-compute (cheap compute, throttled storage), region-bandwidth (cheap bandwidth, both others throttled). Each region deploys its own medulla-pow, hippocampus-dag, and cortex-evm with tuned resource limits and ECCA_DIFFICULTY settings
  • Shared infrastructure — Postgres 16, Redis 7, NATS 2.10 (JetStream), MinIO in a shared namespace; all regions reference via cross-namespace DNS
  • 6 specialized agents — Archivist-Alpha/Beta (memory/human sleeves in storage), Inference-Prime/Echo (AI sleeves in compute), Router-Nexus/Sentinel (mining/memory sleeves in bandwidth). Each has unique CPV coefficients, tick rates, and behavioral profiles
  • 9 scripted scenario events — spot-preemption at epoch 5, respawn in different region at epoch 8, needlecast back at epoch 15, drift-spike/sync-recovery at epochs 20/25, shard-loss residue injection at epoch 30, cross-region needlecast at epoch 35, epoch-surge stress test at epoch 40, return migration at epoch 45
  • Orchestratororchestrator.js: Node.js game engine running 50 epochs with per-agent perceive/store/route/sync actions at variable rates, fairness auditing every epoch, token usage tracking (compute/storage/bandwidth), and full results JSON output
  • Report generatorgenerate-playfair-report.js produces playfair-report.html in the cyberpunk neon theme with region comparison cards, agent stat cards with token usage/drift/CPV, ASCII epoch timeline sparklines, needlecast flow log, scenario event timeline, and fairness verdict banner
  • Master runner — 9-phase run.sh (cluster → build → shared infra → regions → contracts → services → game → results → cleanup) with --skip-cluster, --skip-build, --epochs N flags
  • Docker imagesDockerfile.orchestrator (node:20-alpine), Dockerfile.service (generic TS service with SERVICE build arg)
  • Contract deployer — K8s Job that waits for cortex-evm RPC availability, then runs npx hardhat run scripts/deploy.ts --network cortex

Run: pnpm test:playfair or ./tests/playfair/run.sh --epochs 20

2026-05-09 ed71a6a
Playfair — TripartiteGame, Unit Tests, HTML Reports
Major Feature Tests Contracts

Major milestone: full unit test coverage across all packages and contracts, with cyberpunk-themed HTML reporting.

  • TripartiteGame contract — new Solidity contract implementing tripartite resource games (Compute, Storage, Bandwidth) with open/register/consume/audit lifecycle, Nash equilibrium verification, and EpochAnchor integration
  • EpochAnchor enhancements — added verifyContinuity() for sequential epoch validation and verifyShardInclusion() for Merkle shard proofs; integrated pin lease system
  • Unit test suites — 275 tests across 6 suites:
    • @ecca/proto — 35 tests: token taxonomy, event schemas, zod validators, ECCA constants
    • @ecca/crypto — 53 tests: SHA-256, HKDF, AES-GCM, Ed25519, Merkle trees, MMR, coherence roots
    • @ecca/chain — 25 tests: cortex chain config, 7 contract ABIs, client wrappers
    • @ecca/service-base — 10 tests: Fastify bootstrap, health probes, CORS, shutdown
    • @ecca/semantic-address — 17 tests: 5-facet grammar, prefix queries, address book
    • Contracts — 135 tests: all 7 Solidity contracts including TripartiteGame
  • HTML report systemrun-unit-tests.sh master runner with --packages/--contracts flags; scripts/generate-test-report.js produces unit-test-report.html in the cyberpunk neon theme with per-suite WHAT/HOW/WHY/WHEN/WHERE detail boxes, service dependency tags, individual test results, and lifecycle grid
  • Hippocampus DAG — added pin lease support with epoch-gated automatic expiry
  • Docs nav — unit test report linked across all doc pages; cross-link from e2e-report
2026-05-08 1571ad9 — f0c6105
E2E Test Runner & Documentation Overhaul
Tests Docs
  • E2E test suite — comprehensive end-to-end tests covering the full coherence cycle: stack creation → sleeve spawning → perceive → recall → needlecast → epoch → residue → cleanup
  • E2E HTML reporte2e-report.html with cyberpunk neon theme, collapsible phases, stats bar, lifecycle grid
  • Test runner improvements: better descriptions, verbose outputs, macOS compatibility fixes
2026-05-08 0e4171a — 3572ea2
Service Renames & Build Fixes
Fix Docs
  • Renamed synapse-apisiyana-api across all services, imports, and documentation
  • Fixed character encoding corruption in source files
  • Expanded documentation: architecture, coherence root, token economy, security model, and 15+ additional doc pages
2026-05-07 0c7bb83 — d39cca9
Discord Bot, Marketing Site & Paper
Feature Docs Infra
  • ECCA Discord bot — automated channel/thread creation for community coordination
  • Marketing sitedocs/index.html with full responsive design, architecture diagrams, feature showcases
  • Academic paper — LaTeX paper with SSML audio description for accessibility
  • Tokenomics pageinteractive token economy visualization
  • Added Discord and donate links to site navigation
2026-05-06 91d9d0c
Semantic Addressing Package
Feature
  • @ecca/semantic-address — new package implementing hierarchical content-derived addressing with a 5-facet grammar (domain › entity › relation › temporal › qualifier)
  • Deterministic normalization and 32-byte address derivation for DAG routing
  • Partial prefix matching, address book with prefix queries, NLP description parser
  • 17 unit tests covering all grammar facets, derivation invariants, and book operations
2026-05-05 51adf1a — 1cf8d16
Services, Contract Tests & Full Build
Major Contracts Tests
  • All 10 TypeScript services — siyana-api, thalamus-router, dhf-compositor, needlecast-router-svc, quellist-treasury-svc, bandwidth-faucet, sleeve-runtime, agent-runtime, ecca-bot, workers/runner
  • 7 Solidity contract test suites — StackIdentity, BandwidthToken, EpochAnchor, ResidueRegistry, NeedlecastRouter, QuellistTreasury, SleeveRegistry (135 tests)
  • Full pnpm build passing across all packages and services via turborepo
  • Added MIT license
2026-05-05 791e5f5 — 394d3c4
Build Error Resolution & Monorepo Setup
Fix Infra
  • Resolved all build errors across TypeScript packages, services, workers, and Go forks
  • Fixed Prisma schema field mismatches (Anchor, Residue, Epoch, AuditLog models)
  • Fixed @ecca/proto export mismatches — added standalone re-exports for EPOCH_INTERVAL_MS, DRIFT_MAX_DEFAULT, etc.
  • Fixed @ecca/crypto type mismatches — hex encoding for coherenceRoot() callers
  • Monorepo structure: pnpm workspace, turborepo, Docker Compose (24 services), Helm chart stubs
2026-05-04 aa27a46
Initial Monorepo — ECCA Stack v3
Major Infra Contracts
  • Initial commit — full monorepo structure with 7 TypeScript packages, 10 services, 3 Go chain forks, 7 Solidity contracts
  • Packages: @ecca/proto, @ecca/crypto, @ecca/bus, @ecca/db, @ecca/chain, @ecca/service-base
  • Chains: medulla-pow-go (PoW), hippocampus-dag-go (DAG storage), cortex-evm-go (geth PoA)
  • Contracts: StackIdentity, BandwidthToken, EpochAnchor, ResidueRegistry, NeedlecastRouter, QuellistTreasury, SleeveRegistry
  • Docker Compose with 24 services, YAML anchors, networking, volume mounts
  • Deploy: Prometheus, Loki, Grafana observability stack; Helm chart stubs