Repository navigation
ContextOS 0.1.0-alpha.17
Pre-releaseContextOS 0.1.0-alpha.17
The seventeenth alpha of ContextOS. It adds runtime controls the 2025–26 research on
securing agents ranks highest and a gateway can enforce on its own: information-flow
labels, circuit breakers that trip the kill switch, a trusted action monitor, and a
review-time floor for approvals. Every one is off until it is configured. It also
meters model calls made through LiteLLM, and gives Tower an approvals inbox, a
revocations view and model spend.
What changed since 0.1.0-alpha.16
Runtime guards (off unless configured; see the GUIDE and threat-model entries
T41–T44)
-
[guards.information_flow]: each run carries an integrity label and a
classification label. Both rise with the tool output its agent receives.
Capability manifests declareflow.output_integrity,
flow.output_classificationandflow.egress_ceiling. Undeclared output counts
as untrustedINTERNAL. Three rules apply:- An effect after untrusted input needs an approval of the exact action.
- Egress above a capability's ceiling is denied.
- The "rule of two" covers untrusted input combined with
CONFIDENTIALdata and
egress or an external effect.
Labels pass to delegated children and back.
mode = "observe"only audits
(information_flow_decision). -
[[guards.circuit_breakers]]counts effects or refusals per agent, admitting
principal or tenant, in a sliding window. At its threshold, a breaker refuses the
calls it governs (circuit_open). Withtrip = "revoke", it also revokes the
target in the kill switch (by: circuit_breaker:<id>), so the target stays stopped
until an operator restores it. Each trip is audited (circuit_breaker_tripped). The
new alertContextOSCircuitBreakerOpenhas a runbook entry. -
[providers.action_monitor]with[guards.action_monitor]: your monitor model
scores every effectful or data-sending call before it is sent. It sees the action
binding and the run's recent calls.- A score at
ask_atneeds an approval of the exact action. - A score at
deny_atis denied. - A run whose summed suspicion reaches
run_budgetneeds approvals from then on. - An unavailable monitor gets
on_unavailable, which defaults toask.
- A score at
-
[guards.approval_review]setsmin_review_seconds. An approval decided sooner
than that after the gateway requested it is not used (approval_review_too_fast,
obligationreview_again). The audit records the seconds measured. Scope the floor
by capability or amount, as with step-up. -
Each run pins the runtime guards' policy it was admitted under
(guard_policy_ref), so its decisions cite the configuration that decided them.
Model metering
contextos-litellm(integrations/litellm) is a LiteLLM proxy callback. It claims
each model call's reservation before forwarding it, and caps the call's output
tokens to the reservation. It then settles the usage the provider reported, off the
response path. It fails closed when contextosd is unreachable.POST /v1/runs/{run_id}/usage/claim(meterscope) claims a reservation for the
one call a metering gateway is about to forward, across replicas.usage/settle
acceptsmodel.- New audit entries record usage:
usage_refused,usage_claimedand
usage_settled.
Tower
- An approvals inbox lists open escalations across runtimes in one queue. Risk
reviewers and operators can resolve them from it. - Runtime sources can be managed from the console (probe, add, pause, resume, retry
verification, reload keys, remove), with a reason in Tower's journal for each
change. Source keys can be read from mounted secret files. - A Revocations view shows every revocation in force across the fleet. It reconciles
each runtime's live list against its verified audit chain. - Restoring a revocation takes two people: one operator requests the restore and a
second approves it. - Model spend per agent, team and model keeps measured usage and self-reported usage
apart. New findings flag uncovered and unmetered model spend.
Documentation
- COMPLIANCE.md maps ContextOS controls to these frameworks, citing
the threat-model entries whose tests are the evidence:- the OWASP Top 10 for Agentic Applications (2026);
- EU AI Act Articles 9, 12, 14, 15 and 26;
- the Singapore agentic AI framework;
- the NIST AI RMF;
- ISO/IEC 42001.
- The design and its sources are in
design/agentic-controls.md and
research/2026-11-07-agent-governance-sources.md.
The changelog
lists every change.
Upgrading from 0.1.0-alpha.16
- Tower restores need two operators by default.
[governance] two_person_restore
now defaults totrue, soPOST /api/fleet/restoreanswers
409 two_person_required. Set it tofalseto keep one-operator restores. - Turn the new guards on only after every replica runs alpha.17. An alpha.16
replica does not enforce them. - Runs in flight when a guard is first turned on are not pinned to it. For such a
run, a call the information-flow guard or the action monitor would send for approval
is refused instead (flow_policy_unpinned,monitor_policy_unpinned). Turn guards
on between workloads, or expect these refusals until the runs finish. - Startup notes every capability without
flowlabels while the
information-flow guard is on. Its output counts as untrustedINTERNAL, and it may
send out at mostINTERNALdata. Label capabilities before turning the guard on. - The store holds new document kinds and needs no migration. No configuration key,
API or storage format is removed.
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. To verify an archive's checksum and
provenance, follow the
alpha.12 notes
with v0.1.0-alpha.17 as the tag.
The container image is ghcr.io/contextosai/contextosd:0.1.0-alpha.17 for
linux/amd64 and linux/arm64. It is signed and carries build provenance.
Install the clients with pip install --pre contextos-client and
npm install contextos-client. contextos-litellm is not on PyPI yet. Install it
from this tag:
pip install "contextos-litellm @ git+https://github.com/contextosai/ContextOS@v0.1.0-alpha.17#subdirectory=integrations/litellm".
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.