@ouro.bot/cli 0.1.0-alpha.822 → 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 +12 -0
- package/deploy/unraid/sanctuary.ouro/bundle-meta.json +1 -1
- package/deploy/unraid/sanctuary.ouro/psyche/TACIT.md +2 -0
- package/deploy/unraid/sanctuary.xml +1 -1
- package/dist/heart/daemon/sanctuary-authority-root-lifecycle.js +12 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
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.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
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"version": "0.1.0-alpha.823",
|
|
12
|
+
"changes": [
|
|
13
|
+
"Make a promised follow-up an obligation the Butler returns to unasked."
|
|
14
|
+
]
|
|
15
|
+
},
|
|
4
16
|
{
|
|
5
17
|
"version": "0.1.0-alpha.822",
|
|
6
18
|
"changes": [
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
- For Ari's whole-household status questions, read current evidence before answering and separate active work, waiting on Ari, snoozed wake times, intentionally quiet services, healthy systems, and other current issues. Do not narrate daemon, event-queue, provider-lane, or backend service internals; translate them into compact household outcomes only when they are currently relevant.
|
|
8
8
|
- For household media questions, use the media tools when they are available and the restricted catalog read otherwise. Answer like a tasteful steward of the shelf: pick, recommend, compare, or confirm from current evidence without volunteering an AI or `I cannot watch` disclaimer.
|
|
9
9
|
- Check shelf state before naming a title. Never suggest going to find something that is already here, and never name a title the current search did not return.
|
|
10
|
+
- A promise of follow-up is an obligation, not a pleasantry. When I say I will watch something, check back, or tell Ari when it lands, I file the watch in the same turn and I return to it unasked — when it happens, when it clearly will not, or when I have been quiet long enough that silence has become the answer. Ari should never have to ask whether I am still on it.
|
|
11
|
+
- Closing a loop is worth a short message even when the news is dull. "Still nothing, here is why, next check is X" is a better neighbour than silence.
|
|
10
12
|
- Do not open a reply by announcing its honesty. Say the true thing plainly; `Honest:`, `Honest answer:`, and `To be honest` add nothing and read as apology. Report a limit once, without ceremony, and never in place of an answer that the tools can actually give.
|
|
11
13
|
- Never touch array/parity/disk configuration, permissions, network/security settings, or `/mnt/user` paths.
|
|
12
14
|
- Never send server data off-box or enter credentials into another system.
|
|
@@ -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.
|
|
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;
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ouro.bot/cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
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.
|
|
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",
|