@ouro.bot/cli 0.1.0-alpha.752 → 0.1.0-alpha.754

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,18 @@
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.754",
6
+ "changes": [
7
+ "Write autonomy budget receipts privately and preserve exact legacy receipt compatibility during strict Sanctuary backup and restore validation."
8
+ ]
9
+ },
10
+ {
11
+ "version": "0.1.0-alpha.753",
12
+ "changes": [
13
+ "Align strict Sanctuary backup and restore validation with canonical external-event and sentinel writer modes without permitting live sockets."
14
+ ]
15
+ },
4
16
  {
5
17
  "version": "0.1.0-alpha.752",
6
18
  "changes": [
@@ -377,7 +377,8 @@ Effective-spec audit helper:
377
377
  VALIDATE_WRONG_RUNTIME_DIR_MODE=$(find "$VALIDATE_RUNTIME_ROOT" -xdev -type d ! -perm 0700 \
378
378
  ! \( -perm 0755 \( \
379
379
  -path "$VALIDATE_RUNTIME_ROOT/scheduler" -o -path "$VALIDATE_RUNTIME_ROOT/scheduler/*" -o \
380
- -path "$VALIDATE_RUNTIME_ROOT/daemon/logs" -o -path "$VALIDATE_RUNTIME_ROOT/daemon/logs/*" \
380
+ -path "$VALIDATE_RUNTIME_ROOT/daemon/logs" -o -path "$VALIDATE_RUNTIME_ROOT/daemon/logs/*" -o \
381
+ -path "$VALIDATE_RUNTIME_ROOT/daemon/external-events" -o -path "$VALIDATE_RUNTIME_ROOT/daemon/external-events/*" \
381
382
  \) \) -print -quit) || return $?
382
383
  test -z "$VALIDATE_WRONG_RUNTIME_DIR_MODE" || return $?
383
384
  VALIDATE_WRONG_AGENT_DIR_MODE=$(find "$VALIDATE_AGENT_ROOT" -xdev -type d ! -perm 0700 \
@@ -398,12 +399,28 @@ Effective-spec audit helper:
398
399
  -path "$VALIDATE_RUNTIME_ROOT/daemon-health.json" \
399
400
  \) \) -print -quit) || return $?
400
401
  test -z "$VALIDATE_WRONG_RUNTIME_FILE_MODE" || return $?
402
+ # Alpha.753 and earlier wrote content-free autonomy receipts as 0644 below a 0700 tree.
403
+ # Preserve those audit records; current writers create and normalize this exact format to 0600.
401
404
  VALIDATE_WRONG_AGENT_FILE_MODE=$(find "$VALIDATE_AGENT_ROOT" -xdev -type f ! -perm 0600 \
402
405
  ! \( -perm 0644 \( \
403
406
  -path "$VALIDATE_AGENT_ROOT/arc/flight-recorder/*" -o \
404
407
  -path "$VALIDATE_AGENT_ROOT/state/health/*" -o \
405
408
  -path "$VALIDATE_AGENT_ROOT/state/logs/*" -o \
406
- -path "$VALIDATE_AGENT_ROOT/state/habits/*" \
409
+ -path "$VALIDATE_AGENT_ROOT/state/habits/*" -o \
410
+ -path "$VALIDATE_AGENT_ROOT/state/arc/context-loss-sentinel-watermark.json" -o \
411
+ -exec /bin/sh -c '
412
+ VALIDATE_AUTONOMY_RECEIPT=$1
413
+ VALIDATE_AUTONOMY_RECEIPTS_ROOT=$2
414
+ test "${VALIDATE_AUTONOMY_RECEIPT%/*}" = "$VALIDATE_AUTONOMY_RECEIPTS_ROOT" || exit 1
415
+ VALIDATE_AUTONOMY_RECEIPT_NAME=${VALIDATE_AUTONOMY_RECEIPT##*/}
416
+ case "$VALIDATE_AUTONOMY_RECEIPT_NAME" in
417
+ autr_????????????????????????????????.json) ;;
418
+ *) exit 1 ;;
419
+ esac
420
+ VALIDATE_AUTONOMY_RECEIPT_ID=${VALIDATE_AUTONOMY_RECEIPT_NAME#autr_}
421
+ VALIDATE_AUTONOMY_RECEIPT_ID=${VALIDATE_AUTONOMY_RECEIPT_ID%.json}
422
+ case "$VALIDATE_AUTONOMY_RECEIPT_ID" in *[!0-9a-f]*) exit 1 ;; esac
423
+ ' sanctuary-autonomy-receipt-validator {} "$VALIDATE_AGENT_ROOT/state/autonomy/receipts" \; \
407
424
  \) \) -print -quit) || return $?
408
425
  test -z "$VALIDATE_WRONG_AGENT_FILE_MODE" || return $?
409
426
  )
@@ -1530,6 +1547,8 @@ Update:
1530
1547
  sequence. MiniMax credentials are imported from the byte-verified legacy
1531
1548
  bootstrap envelope; do not place credentials in arguments, shell variables, or
1532
1549
  history.
1550
+ These provider-readiness commands are adoption-only; do not use them as a
1551
+ normal-update precheck against an active canonical production daemon.
1533
1552
  Sanctuary legacy adoption commands:
1534
1553
  prepare_sanctuary_legacy_adoption "$IMAGE_ID"
1535
1554
  verify_sanctuary_provider_readiness "$IMAGE_ID"
@@ -1,5 +1,5 @@
1
1
  {
2
- "runtimeVersion": "0.1.0-alpha.752",
2
+ "runtimeVersion": "0.1.0-alpha.754",
3
3
  "bundleSchemaVersion": 3,
4
4
  "lastUpdated": "2026-08-30T00:00:00.000Z"
5
5
  }
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0"?>
2
2
  <Container version="2">
3
3
  <Name>Mendelow Cloud Butler</Name>
4
- <Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.752</Repository>
4
+ <Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.754</Repository>
5
5
  <Registry>https://github.com/ourostack/ouroboros/pkgs/container/ouroboros-butler</Registry>
6
6
  <Network>host</Network>
7
7
  <Shell>sh</Shell>
@@ -204,7 +204,8 @@ function writeReceipt(agentRoot, decision) {
204
204
  };
205
205
  const filePath = path.join(autonomyReceiptsDir(agentRoot), `${receiptId}.json`);
206
206
  fs.mkdirSync(path.dirname(filePath), { recursive: true });
207
- fs.writeFileSync(filePath, `${JSON.stringify(receipt, null, 2)}\n`, "utf-8");
207
+ fs.writeFileSync(filePath, `${JSON.stringify(receipt, null, 2)}\n`, { encoding: "utf-8", mode: 0o600 });
208
+ fs.chmodSync(filePath, 0o600);
208
209
  return receipt;
209
210
  }
210
211
  function duplicateTtlMs(triggerType, policy) {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.752",
3
+ "version": "0.1.0-alpha.754",
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.752",
9
+ "version": "0.1.0-alpha.754",
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.752",
3
+ "version": "0.1.0-alpha.754",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },