@ouro.bot/cli 0.1.0-alpha.979 → 0.1.0-alpha.980

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.980",
6
+ "changes": [
7
+ "Retry transient empty host-broker snapshot reads in the Sanctuary Unit16 runner, preventing final acceptance evidence capture from failing before scenario execution."
8
+ ]
9
+ },
4
10
  {
5
11
  "version": "0.1.0-alpha.979",
6
12
  "changes": [
@@ -218,25 +218,35 @@ prepare_live_facts() {
218
218
  refresh_live_facts() {
219
219
  REFRESHED_SNAPSHOT=$PRIVATE_ROOT/broker-container-inspect.refresh.json
220
220
  rm -f -- "$REFRESHED_SNAPSHOT"
221
- /usr/bin/timeout -s KILL 60 /usr/local/bin/node -e '
222
- const fs = require("node:fs");
223
- const net = require("node:net");
224
- const [socketPath, outputPath] = process.argv.slice(1);
225
- const socket = net.createConnection(socketPath);
226
- let response = "";
227
- socket.setEncoding("utf8");
228
- socket.on("connect", () => socket.end(JSON.stringify({ operation: "container_snapshot", targetId: "sanctuary" })));
229
- socket.on("data", (chunk) => {
230
- response += chunk;
231
- if (Buffer.byteLength(response) > 1024 * 1024) socket.destroy(new Error("container snapshot response exceeds its bound"));
232
- });
233
- socket.on("end", () => {
234
- const envelope = JSON.parse(response);
235
- if (!envelope || envelope.ok !== true || !envelope.result || typeof envelope.result !== "object" || Array.isArray(envelope.result)) process.exit(1);
236
- fs.writeFileSync(outputPath, `${JSON.stringify(envelope.result)}\n`, { flag: "wx", mode: 0o600 });
237
- });
238
- socket.on("error", () => process.exit(1));
239
- ' "$BROKER_SOCKET" "$REFRESHED_SNAPSHOT"
221
+ REFRESH_ATTEMPT=0
222
+ while test "$REFRESH_ATTEMPT" -lt 5; do
223
+ rm -f -- "$REFRESHED_SNAPSHOT"
224
+ if /usr/bin/timeout -s KILL 60 /usr/local/bin/node -e '
225
+ const fs = require("node:fs");
226
+ const net = require("node:net");
227
+ const [socketPath, outputPath] = process.argv.slice(1);
228
+ const socket = net.createConnection(socketPath);
229
+ let response = "";
230
+ socket.setEncoding("utf8");
231
+ socket.on("connect", () => socket.end(JSON.stringify({ operation: "container_snapshot", targetId: "sanctuary" })));
232
+ socket.on("data", (chunk) => {
233
+ response += chunk;
234
+ if (Buffer.byteLength(response) > 1024 * 1024) socket.destroy(new Error("container snapshot response exceeds its bound"));
235
+ });
236
+ socket.on("end", () => {
237
+ if (!response) process.exit(2);
238
+ let envelope;
239
+ try { envelope = JSON.parse(response); } catch { process.exit(2); }
240
+ if (!envelope || envelope.ok !== true || !envelope.result || typeof envelope.result !== "object" || Array.isArray(envelope.result)) process.exit(1);
241
+ fs.writeFileSync(outputPath, `${JSON.stringify(envelope.result)}\n`, { flag: "wx", mode: 0o600 });
242
+ });
243
+ socket.on("error", () => process.exit(1));
244
+ ' "$BROKER_SOCKET" "$REFRESHED_SNAPSHOT" && test "$(stat -c '%u:%g %a' "$REFRESHED_SNAPSHOT")" = "0:0 600"; then
245
+ break
246
+ fi
247
+ REFRESH_ATTEMPT=$((REFRESH_ATTEMPT + 1))
248
+ sleep 1
249
+ done
240
250
  test "$(stat -c '%u:%g %a' "$REFRESHED_SNAPSHOT")" = "0:0 600" || return 1
241
251
  mv -f -- "$REFRESHED_SNAPSHOT" "$BROKER_SNAPSHOT"
242
252
  prepare_live_facts
@@ -1,5 +1,5 @@
1
1
  {
2
- "runtimeVersion": "0.1.0-alpha.979",
2
+ "runtimeVersion": "0.1.0-alpha.980",
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.979</Repository>
4
+ <Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.980</Repository>
5
5
  <Registry>https://github.com/ourostack/ouroboros/pkgs/container/ouroboros-butler</Registry>
6
6
  <Network>host</Network>
7
7
  <Shell>sh</Shell>
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.979",
3
+ "version": "0.1.0-alpha.980",
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.979",
9
+ "version": "0.1.0-alpha.980",
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.979",
3
+ "version": "0.1.0-alpha.980",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },