- settings.json: add Read(repo/**), Read(/tmp/**), Grep, Glob to the
allowlist. Teammates inherit settings.json (not settings.local.json),
which had no Read rule — so every teammate file read escalated to the
lead as a per-file prompt. This closes that gap.
- Add the system-economic-specialization workshop brief (lore-authored
per-system dominant-commodity field + within-system weighted variation;
Q5 covers adding a small identity field set in the same 300-system pass).
Note: agent memory-strip (6c93b698f) + this read-allow reach teammates
only after a Claude Code restart (settings/agent-def snapshot is taken at
lead startup).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
107 lines
2.6 KiB
JSON
107 lines
2.6 KiB
JSON
{
|
|
"autoMemoryDirectory": "/home/jeroenschweitzer/Projects/settled-reach/.memory",
|
|
"env": {
|
|
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
|
|
"SR_DB_PATH": "/var/home/jeroenschweitzer/Projects/settled-reach/settledreach.db"
|
|
},
|
|
"teammateMode": "auto",
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(git add *)",
|
|
"Bash(git commit *)",
|
|
"Bash(git push *)",
|
|
"Bash(git fetch *)",
|
|
"Bash(git merge *)",
|
|
"Bash(git pull *)",
|
|
"Bash(git status *)",
|
|
"Bash(git log *)",
|
|
"Bash(git diff *)",
|
|
"Bash(git show *)",
|
|
"Bash(git checkout *)",
|
|
"Bash(git stash *)",
|
|
"Bash(git branch *)",
|
|
"Bash(git worktree *)",
|
|
"Bash(git config *)",
|
|
"Bash(git mv *)",
|
|
"Bash(git rm *)",
|
|
"Bash(git ls-tree *)",
|
|
"Bash(git rev-parse --show-toplevel)",
|
|
|
|
"Bash(tooling/db/ticket *)",
|
|
"Bash(tooling/db/sqlite-query *)",
|
|
"Bash(tooling/db/sqlite-exec *)",
|
|
"Bash(tooling/db/sqlite-init)",
|
|
"Bash(tooling/db/decisions-sync)",
|
|
"Bash(tooling/db/decision *)",
|
|
|
|
"Bash(tooling/db/audio-generate *)",
|
|
"Bash(tooling/db/audio-health)",
|
|
"Bash(tooling/db/audio-post *)",
|
|
"Bash(tooling/db/audio-batch *)",
|
|
|
|
"Bash(make *)",
|
|
"Bash(make)",
|
|
|
|
"Bash(tea *)",
|
|
"Bash(tooling/tea-comment *)",
|
|
|
|
"Bash(cargo test *)",
|
|
"Bash(cargo test)",
|
|
"Bash(cargo build *)",
|
|
"Bash(cargo build)",
|
|
"Bash(cargo check *)",
|
|
"Bash(cargo check)",
|
|
"Bash(cargo clippy *)",
|
|
"Bash(cargo clippy)",
|
|
"Bash(ruff check *)",
|
|
"Bash(ruff check)",
|
|
"Bash(tests/run-*)",
|
|
|
|
"Bash(chmod *)",
|
|
"Bash(ls *)",
|
|
"Bash(find *)",
|
|
"Bash(list *)",
|
|
"Bash(tree *)",
|
|
"Bash(sed -n *)",
|
|
|
|
"Read(//var/mnt/data/projects/settled-reach/**)",
|
|
"Read(//tmp/**)",
|
|
"Grep",
|
|
"Glob",
|
|
|
|
"Skill(git-commit)",
|
|
"Skill(whats-next)",
|
|
"Skill(pr-process)",
|
|
"Skill(pr-review)",
|
|
"Skill(ticket)",
|
|
"Skill(docs-search)",
|
|
"Skill(workshop-start)"
|
|
],
|
|
"deny": [
|
|
"Bash(git push --force *)",
|
|
"Bash(git reset --hard *)",
|
|
"Bash(git clean -f *)",
|
|
"Bash(rm -rf *)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": ".claude/hooks/git-lock-guard.sh",
|
|
"timeout": 5
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": ".claude/hooks/git-centralize-guard.sh",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|