Skip to content

chore(release): 1.3.0 - #57

Merged
rrrodzilla merged 1 commit into
mainfrom
worktree-release-1.3.0
Aug 31, 2026
Merged

chore(release): 1.3.0#57
rrrodzilla merged 1 commit into
mainfrom
worktree-release-1.3.0

Conversation

@rrrodzilla

Copy link
Copy Markdown
Contributor

Version 1.2.0 -> 1.3.0 across all five crates, plus the compatibility disposition the change needs.

One merged pull request since 1.2 (#56), and it closes #22 — the gap both the 1.1 and 1.2 release notes shipped with. Nothing frozen moved.

What is in this diff

  • Crate versions and inter-crate requirements, 1.2.0 -> 1.3.0, and Cargo.lock.
  • docs/compatibility.md gains a disposition on the ACP surface: _garrison/complete now crosses the admission gates, but its request and response shapes are untouched and a refusal is answered the way every other failure on that path already was, with an empty completion rather than an error. A client written against 1.0 needs no change, because "no suggestion" was always a reply it had to handle. What changed is how often it is the true one.

The README and control-plane changes for this work landed with #56 itself, including removing the known-gaps bullet.

Known gaps

Everything 1.0 listed is still there. The completion gap 1.1 and 1.2 both named is gone.

One merged pull request since 1.2, and it closes the gap the last two releases
shipped with. Nothing frozen moved.

Version 1.2.0 -> 1.3.0 across all five crates.

Inline completion now crosses the admission gates. `_garrison/complete`
resolved the session that owns it and then made a paid model call; ownership
proves the client holds the session and says nothing about whether this install
may spend. An install refused from running a turn kept spending on every typing
pause, and nothing bounded how many were in flight.

Every gate but the session keeper now answers a completion as it answers a
turn. The keeper is the exception because both of its rules are about a stored
record a completion never writes, and refusing one because an earlier turn was
left open would stop a developer's editor for a reason that is not about them.

Policy turned out to be the gate that mattered most, which is not what the
issue expected. It called policy unclear on the grounds that a completion runs
no tools, but that gate does not gate tools: it refuses an install with no
policy state, an Ungoverned one, and one whose configured provider is not an
approved endpoint in the bundle. A completion sent the code around a cursor to
exactly that provider, on every pause. It was the least gated path to the least
approved endpoint.

A refused completion is sealed and an admitted one is not, because a debounce
timer decides how often that path is entered and a trail written by a timer
rather than by a person is noise wearing the shape of evidence.

docs/compatibility.md records this as a change within the ACP promise rather
than against it. The request and response shapes are untouched, and a refusal
is answered the way every other failure on that path already was: an empty
completion, never an error. A client written against 1.0 needs no change,
because "no suggestion" was always a reply it had to handle.

What 1.3 still ships with: everything 1.0 listed under known gaps.
`network_egress` and `allow_unsandboxed_escalation` are recorded and not
enforced, schemas are unsigned, Graph is unproved against a real tenant,
console logins are not deactivated by the sync, and there is no provisioned
database. The completion gap that 1.1 and 1.2 both named is gone.
@rrrodzilla
rrrodzilla merged commit f79c46b into main Aug 31, 2026
3 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.

Inline completion bypasses admission: seat, policy and audit gates do not apply to _garrison/complete

1 participant