Skip to content

docs: describe v0.6.0 as it shipped - #106

Merged
evansibok merged 21 commits into
mainfrom
ev/v0.6.0-docs
Aug 30, 2026
Merged

docs: describe v0.6.0 as it shipped#106
evansibok merged 21 commits into
mainfrom
ev/v0.6.0-docs

Conversation

@evansibok

Copy link
Copy Markdown
Contributor

Summary

The docs site already serves /v0.6/ from main, but the release notes were
missing the release and several pages still described the deleted product.

  • CHANGELOG.md had no Removed section at all, so the authority reframe was
    absent. Ten changes in this release are breaking; the entry named three.
  • Four crate descriptions and the PyPI description called Nanny an "execution
    boundary". The terminology rule in docs/AGENTS.md named that as the
    correct term, so it kept coming back.
  • The docs landing page opened on a $4,000 weekend overspend, for a release
    that removed spend control.
  • Two pages still documented [limits]: a governance-server paragraph on
    [limits.researcher] scopes and a shared token budget, and a Python SDK
    heading calling @agent "activate named limits". The SDK docstring says the
    opposite.
  • Cross-project names appeared in the changelog, in certs.rs --help text,
    and in two published sample outputs.
  • Roughly 800 em dashes and every internal tracking label removed, retroactively.
  • Four tests that failed only under the full suite are fixed, not quarantined.

Context

v0.6.0 reframed the product from bounding consumption to bounding authority.
Token budgets, step ceilings, timeouts and the egress proxy are gone. The docs
were written for the old product, and this is the pass before publishing.

Nanny is now described as the authorization and audit layer for AI agents that
take real-world actions, everywhere including crates.io and PyPI.

The test failures were two real defects, not flakiness. Six tests polled the
port they requested, but the server falls forward to the next free port when
that one is taken, so under a parallel suite the probe could succeed against
another test's server and every assertion after it ran against the wrong one.
They now read the address the server recorded. The rest failed with TimedOut,
never a refused connection: two deadlines were sized for an idle machine, and
each of these tests stands up a real TLS server on a suite that runs on every
core. Both are now named constants carrying the reason.

Test plan

  • cargo test --workspace: clean, every crate, zero failures. Verified by
    repetition rather than one run: bridge 108/0 three times, CLI 75/0 three
    times, since the bugs this fixes only appeared under parallel load.
  • cargo clippy --all-targets: clean
  • uv run pytest: 138 passed
  • uv run ruff check .: clean
  • mint broken-links: no broken links
  • Residue greps for the retired vocabulary, removed primitives, cross-project
    names, dashes and tracking labels: clean apart from historical changelog
    entries, which are the record and stay.

@evansibok
evansibok merged commit 6c2d48b into main Aug 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant