Skip to content

By The Numbers

Tomas Pflanzer edited this page Feb 27, 2026 · 1 revision

By The Numbers

Comprehensive statistics for the Sandcastle project as of v0.17.0.

Codebase

Metric Count
Total lines of code ~89,000
Python backend 31,250 lines
TypeScript dashboard 29,657 lines
JavaScript (connectors + runners) 6,859 lines
Test code 21,079 lines

Files

Type Count
Python source files 46
TypeScript/TSX files 117
JavaScript connector files 58
Test files 57
YAML template files 118 (built-in)
Total source files 396

Largest modules

File Lines Purpose
routes.py 5,698 API endpoints
executor.py 4,754 Workflow execution engine
registry.py 3,168 Tool registry
__main__.py 3,046 CLI commands
pdf.py 1,257 PDF report generation
sdk.py 1,226 Python SDK
dag.py 1,211 DAG builder
backends.py 813 Sandbox backends
schemas.py 789 API schemas
memory.py 727 Agent memory
generator.py 718 Workflow generator
sandshore.py 701 Sandbox runtime

Testing

Metric Count
Test functions 1,463
Test files 57
Test LOC 21,079
Test areas 40+ distinct systems

Test coverage areas

  • Core API, authentication, authorization
  • All 15 step types
  • All 4 sandbox backends
  • DAG building and validation
  • Workflow executor (4 dedicated test files)
  • Agent memory (3 test files)
  • Tools system (6 test files)
  • Security: crypto, key rotation, IP allowlists, seccomp, rate limiting, security headers
  • Protocols: A2A, AG-UI, MCP
  • License system, policy engine, cost optimizer
  • SDK, CLI, webhook dispatcher
  • Performance benchmarks, tenant isolation

Features

Feature Count
Step types 15
Connectors 56 (9 categories)
Built-in templates 118
Community templates 118 (22 authors)
Total workflow templates 236
Community collections 18
API endpoints 84
Dashboard pages 20
CLI commands 27 (top-level)
Sandbox backends 4
Model providers 7 models / 4 providers
Protocols 3 (A2A, AG-UI, MCP)

Connectors by category

Category Count
General 10
Data 9
Communication 9
AI 8
Project Management 5
ERP 5
DevOps 4
CRM 3
Payments 2

API endpoints by method

Method Count
GET 44
POST 27
DELETE 8
PUT 3
PATCH 2
Total 84

Templates by category (built-in)

Category Count
Marketing 26
Engineering 22
Sales 22
Operations 20
HR/Legal 16
General 12
Total 118

Community hub

Metric Count
Community templates 118
Unique authors 22
Curated collections 18
General AI templates 29
Marketing templates 25
Engineering templates 24
Sales/CRM templates 17
HR/Legal templates 13
Support templates 10

Security features

Feature Implementation
Credential encryption Fernet (AES-128-CBC + HMAC-SHA256)
API key hashing HMAC-SHA256 with pepper
Key rotation Grace period (configurable hours)
Key expiry Per-key with auto-401
IP allowlisting Per-key, IPv4 + IPv6, CIDR
Rate limiting Sliding window, Redis or in-memory
Security headers CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy
Docker isolation seccomp profile, CapDrop ALL, PidsLimit, CPU quota
License verification Ed25519 offline signature
SSRF prevention URL validation on HTTP steps
Path traversal protection Runner file validation

Version history highlights

Version Milestone
0.1.0 Initial release - basic executor, 7 step types
0.5.0 Dashboard, template gallery, visual builder
0.8.0 Phase 2 step types (race, sensor, gate)
0.10.0 53 connectors, community hub
0.12.0 Agent memory v2, policy engine
0.14.0 Security hardening (crypto, seccomp, rate limiting)
0.15.0 A2A + AG-UI protocols, MCP server
0.16.0 Phase 3 step types (transform, notify, delegate)
0.17.0 License system, 56 connectors, 118 templates

One-line summary

~89,000 lines of code, 1,463 tests, 236 templates, 56 connectors, 84 API endpoints, 20 dashboard pages, 27 CLI commands, 15 step types, 4 sandbox backends, 3 protocol standards - all from a single pip install.

Clone this wiki locally