Repository navigation
ContextOS 0.1.0-alpha.15
Pre-releaseContextOS 0.1.0-alpha.15
The fifteenth alpha of ContextOS. It is about running the gateway in production:
serving TLS and mutual TLS without a proxy, failing over between provider replicas
without ever repeating an effect, tracing and logging every governed call, and
hardening the MCP endpoint.
What changed since 0.1.0-alpha.14
Serving
[server.tls]serves HTTPS without a terminating proxy, with HTTP/2 by ALPN.
client_ca_pathrequires client certificates (mutual TLS), so only workloads
holding one, such as SPIFFE X.509 SVIDs, can connect. Rotated certificate files are
picked up without a restart; a rotation that fails to load keeps the previous
certificate.--check-configloads the files.- The MCP endpoint refuses browser origins other than
public_url's and
[server] allowed_origins(403 origin_not_allowed), so a web page cannot reach it
through DNS rebinding. Callers that send noOriginare unaffected. contextosd --mcp-stdio <url>connects MCP hosts that only launch local (stdio)
servers to a run's MCP endpoint, with the token inCONTEXTOS_TOKENand the
executor generation inCONTEXTOS_EXECUTOR_GENERATION.
Providers
[[adapters]] fallback_endpointslists replicas of a provider. A call moves to the
next endpoint only when its request never left, or, for read-only capabilities,
after a lost response or a 502/503/504. An effect that may have been delivered is
never sent again. Three consecutive failures eject an endpoint for 30 seconds,
backing off to five minutes, and ejected endpoints are tried last.- GUIDE.md now lists what happens when each dependency fails. Decision services fail
closed with a reason code that names them; there is no fail-open switch.
Observability
- Every governed call, through the server or embedded, runs in one
contextos.dispatchspan, exported asexecute_tool <capability>with the
OpenTelemetry GenAI attributes (gen_ai.operation.name,gen_ai.tool.name,
gen_ai.tool.call.id), the outcome, the stage the pipeline stopped in
(contextos.stage), each stage's duration (contextos.stages) anderror.typeon
a refusal. Before this release, calls through the server had no span at all. - An access log: one JSON line per governed call on target
contextos::access, on by
default atinfo.RUST_LOG=info,contextos::access=offturns it off.
Configuration
- docs/CONFIG.md lists every configuration key with its type, default
and meaning, and docs/METRICS.md every metric. Both are generated
from the code and checked by a test. contextosd --config-schemaprints the configuration's JSON Schema, committed as
deploy/contextosd-config.schema.json. The example configuration names it in a
#:schemacomment, so TOML editors complete and check keys.
Supply chain
- The container image is published for
linux/amd64andlinux/arm64under one tag.
Each architecture is built natively and smoke-tested before the index is tagged,
signed and attested. - Coverage-guided fuzz targets for the kernel's entry points, JsonLogic, canonical JSON
and upstream MCP responses run weekly and on changes to that code. - Every GitHub Action is pinned to a commit SHA.
The changelog
lists every change.
Upgrading from 0.1.0-alpha.14
- MCP clients must send a supported
MCP-Protocol-Version, or none. An
unsupported version is now refused with400instead of being ignored. A JSON-RPC
request without anidis refused with400; onlynotifications/*may omit it. - Browser-based MCP clients on an origin other than
public_url's must be listed
in[server] allowed_origins. - Trace queries on
contextos.continuestop matching. A continuation is now a
contextos.dispatchspan withcontextos.continuation = true. - Log volume grows by one line per governed call (the access log). Set
RUST_LOG=info,contextos::access=offto keep the previous volume. - No configuration key, API or storage format is removed. TLS and fallback endpoints
are off until configured.
Downloads
| Platform | Archive | Checksum |
|---|---|---|
| Linux x86-64, glibc 2.28+ (tested on AlmaLinux 8 and Ubuntu 24.04) | Download | SHA-256 |
| Linux ARM64, glibc 2.28+ (tested on AlmaLinux 8 and Ubuntu 24.04) | Download | SHA-256 |
| macOS Apple Silicon | Download | SHA-256 |
Archives need Python 3.9+, Bash and curl. Verify an archive's checksum and provenance
as in the alpha.12 notes,
with v0.1.0-alpha.15 as the tag. The container image is
ghcr.io/contextosai/contextosd:0.1.0-alpha.15 for linux/amd64 and linux/arm64,
signed and with build provenance. The clients are pip install --pre contextos-client
and npm install contextos-client.
The alpha limits in the alpha.12 notes apply unchanged. There is no support SLA.
Report vulnerabilities privately to security@contextosai.com.
Code is Apache-2.0; prose is CC BY 4.0.