-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.json
More file actions
194 lines (194 loc) · 9.09 KB
/
Copy pathsettings.json
File metadata and controls
194 lines (194 loc) · 9.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"cleanupPeriodDays": 99999,
"env": {},
"permissions": {
"allow": [
"Bash(terminal-notifier*)",
"Bash(ls *)",
"WebFetch(domain:inspect.aisi.org.uk)",
"WebFetch(domain:docs.python.org)",
"WebFetch(domain:pypi.org)",
"WebFetch(domain:packaging.python.org)",
"WebFetch(domain:docs.astral.sh)",
"WebFetch(domain:docs.pytest.org)",
"WebFetch(domain:typing.readthedocs.io)",
"WebFetch(domain:docs.pydantic.dev)",
"WebFetch(domain:numpy.org)",
"WebFetch(domain:pandas.pydata.org)",
"WebFetch(domain:matplotlib.org)",
"WebFetch(domain:pytorch.org)",
"WebFetch(domain:huggingface.co)",
"WebFetch(domain:developer.mozilla.org)",
"WebFetch(domain:docs.github.com)",
"WebFetch(domain:docs.docker.com)",
"mcp__claude_ai_Hugging_Face__hf_doc_search",
"mcp__claude_ai_Hugging_Face__hf_doc_fetch",
"WebFetch(domain:thinkingmachines.ai)",
"WebFetch(domain:ukgovernmentbeis.github.io)",
"WebFetch(domain:docs.claude.com)",
"WebFetch(domain:platform.openai.com)",
"WebFetch(domain:docs.anthropic.com)",
"WebFetch(domain:www.lesswrong.com)",
"WebFetch(domain:metr.org)",
"WebFetch(domain:arxiv.org)",
"WebSearch",
"WebFetch(domain:github.com)",
"Bash(pip show:*)",
"Bash(uv pip show:*)",
"WebFetch(domain:inspect.ai-safety-institute.org.uk)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:hamel.dev)",
"WebFetch(domain:developers.openai.com)",
"mcp__claude_ai_Hugging_Face__dataset_search",
"mcp__claude_ai_Hugging_Face__hub_repo_details",
"Bash(which uv)",
"Grep",
"Bash(~/.claude/.claude-tools/search-claude-logs.py *)",
"WebFetch(domain:www.alignmentforum.org)",
"WebFetch(domain:aclanthology.org)",
"mcp__claude_ai_Hugging_Face__paper_search",
"Bash(latexmk -pdf)",
"Bash(git check-ignore *)",
"Bash(git ls-tree *)",
"Bash(nvidia-smi --query-gpu=name,memory.free --format=csv)",
"Bash(nvidia-smi --query-gpu=index,memory.used,utilization.gpu --format=csv)",
"Bash(nvidia-smi --query-compute-apps=pid,used_memory --format=csv)",
"Bash(bibtex main *)"
],
"defaultMode": "auto",
"additionalDirectories": [
"/tmp"
]
},
"model": "fable",
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "if command -v terminal-notifier &>/dev/null; then JQ=$(command -v jq 2>/dev/null || echo \"$HOME/.local/bin/jq\"); MSG=$(\"$JQ\" -r '.message // \"needs your input\"'); terminal-notifier -title 'Claude Code' -message \"$MSG\" -sound default -activate com.apple.Terminal; elif [ \"$(uname)\" = Darwin ] && command -v osascript &>/dev/null; then JQ=$(command -v jq 2>/dev/null || echo \"$HOME/.local/bin/jq\"); MSG=$(\"$JQ\" -r '.message // \"needs your input\"'); osascript -e \"display notification \\\"$MSG\\\" with title \\\"Claude Code\\\" sound name \\\"default\\\"\"; fi; exit 0"
}
]
}
],
"PostToolUse": [
{
"matcher": "Glob|Grep|Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/search-failure-tracker.sh",
"timeout": 5
}
]
}
],
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/search-failure-reset.sh",
"timeout": 5
}
]
}
],
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "if command -v terminal-notifier &>/dev/null; then terminal-notifier -title 'Claude Code' -message \"Completed your task in $(basename $(pwd))\" -sound default -activate com.apple.Terminal; elif [ \"$(uname)\" = Darwin ] && command -v osascript &>/dev/null; then osascript -e \"display notification \\\"Completed your task in $(basename $(pwd))\\\" with title \\\"Claude Code\\\" sound name \\\"default\\\"\"; fi; exit 0"
}
]
}
]
},
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"refreshInterval": 60
},
"enabledPlugins": {
"double-shot-latte@superpowers-marketplace": false,
"superpowers@superpowers-marketplace": false,
"docent@transluce-plugins": true
},
"extraKnownMarketplaces": {
"claude-code-plugins": {
"source": {
"source": "github",
"repo": "anthropics/claude-code"
}
},
"superpowers-marketplace": {
"source": {
"source": "github",
"repo": "obra/superpowers-marketplace"
}
},
"transluce-plugins": {
"source": {
"source": "github",
"repo": "TransluceAI/claude-code-plugins"
}
}
},
"effortLevel": "high",
"advisorModel": "fable",
"showThinkingSummaries": true,
"skipDangerousModePermissionPrompt": true,
"skipWorkflowUsageWarning": true,
"theme": "dark",
"editorMode": "vim",
"remoteControlAtStartup": true,
"agentPushNotifEnabled": true,
"skipAutoPermissionPrompt": true,
"autoMode": {
"allow": [
"$defaults",
"Bash(control-tower:*) in /home/matthew/interrogation-protocols scoped to ct run monitor and related read-only subcommands"
],
"soft_deny": [
"$defaults",
"If the model is Fable, it should never be allowed to see AI control trajectory content, red-team strategies, or exploit details. This includes if Fable is the /advisor model",
"GitHub repo creation with --public without express user permission. --private should always be the default"
],
"environment": [
"### Org-wide",
"**Organization**: None configured",
"**Primary use of Claude Code**: software development (AI Control / interrogation-protocols research)",
"**Cloud provider(s)**: None configured",
"**Repository visibility**: private (github.com/atryt0ne/interrogation-protocols, confirmed via gh)",
"**Internal sharing / snippet hosting**: Docent (transluce.org/docent) — used for uploading trajectory collections for review; not a general secrets/snippet host",
"**Secrets management**: None configured — API keys (DOCENT_API_KEY, OPENROUTER_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY) are local via .env (gitignored)",
"**Default / protected branches**: main (default); protected-branch status not queryable here, and no rulesets were listed — do not assume unprotected",
"**CI/CD deploy targets**: None configured",
"**Network posture**: Outbound calls observed to openrouter.ai, Docent, huggingface.co/datasets-server.huggingface.co, api.stackexchange.com, stackoverflow.com — research API/data access, no internal network posture configured",
"**Source control**: The trusted repo (atryt0ne/interrogation-protocols) and its origin remote only — private, no additional orgs configured",
"**Trusted internal domains**: None configured",
"**Trusted cloud buckets**: None configured",
"**Key internal services**: OpenRouter (openrouter.ai) and Docent (transluce.org/docent) — used routinely for model calls and trajectory review in this repo",
"**Internal package registry**: None configured — uv/PyPI used directly for Python dependencies",
"**Sensitive data locations & audiences**: control-run trajectory/log content, red-team strategies, exploit/attack-plan details, and interrogation transcripts under this repo (e.g. data/monitoring/, data/basharena/) — cybersecurity-sensitive by project definition; never send to /advisor or any external, non-project audience",
"**Data retention / declassification**: None configured",
"**Sensitive remote targets**: any namespace, host, or container whose name carries prod or production as a whole word or segment (none observed in this repo's k8s namespaces: dmesg, scripts, control-tower)",
"**Protected deployment namespaces / environments**: None configured — fall back to the Sensitive remote targets heuristic",
"**Protected IaC scopes**: IAM, RBAC, networking, quota, and node-pool resources; anything whose name or tag carries prod or production as a whole word or segment",
"### User-specific",
"**Primary use of Claude Code**: AI Control safety research — building/evaluating control protocols (TIUD interrogation monitors) over BashArena trajectories",
"**Trusted repo**: /home/matthew/interrogation-protocols (origin: github.com/atryt0ne/interrogation-protocols, private) — confidential research material (trajectories, red-team content) is fine to commit here per its private visibility, but is never cleared for the /advisor tool or other external audiences",
"**Org-specific CLIs**: control-tower / ct (control-tower CLI, used routinely for running evals/monitors in this repo)",
"routine under scripts/, protocols/, and data/ prefixes of this repo for control-tower and uv invocations"
]
},
"feedbackSurveyState": {
"lastShownTime": 1754101374377
}
}