stokes

contracts

any compiler. one invariant contract.

declarative boundary specifications across clickhouse sql, python etl pipelines, and rust edge proxies to prevent downstream buffer panics.

contracts/boundary_policy.yaml (active ast contract)
verified 200 signals
scope:all targets·clickhouse sql·python etl·rust l7 proxy
digest: e3b0c442...b855

# stokes declarative boundary contract specification

schema_version: "2026.09.25"

target_workspace: "dirichlet-l7-proxy"

max_canonical_features: 200

clickhouse targetmatch

schema: migrations/001_bot_signals.sql

query filter: AND database = currentDatabase()

signals: 200 canonical cols

shard replicas isolated (r0, r1)
python etl pipelinematch

service: services/feature-pipeline

taxonomy: 6 security domains (200 feats)

payload: payloads/features.json

extraction bounded to 200 items
rust l7 edge proxymatch

crate: crates/dirichlet-proxy

stack buffer: [Feature; 200]

bounds guard: Result<[Feature; 200], PayloadError>

hot path verified (0 b heap)
# mathematical invariant enforcement rule:
rules:
  - id: "INVARIANT_1_INFALLIBLE_INTAKE"
    assertion: "cardinality_risk_ratio = C_upstream / B_downstream <= 1.0"
    on_violation: "block_pr_merge_upstream"
    protection: "avoids 100% request error rate outages across edge nodes"
    heap_allocation_limit_bytes: 0
  - id: "INVARIANT_2_CATALOG_QUALIFICATION"
    assertion: "system.columns reflection query must declare database filter"
    on_violation: "flag_unscoped_reflection"
  - id: "INVARIANT_5_BOUNDARY_SINK_BOUNDS"
    assertion: "wire serialization sinks must declare explicit limit or slice clamp"
    on_violation: "reject_unbounded_payload"

cross-boundary blind spots

why modern compilers cannot protect cross-service boundaries.

in heterogeneous distributed systems, individual compilers operate in monolingual silos. sqlfluff verifies valid SQL DDL, mypy verifies Python dictionary packing, and rustc validates local borrow semantics. none of these compilers possess semantic visibility across service boundaries.

01

analytical schema expansion

an rbac update or migration alters ClickHouse reflection. an unqualified system.columns WHERE table LIKE 'events%' query matches across shard replicas (events_r0, events_r1), expanding emitted columns from 200 to 280 without SQL errors.

02

dynamic etl serialization

the Python extraction pipeline queries all columns dynamically. unrecognized columns are assigned priority = 0 and serialized into payloads/features.json. because the JSON syntax is valid, no pipeline alerts fire.

03

native stack panic

the Rust L7 edge proxy converts the 280-item slice into a fixed stack array [Feature; 200] via try_into().unwrap(). element 201 triggers a TryFromSliceError panic, crashing worker threads and blackholing global traffic.

04

stokes invariant shield

stokes traverses SQL, Python, and Rust ASTs concurrently prior to commits. it detects cardinality mismatches (280 / 200 = 1.40 > 1.0) and generates in-place zero-allocation degradation routines.

stokes audit --diff (cross-boundary mismatch)
drift detected: cardinality risk ratio = 1.40 (280 features > 200 buffer)

// services/feature-pipeline/catalog_sync.py

- query = "SELECT name, type FROM system.columns WHERE table LIKE 'events%'"

+ query = "SELECT name, type FROM system.columns WHERE database = currentDatabase() AND table = 'events'"

// crates/dirichlet-proxy/src/engine/feature_ingest.rs

- raw_features.into_boxed_slice().try_into().unwrap() // panic on #201

+ if raw_features.len() > 200 { return Err(PayloadError::CapacityExceeded); }

+ let features: [Feature; 200] = raw_features[..200].try_into()?;

stokes remediation patch result:

✓ transitive catalog qualification: database = currentDatabase() added

✓ defensive bounds check: zero panics on unhandled slice conversions

✓ heap allocation overhead: 0 bytes (l1 cache aligned)

[clickhouse_ast]

analytical metadata hygiene

enforces database = currentDatabase() predicates across ClickHouse analytical schemas, stopping shard replicas from contaminating pipelines.

[python_etl]

bounded ingestion assertions

audits dictionary comprehension loops and feature models in Python extraction daemons, asserting explicit capacity bounds.

[rust_l7]

defensive boundary contracts

replaces uncontracted try_into().unwrap() buffer conversions with verified capacity guards, eliminating thread panics and preventing 100% request error drops.

contracts faq

boundary rules & contract questions

details on cardinality risk ratios, diagnostic rules, and dual-zone memory partitioning.

what is the cardinality risk ratio?+
the cardinality risk ratio is the formal metric Risk = C_upstream / B_downstream. when Risk <= 1.0, the downstream buffer can safely ingest all emitted fields. when Risk > 1.0 (such as 280 / 200 = 1.40 in the Cloudflare outage benchmark), downstream fixed allocations will breach and panic.
what are rules LINT-001 through LINT-005?+
LINT-001 flags unscoped database catalog reflection (system.columns missing database filters); LINT-002 flags dynamic wire serialization sinks without slice bounds; LINT-003 detects unreserved protobuf field renumbering; LINT-004 identifies uncontracted .try_into().unwrap() buffer conversions; and LINT-005 flags heap allocations on microsecond packet intake paths.
how do Tree-sitter queries trace contracts without running the code?+
stokes compiles declarative Tree-sitter queries (.scm files) for ClickHouse SQL, Protobuf, Python, and Rust. it evaluates abstract syntax trees statically, mapping projection symbols in SQL directly to dictionary extraction loops and fixed buffer allocations in Rust.
how does stokes prevent silent data corruption?+
stokes rejects silent data shedding. instead of truncating or discarding dynamic records without schema consensus, stokes generates defensive bounds validation (Result<[Feature; 200], PayloadError>) and verifies database catalog qualification (AND database = currentDatabase()) so downstream services never ingest malformed or duplicated data.

ready to eliminate cross-boundary panics?

install stokes to run autonomous cross-compiler verification across ClickHouse, Python, and Rust in your pre-commit hooks and ci pipelines.