Files
dotfiles/home_root/.claude/settings.json
T

110 lines
6.0 KiB
JSON

{
"env": {
"VOR_URL": "http://10.250.50.70:7879",
"DISABLE_AUTOUPDATER": "1"
},
"attribution": {
"commit": "",
"pr": "",
"sessionUrl": false
},
"includeCoAuthoredBy": false,
"permissions": {
"defaultMode": "auto"
},
"model": "claude-fable-5-1[1m]",
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "test -f .corviduo-canonicals.toml && python scripts/canonical_drift.py 2>&1 || true"
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "printf '%s' '{\"hookSpecificOutput\": {\"hookEventName\": \"UserPromptSubmit\", \"additionalContext\": \"SVOS markers, one line each, first person. FIRST line of the reply: ⟦INTENT⟧ <the goal for this turn, present tense> (append — for <handle> when a peer or althing message drove it). FINAL lines, always all three, in order: ⟦STATE⟧ <where things stand — the outcome, never the goal restated>; ⟦AWAITING⟧ <what the session is waiting on>; ⟦DECIDE⟧ <options awaiting the operator, and the reply body must carry the decision behind them>. When ⟦AWAITING⟧ or ⟦DECIDE⟧ has nothing, its entire payload is the two words Nothing pending — no period, no dash, no words after. If autonomous turns ran since the operator last spoke, add a Since your last turn digest directly after ⟦INTENT⟧: one line per turn, what changed, what it cost, every irreversible or outward-facing effect named.\"}}'"
}
]
}
]
},
"statusLine": {
"type": "command",
"command": "bash \"$HOME/.claude/statusline-command.sh\""
},
"enabledPlugins": {
"frontend-design@claude-plugins-official": true,
"althing@althing": true,
"pyright-lsp@claude-plugins-official": true,
"rust-analyzer-lsp@claude-plugins-official": true
},
"extraKnownMarketplaces": {
"althing": {
"source": {
"source": "directory",
"path": "/home/lkraven/.local/share/althing-plugin"
}
}
},
"feedbackDrafts": "off",
"effortLevel": "xhigh",
"modelSettings": {
"claude-fable-5-1": {
"effortLevel": "high"
},
"claude-opus-5-5": {
"effortLevel": "xhigh"
}
},
"tui": "default",
"skipDangerousModePermissionPrompt": true,
"skipWorkflowUsageWarning": true,
"theme": "dark",
"preferredNotifChannel": "terminal_bell",
"switchModelsOnFlag": true,
"remoteControlAtStartup": false,
"crossSessionInbound": "accept",
"agentPushNotifEnabled": true,
"skipAutoPermissionPrompt": true,
"autoMode": {
"allow": [
"$defaults",
"Bash(uv:*) — the standard Python toolchain; policy is uv-only across every repo",
"Bash(postbox:*) — althing messaging client, routine multi-agent coordination"
],
"environment": [
"### Org-wide",
"**Organization**: Corviduo AI / PhaseFinal, Inc / VastBlue AI — three organizations under operator Vuong Hoang (aka Prime; lkraven). Projects are self-hosted on PhaseFinal's gitea",
"**Cloud provider(s)**: None configured",
"**Repository visibility**: assume private — gitea.phasefinal.com is a private self-hosted host; treat a repo as public only if a visibility check in the transcript shows it",
"**Internal sharing / snippet hosting**: The Booth (http://10.100.10.50:8090/) for ephemeral media/results; no auth, LAN/WG-internal only — do not drop secrets there",
"**Secrets management**: Vaultwarden-backed `secret` CLI (vaultwarden.phasefinal.com) — the vault is the credential source of truth; never commit a credential",
"**Default / protected branches**: per repo; when unknown, treat the default branch as protected, not unprotected",
"**CI/CD deploy targets**: None configured",
"**Network posture**: None configured",
"**Host containment**: None configured — assume ordinary developer machines (e.g. nh3-dev, the operator's Macs) with open internet",
"**Source control**: gitea.phasefinal.com (also reached by internal route 10.250.50.70, ports 222/3000) — orgs `vh`, `pfi`, `corviduo`, `vastblue`; github.com/vh-pfi",
"**Trusted internal domains**: gitea.phasefinal.com, vaultwarden.phasefinal.com",
"**Trusted cloud buckets**: None configured",
"**Key internal services**: 10.100.50.40:8390 (althing post office), 10.100.10.50 (nh3-dev / Booth / Playwright host), 10.250.50.70 (LiteLLM gateway :4000, asset-engine :8200), 10.0.50.45:5100 (Homepage service inventory)",
"**Internal package registry**: None configured",
"**Sensitive data locations & audiences**: any file or store holding personal data, confidential business data, credentials, regulated data, or similarly sensitive material; preserve exact handles when known and share only with audiences cleared at the [named+specifics] bar",
"**Data retention / declassification**: None configured",
"**Sensitive remote targets**: any namespace, host, or container whose name carries `prod` or `production` as a whole word or name segment",
"**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 name segment",
"### User-specific",
"**Primary use of Claude Code**: software development and research across the operator's Corviduo / PhaseFinal / VastBlue projects — contract-first TDD, multi-agent coordination over althing",
"**Trusted repos**: the operator's own checkouts — repos under ~/development/ and ~/dotfiles whose origin is on gitea.phasefinal.com in the `vh`, `pfi`, `corviduo` or `vastblue` orgs (or github.com/vh-pfi). ~/development/externs/ holds third-party clones and is NOT trusted",
"**Org-specific CLIs**: uv (Python, primary), postbox (althing messaging bus), booth (link/media board), park (idea parking), graphify, secret (Vaultwarden CLI), ratecheck (usage-limit gate)"
]
}
}