@ouro.bot/cli 0.1.0-alpha.823 → 0.1.0-alpha.824

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/changelog.json CHANGED
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
3
3
  "versions": [
4
+ {
5
+ "version": "0.1.0-alpha.824",
6
+ "changes": [
7
+ "Sanctuary: vault removal is reachable only from the authority install transaction, so the destructive verb can no longer be run bare against a host with no root authority installed."
8
+ ]
9
+ },
4
10
  {
5
11
  "version": "0.1.0-alpha.823",
6
12
  "changes": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "runtimeVersion": "0.1.0-alpha.823",
2
+ "runtimeVersion": "0.1.0-alpha.824",
3
3
  "bundleSchemaVersion": 3,
4
4
  "lastUpdated": "2026-09-03T00:00:00.000Z"
5
5
  }
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0"?>
2
2
  <Container version="2">
3
3
  <Name>ouro-butler</Name>
4
- <Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.823</Repository>
4
+ <Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.824</Repository>
5
5
  <Registry>https://github.com/ourostack/ouroboros/pkgs/container/ouroboros-butler</Registry>
6
6
  <Network>host</Network>
7
7
  <Shell>sh</Shell>
@@ -739,6 +739,7 @@ class SanctuaryAuthorityRootLifecycle {
739
739
  "--mount", `type=bind,src=${BUNDLE},dst=/home/ouro/AgentBundles/sanctuary.ouro,readonly`,
740
740
  "--tmpfs", "/home/ouro/.ouro-cli/bitwarden:rw,nosuid,nodev,noexec,mode=0700",
741
741
  "--tmpfs", "/tmp:rw,nosuid,nodev,noexec,mode=0700",
742
+ "--env", `OURO_AUTHORITY_REMOVE_INTERLOCK=${this.#request.epochId}`,
742
743
  this.#transaction.targetImageId, "/opt/ouro/dist/heart/daemon/sanctuary-authority-root-lifecycle.js", "vault", operation,
743
744
  ], input === undefined ? undefined : JSON.stringify(input)));
744
745
  }
@@ -748,6 +749,17 @@ async function runSanctuaryAuthorityRootCli(argv, write = (text) => process.stdo
748
749
  if (process.getuid() !== 0 || process.getgid() !== 0)
749
750
  throw new Error("Sanctuary root lifecycle requires root");
750
751
  if (argv.length === 2 && argv[0] === "vault") {
752
+ // `remove` is the one vault verb that can strand the household. It is safe
753
+ // only inside the install transaction, which has already proven the same
754
+ // token into root custody at `verify-token-rotation`. Run bare against a
755
+ // host with no installed root authority it leaves the Butler with no route
756
+ // to Telegram at all, which is how Sanctuary lost its front door on
757
+ // 2026-09-21. This is a safety interlock against invoking it outside its
758
+ // transaction, not a privilege boundary: root can always set the variable,
759
+ // but it can no longer do this by reaching for a documented verb.
760
+ if (argv[1] === "remove" && !process.env.OURO_AUTHORITY_REMOVE_INTERLOCK) {
761
+ throw new Error("Sanctuary vault removal runs only inside the authority install transaction; use docker-man-template-transaction.mjs authority-install");
762
+ }
751
763
  const input = argv[1] === "restore" ? JSON.parse(fs.readFileSync(0, "utf8")) : undefined;
752
764
  write(`${JSON.stringify(await (0, sanctuary_authority_vault_migration_1.migrateSanctuaryAuthorityVault)(argv[1], input))}\n`);
753
765
  return;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.823",
3
+ "version": "0.1.0-alpha.824",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@ouro.bot/cli",
9
- "version": "0.1.0-alpha.823",
9
+ "version": "0.1.0-alpha.824",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sdk": "^0.78.0",
12
12
  "@azure/identity": "^4.13.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.823",
3
+ "version": "0.1.0-alpha.824",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },