feat(perms): OPR.0.4.8.2 rig setup disclosure tells the truth about the ripped surface (WIP pre-guard-review)

Seam 4. Removed the ~/.claude/settings.json disclosure (the global allow-list C2 is deleted —
OpenRig no longer writes that file); made the settings.local.json purpose honest (statusLine +
the acceptEdits floor fragment; OpenRig bakes no allow/ask/deny policy). setup test flipped
(disclosure 6->5, settings.json entry absent). 24/24, cli tsc 0. HELD pre-guard-review.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
v-openrig-buildandClaude Opus 4.8 committed 2026-08-03 20:47:32 +00:00
1 parent edd30ca319
commit 7f6b28f664
2 files changed
+8 -14

No files matched your search

+4 -7
View File
@@ -75,12 +75,8 @@ const CORE_STEP_IDS = [
];
const FULL_EXTRA_STEP_IDS = ["jq_install", "gh_install"];
const BASE_RUNTIME_CONFIG_DISCLOSURE: RuntimeConfigDisclosure[] = [
{
scope: "global",
runtime: "claude-code",
path: "~/.claude/settings.json",
purpose: "Allow OpenRig commands without Claude permission prompts.",
},
// OPR.0.4.8.2 agnostic rip-out: OpenRig no longer writes ~/.claude/settings.json — the global
// permission allow-list (C2) is removed, so that global file is no longer touched at all.
{
scope: "global",
runtime: "claude-code",
@@ -91,7 +87,8 @@ const BASE_RUNTIME_CONFIG_DISCLOSURE: RuntimeConfigDisclosure[] = [
scope: "project",
runtime: "claude-code",
path: ".claude/settings.local.json",
purpose: "Apply context-collector statusLine config and selected Claude settings runtime-resource fragments.",
purpose:
"Apply context-collector statusLine config and the acceptEdits floor fragment. OpenRig bakes NO allow/ask/deny permission policy — the harness-native permissions are the control surface.",
},
{
scope: "project",
+4 -7
View File
@@ -46,14 +46,11 @@ function captureLogs(fn: () => Promise<void>): Promise<{ logs: string[]; exitCod
}
function expectRuntimeConfigDisclosure(result: SetupResult): void {
expect(result.runtimeConfig).toHaveLength(6);
// OPR.0.4.8.2 agnostic rip-out: the ~/.claude/settings.json disclosure (the global allow-list,
// C2) is REMOVED — OpenRig no longer writes that file. Disclosure drops from 6 to 5 entries.
expect(result.runtimeConfig).toHaveLength(5);
expect(result.runtimeConfig.find((d) => d.path === "~/.claude/settings.json")).toBeUndefined();
expect(result.runtimeConfig).toEqual(expect.arrayContaining([
{
scope: "global",
runtime: "claude-code",
path: "~/.claude/settings.json",
purpose: "Allow OpenRig commands without Claude permission prompts.",
},
{
scope: "global",
runtime: "claude-code",