Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ the framework's own interrupt, and a framework with no such primitive does not n
## Where it stands

{/* generated from the suite, pyproject and the soak (mdx) — run the generator */}
- **Version 0.12.1**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,223 tests**, every version specified before it was written and every requirement mutation-tested.
- **Version 0.12.2**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,248 tests**, every version specified before it was written and every requirement mutation-tested.
- **32 guarantees you can check in your own setup**, with `ctrlrun verify` against your policy, on your store's backend, in a scratch store it creates.
- **One host: a file.** SQLite, no server, no ops. **Many hosts: Postgres**, the same guarantees, graded by the same suite.
- **Soaked for 20m 0s on postgres**: 889,735 actions, 0 unattributed ambiguous outcomes, positive control fired. Nothing here establishes what only accumulates over days. [What it does not establish](https://ctrlrun.dev/docs/production/soak).
Expand Down
10 changes: 5 additions & 5 deletions docs/OWASP-SOLUTIONS-LANDSCAPE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "OWASP Agentic Solutions Landscape"
description: "A reading of the OWASP Agentic Solutions Landscape checklist against what CTRLRun 0.12.1 ships, with the boxes it does not tick named."
description: "A reading of the OWASP Agentic Solutions Landscape checklist against what CTRLRun 0.12.2 ships, with the boxes it does not tick named."
sidebarTitle: "OWASP Solutions Landscape"
---

Expand All @@ -26,11 +26,11 @@ credible.
| **Publisher** | OWASP GenAI Security Project, OWASP Foundation |
| **Form** | [https://genai.owasp.org/solution-submission-agentic/](https://genai.owasp.org/solution-submission-agentic/) |
| **Read on** | 2026-09-10 |
| **Written against** | CTRLRun **0.12.1**, guarantees `G1`–`G32`, catalogue `ctrlrun.guarantees/v7` |
| **Written against** | CTRLRun **0.12.2**, guarantees `G1`–`G32`, catalogue `ctrlrun.guarantees/v7` |

**Written against what is tagged, and the version is printed on every row that needs one.**
Every guarantee cited below is in the catalogue `ctrlrun verify` runs today, `G1` through
`G32`, and every one of them is in the 0.12.1 wheel. **There are no design rows.** A *Since*
`G32`, and every one of them is in the 0.12.2 wheel. **There are no design rows.** A *Since*
column names the milestone that added the row rather than a separate download: 0.3.0 was
published to TestPyPI alone, and what it added reached PyPI inside 0.4.0. This page was first written against an unreleased 1.0 and marked the rows that waited
on it; none of them waits any longer, and the hedge came out rather than being left to read
Expand Down Expand Up @@ -168,7 +168,7 @@ example is theirs and is not a claim that CTRLRun uses it.

The form asks for `ASI01:26` through `ASI10:26` as ten checkboxes. The
[Agentic Top 10 reading](/docs/OWASP-AGENTIC-TOP10) carries the row-by-row mapping and the
sentence for each entry saying what is *not* covered; this table is the summary at 0.12.1,
sentence for each entry saying what is *not* covered; this table is the summary at 0.12.2,
with the version that moved each entry. Each row's guarantees are exactly what that reading
maps to the entry, which is a test and not an intention.

Expand Down Expand Up @@ -202,7 +202,7 @@ that every guarantee cited here exists in the registry, that the catalogue named
`ctrlrun verify` reports, that no *Since* column names a version the changelog has not
released, and that each `ASI` row's guarantees are exactly what the
[Agentic Top 10 reading](/docs/OWASP-AGENTIC-TOP10) maps to that entry. It was written against
`ctrlrun.guarantees/v7`, the catalogue 0.12.1 ships, and the form as read on 2026-09-10.
`ctrlrun.guarantees/v7`, the catalogue 0.12.2 ships, and the form as read on 2026-09-10.

## Next

Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/verify-in-github-actions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ by tag where you want a ref nobody can move.
The agent sees nothing; this is the operator's check. The build sees:

```text
CTRLRun verify — ctrlrun 0.12.1, catalogue ctrlrun.guarantees/v7
CTRLRun verify — ctrlrun 0.12.2, catalogue ctrlrun.guarantees/v7
policy /Users/arpanghoshal/ctrlrun-project/wt/v11-i3/examples/cookbook/verify-in-github-actions/ctrlrun.yaml (ctrlrun.policy/v2, mode: enforce)
authority none
store sqlite, scratch (created and destroyed for this run)
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/verify-in-ci.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ guarantees pass.
```

```text
CTRLRun verify — ctrlrun 0.12.1, catalogue ctrlrun.guarantees/v7
CTRLRun verify — ctrlrun 0.12.2, catalogue ctrlrun.guarantees/v7
policy /Users/arpanghoshal/ctrlrun-project/wt/v11-i3/examples/cookbook/verify-in-github-actions/ctrlrun.yaml (ctrlrun.policy/v2, mode: enforce)
authority none
store sqlite, scratch (created and destroyed for this run)
Expand Down
4 changes: 2 additions & 2 deletions docs/production/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ need. `test_the_first_line_of_the_section_says_which_store_and_why` asserts the
## Where it stands

{/* generated from the suite, pyproject and the soak (full) — run the generator */}
- **Version 0.12.1**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,223 tests**, every version specified before it was written and every requirement mutation-tested. [Read more](/docs/how-this-is-built).
- **Version 0.12.2**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,248 tests**, every version specified before it was written and every requirement mutation-tested. [Read more](/docs/how-this-is-built).
- **32 guarantees you can check in your own setup**, with `ctrlrun verify` against your policy, on your store's backend, in a scratch store it creates. [Read more](/docs/security/verify-guarantees).
- **One host: a file.** SQLite, no server, no ops. **Many hosts: Postgres**, the same guarantees, graded by the same suite. [Read more](/docs/production/postgres).
- **Soaked for 20m 0s on postgres**: 889,735 actions, 0 unattributed ambiguous outcomes, positive control fired. Nothing here establishes what only accumulates over days. [Read more](/docs/production/soak).
Expand Down
2 changes: 1 addition & 1 deletion docs/verify.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ what could not be tested at all.

```console
$ ctrlrun verify
CTRLRun verify — ctrlrun 0.12.1, catalogue ctrlrun.guarantees/v7
CTRLRun verify — ctrlrun 0.12.2, catalogue ctrlrun.guarantees/v7
policy examples/authority/payments.yaml (ctrlrun.policy/v7, mode: enforce)
authority same document, 3 grants
store sqlite, scratch (created and destroyed for this run)
Expand Down
4 changes: 2 additions & 2 deletions generated/readiness.full.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{/* generated from the suite, pyproject and the soak (full) — run the generator */}
- **Version 0.12.1**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,223 tests**, every version specified before it was written and every requirement mutation-tested. [Read more](/docs/how-this-is-built).
- **Version 0.12.2**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,248 tests**, every version specified before it was written and every requirement mutation-tested. [Read more](/docs/how-this-is-built).
- **32 guarantees you can check in your own setup**, with `ctrlrun verify` against your policy, on your store's backend, in a scratch store it creates. [Read more](/docs/security/verify-guarantees).
- **One host: a file.** SQLite, no server, no ops. **Many hosts: Postgres**, the same guarantees, graded by the same suite. [Read more](/docs/production/postgres).
- **Soaked for 20m 0s on postgres**: 889,735 actions, 0 unattributed ambiguous outcomes, positive control fired. Nothing here establishes what only accumulates over days. [Read more](/docs/production/soak).
Expand Down
6 changes: 3 additions & 3 deletions generated/readiness.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"3.14"
]
},
"released": "0.12.1",
"released": "0.12.2",
"soak": {
"actions": 889735,
"backend": "postgres",
Expand All @@ -18,6 +18,6 @@
"positive_control": true,
"unexplained": 0
},
"tests": 6223,
"version": "0.12.1"
"tests": 6248,
"version": "0.12.2"
}
4 changes: 2 additions & 2 deletions generated/readiness.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{/* generated from the suite, pyproject and the soak (mdx) — run the generator */}
- **Version 0.12.1**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,223 tests**, every version specified before it was written and every requirement mutation-tested.
- **Version 0.12.2**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,248 tests**, every version specified before it was written and every requirement mutation-tested.
- **32 guarantees you can check in your own setup**, with `ctrlrun verify` against your policy, on your store's backend, in a scratch store it creates.
- **One host: a file.** SQLite, no server, no ops. **Many hosts: Postgres**, the same guarantees, graded by the same suite.
- **Soaked for 20m 0s on postgres**: 889,735 actions, 0 unattributed ambiguous outcomes, positive control fired. Nothing here establishes what only accumulates over days. [What it does not establish](https://ctrlrun.dev/docs/production/soak).
Expand Down
4 changes: 2 additions & 2 deletions generated/readiness.readme.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- generated from the suite, pyproject and the soak (readme) — run the generator -->
- **Version 0.12.1**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,223 tests**, every version specified before it was written and every requirement mutation-tested.
- **Version 0.12.2**, on [PyPI](https://pypi.org/project/ctrlrun/), Python 3.11 and later, tested on 3.11 to 3.14.
- **6,248 tests**, every version specified before it was written and every requirement mutation-tested.
- **32 guarantees you can check in your own setup**, with `ctrlrun verify` against your policy, on your store's backend, in a scratch store it creates.
- **One host: a file.** SQLite, no server, no ops. **Many hosts: Postgres**, the same guarantees, graded by the same suite.
- **Soaked for 20m 0s on postgres**: 889,735 actions, 0 unattributed ambiguous outcomes, positive control fired. Nothing here establishes what only accumulates over days. [What it does not establish](https://ctrlrun.dev/docs/production/soak).
Expand Down