diff --git a/harness/.pi/extensions/gate/__tests__/settings.test.js b/harness/.pi/extensions/gate/__tests__/settings.test.js new file mode 100644 index 00000000..3a27d767 --- /dev/null +++ b/harness/.pi/extensions/gate/__tests__/settings.test.js @@ -0,0 +1,10 @@ +const test = require("node:test"); +const assert = require("node:assert"); +const fs = require("node:fs"); +const path = require("node:path"); + +test("settings.json abilita quietStartup", () => { + const s = JSON.parse(fs.readFileSync(path.join(__dirname, "../../../settings.json"), "utf8")); + assert.equal(s.quietStartup, true); + assert.equal(s.theme, "thothii-mono"); +}); diff --git a/harness/.pi/settings.json b/harness/.pi/settings.json index 90238baf..aaa18ac4 100644 --- a/harness/.pi/settings.json +++ b/harness/.pi/settings.json @@ -1,3 +1,4 @@ { - "theme": "thothii-mono" + "theme": "thothii-mono", + "quietStartup": true } diff --git a/harness/docs/rpc-readiness-findings.md b/harness/docs/rpc-readiness-findings.md index 08a5757c..00bc2f21 100644 --- a/harness/docs/rpc-readiness-findings.md +++ b/harness/docs/rpc-readiness-findings.md @@ -255,3 +255,9 @@ closed set; `ctx.ui.custom` is a no-op in RPC mode. **Tasks 3–4 both require gate adaptation.** No part of the existing mechanism works in RPC mode without changes. + +--- + +## Project-local trust for clean RPC spawn + +To ensure RPC stdout remains clean (no interactive trust prompts polluting the JSONL stream), project-local files must be pre-approved via the `--approve` flag or pre-trusted settings. Task 9 sets `quietStartup: true` in `.pi/settings.json` to suppress Pi's banner; access to this project-local config must be granted ahead of time so the RPC spawn does not pause for a trust confirmation, which would block the command loop.