You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: narrow public claims to match current sidecar architecture
The README hero sentence, ROADMAP, and annotation table overstated
the listener-to-enforcement transition for injected sidecars. Sidecars
use DefaultListenerConfig() and do not read the charted ConfigMap, so
enforcement is not yet "a config change" for the primary use case.
- Scope enforcement-as-config-change claim to standalone deployments
- Remove "same metrics" (listener and enforcement use different families)
- Mark runtime.getkoshi.ai/policy as not functional for injected sidecars
in the current default install path
- Qualify "unknown workload gets 403" by mode (enforcement only)
- Add default/configurable qualifiers to all hardcoded 15080 references
- Fix stale 1.0.0 version examples in validate-release.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Koshi Runtime is a workload-scoped governance plane for AI systems. It deploys as a Kubernetes sidecar that enforces deterministic policy at the workload boundary — token budgets, per-request guards, and tiered enforcement decisions — using reservation-first accounting.
4
4
5
-
**Discover your governance posture before enforcing it.** Koshi ships in **listener mode** by default: the full enforcement pipeline — identity resolution, policy lookup, guard evaluation, budget accounting — executes on every request, but no traffic is blocked. Shadow decisions (`would_reject`, `would_throttle`, `would_kill`) reveal exactly where your policies would intervene. When the posture matches your intent, enabling enforcement is a config change — same binary, same pipeline, same metrics.
5
+
**Discover your governance posture before enforcing it.** Koshi ships in **listener mode** by default: the full enforcement pipeline — identity resolution, policy lookup, guard evaluation, budget accounting — executes on every request, but no traffic is blocked. Shadow decisions (`would_reject`, `would_throttle`, `would_kill`) reveal exactly where your policies would intervene. When the posture matches your intent, enforcement uses the same binary and Helm chart. For standalone deployments, enabling enforcement is a config change. For injected sidecars, sidecar-level enforcement is planned for a future release — see [Enabling Enforcement](#enabling-enforcement).
6
6
7
7
**No repo clone required.** Install Koshi directly from the published OCI Helm chart and container image.
- Receives traffic via `OPENAI_BASE_URL` / `ANTHROPIC_BASE_URL` env vars injected into app containers
69
69
@@ -257,7 +257,7 @@ Key Helm values:
257
257
| Annotation | Values | Description |
258
258
|------------|--------|-------------|
259
259
|`runtime.getkoshi.ai/inject`|`"false"`| Opt out a specific pod from injection |
260
-
|`runtime.getkoshi.ai/policy`| policy ID |Override the default policy for this pod's sidecar |
260
+
|`runtime.getkoshi.ai/policy`| policy ID |Per-workload policy override. Not functional for injected sidecars in the current default install path — the built-in default config does not include named policies, so setting this annotation will cause the sidecar to fail at startup. Planned for a future release.|
261
261
262
262
## Health Endpoints
263
263
@@ -311,7 +311,7 @@ Listener mode is designed for discovering your governance posture. Injected side
311
311
-**Webhook `failurePolicy: Ignore`.** If the injector is down, pods still create — they just don't get the sidecar.
312
312
-**Base-URL injection is safe.**`OPENAI_BASE_URL` / `ANTHROPIC_BASE_URL` are only set on app containers if not already present. See [What Traffic Produces Signal](#what-traffic-produces-signal) for implications when these vars are already defined.
313
313
-**Reservation-first accounting.** Tokens are reserved before the request and reconciled with actual usage after the response.
314
-
-**Fail open on infrastructure, fail closed on policy.** A panic triggers degraded pass-through mode. An unknown workload gets 403.
314
+
-**Fail open on infrastructure, fail closed on policy.** A panic triggers degraded pass-through mode. In enforcement mode, an unknown workload gets 403. In listener mode, unknown workloads emit `would_reject` and traffic proxies through.
Copy file name to clipboardExpand all lines: ROADMAP.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Koshi Runtime is a Kubernetes-native runtime substrate that sits at the workload
8
8
9
9
-**Listener-first adoption.** Discover your governance posture at the execution boundary before enforcing it. The full enforcement pipeline runs on every request in listener mode, emitting structured events and metrics that reveal exactly where policies would intervene — without blocking traffic.
10
10
-**Structured governance signals.** Every request produces a machine-readable decision with a stable reason code — identity resolution, policy lookup, per-request guards, rolling budget accounting, and tiered enforcement.
11
-
-**Config-driven mode switching.** The same binary and image supports both listener and enforcement modes. Moving from observation to enforcement is a config change, not a new deployment.
11
+
-**Config-driven mode switching.** The same binary and image supports both listener and enforcement modes. For standalone deployments, moving from observation to enforcement is a config change. For injected sidecars, enforcement and config delivery to sidecars are planned for a future release.
12
12
-**Auditable, reversible, bounded behavior.** Reservation-first token accounting with reconciliation. Deterministic enforcement decisions. Safe defaults that fail open on infrastructure and fail closed on policy.
13
13
14
14
## Available Now
@@ -19,7 +19,7 @@ Koshi Runtime is a Kubernetes-native runtime substrate that sits at the workload
19
19
-**Reservation-first token accounting** — budget pre-deducted before proxying, reconciled with actual usage after response. Rolling window with optional burst. Budget floor at zero.
20
20
-**Stable reason codes** — machine-readable codes on all decisions and error responses: `identity_missing`, `policy_not_found`, `guard_max_tokens`, `budget_exhausted_throttle`, `budget_exhausted_kill`, and others.
21
21
-**Helm chart with safe defaults** — NetworkPolicy, PodDisruptionBudget, security context (read-only root, non-root, drop all capabilities), self-signed webhook cert generation.
22
-
-**Enforcement mode** — same binary, activated by config. Identity via HTTP header, per-workload policy binding, tiered decisions (allow, throttle, kill).
22
+
-**Enforcement mode** — same binary, activated by config. Currently available for standalone deployments; injected-sidecar enforcement is planned. Identity via HTTP header, per-workload policy binding, tiered decisions (allow, throttle, kill).
23
23
-**Design documentation** — formal specifications for [deterministic accounting invariants](docs/design/koshi-v1-deterministic-accounting-invariants.md), [enforcement boundary](docs/design/koshi-v1-enforcement-boundary.md), [operator trust guarantees](docs/design/koshi-v1-operator-trust-guarantees.md), and [why Koshi exists](docs/design/koshi-v1-why-koshi-exists.md).
0 commit comments