Skip to content

Commit d6f763e

Browse files
djbclarkclaude
andcommitted
chore: stamp workspace 0.19.1-sudo.15
Also brings the bundled agent skill to 0.6.0. The skill and AI-GUIDANCE ship inside the release, so they are updated before the tag rather than after -- a post-tag doc fix never reaches the installed copy, which is the trap the .12 release hit. SKILL.md already carried the corrected `check` stream pitfall from be901ba; this adds the consequence that only appears once the report is on a stream the reader can close: `check | head` now ends with a broken-pipe error and a non-zero exit, which means the reader closed the pipe, not that a secret is missing. AI-GUIDANCE.md was re-checked and genuinely has no stream discussion anywhere -- SKILL.md owns pitfalls -- so it needed no edit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 2789765 commit d6f763e

5 files changed

Lines changed: 18 additions & 15 deletions

File tree

‎Cargo.lock‎

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ members = [
1111
resolver = "2"
1212

1313
[workspace.package]
14-
version = "0.19.1-sudo.14"
14+
version = "0.19.1-sudo.15"
1515
edition = "2024"
1616

1717
[workspace.dependencies]
@@ -60,8 +60,8 @@ azure_identity = "1.0.0"
6060
azure_security_keyvault_secrets = "1.0.0"
6161
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls-native-roots"] }
6262
tokio = { version = "1", features = ["rt", "rt-multi-thread"] }
63-
secretspec-derive = { version = "0.19.1-sudo.14", path = "./secretspec-derive" }
64-
secretspec = { version = "0.19.1-sudo.14", path = "./secretspec" }
63+
secretspec-derive = { version = "0.19.1-sudo.15", path = "./secretspec-derive" }
64+
secretspec = { version = "0.19.1-sudo.15", path = "./secretspec" }
6565
rand = "0.9"
6666
rsa = { version = "0.9", features = ["pem"] }
6767
uuid = { version = "1", features = ["serde", "v4"] }

‎secretspec-derive/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ quote.workspace = true
1515
proc-macro2.workspace = true
1616
toml.workspace = true
1717
serde.workspace = true
18-
secretspec = { version = "0.19.1-sudo.14", path = "../secretspec", default-features = false }
18+
secretspec = { version = "0.19.1-sudo.15", path = "../secretspec", default-features = false }
1919

2020
[dev-dependencies]
2121
trybuild.workspace = true

‎skills/sudo-secretspec/SKILL.md‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: sudo-secretspec
33
description: Use managed credentials through the privilege-separated sudo-secretspec client instead of touching a secret store directly. Use when a task needs an API key, token, or password; when a credential must be declared, set, rotated, read, deleted, or injected into a child process; or when the boundary, drift checker, or audit ledger reports an error. Also covers what is deliberately NOT exposed and must be asked of the operator.
4-
version: 0.5.0
4+
version: 0.6.0
55
author: Dan Clark (djbclark), Hermes Agent
66
license: Apache-2.0
77
platforms: [macos]
@@ -18,7 +18,7 @@ consumer execution. Do not access SecretSpec's provider, manifest, or protected
1818
backing files directly, and never invoke `secretspec` itself for a managed
1919
deployment.
2020

21-
Verified against client **0.19.1-sudo.14**. `sudo-secretspec --version` is the
21+
Verified against client **0.19.1-sudo.15**. `sudo-secretspec --version` is the
2222
authority; if it reports something newer, re-read
2323
`sudo-secretspec/AI-GUIDANCE.md` rather than trusting this file's specifics.
2424
If it reports something *older*, the flags marked with a minimum version below
@@ -169,7 +169,10 @@ explicit `unknown` terminal state if restoration cannot be proven.
169169
present, `1` at least one missing. Against an older boundary the report is on
170170
stderr instead, so read *both* streams if you must support both, and never
171171
treat an empty stdout as a pass on its own. The report names secrets but
172-
never prints values, so it is safe to log.
172+
never prints values, so it is safe to log. Because it is now on a stream you
173+
can close early, `check | head` ends with `IO error: Broken pipe` and a
174+
non-zero exit rather than a panic — that exit status means your reader closed
175+
the pipe, not that a secret is missing, so do not read it as a check failure.
173176
- **Lifecycle commands authenticate even under `--dry-run`.** `install`,
174177
`uninstall`, and `rollback` re-exec through interactive `sudo` before the
175178
dry-run flag is ever considered, under `timestamp_timeout=0`. Every

‎sudo-secretspec-cli/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ clap.workspace = true
1717
rusqlite = { version = "0.31" }
1818
serde = { workspace = true, features = ["derive"] }
1919
serde_json.workspace = true
20-
secretspec = { path = "../secretspec", version = "0.19.1-sudo.14", default-features = false, features = ["manifest-edit", "codegen-schema"] }
20+
secretspec = { path = "../secretspec", version = "0.19.1-sudo.15", default-features = false, features = ["manifest-edit", "codegen-schema"] }
2121
sha2.workspace = true
2222
thiserror.workspace = true
2323
toml.workspace = true

0 commit comments

Comments
 (0)