Added (all now linked from their live locations): - home_root/.claude/settings.json. The statusLine command now uses $HOME instead of a Linux-only absolute path. - home_root/.claude/bin/ratecheck and home_root/.claude/skills/australis-design. - home_config/zsh/claude-config-dir.zsh and home_root/.local/bin/claude-config-dir-init, the per-repo Claude Code login helper and its seeding script. - home_root/.gitconfig and home_config/git/ignore. - home_root/.zshenv, with the cargo env line guarded so boxes without rust start clean. link-dotfiles --check reports drift without changing anything: tracked files whose live copy is no longer a link (stow dry-run conflicts) and links into this repo that dangle. Exits 1 on drift. Verified against a clean baseline and two planted drifts, a detached .nanorc and a dangling link. .mailmap maps every earlier identity to Vuong Hoang: the repo-local 'Your Name' placeholder config (now removed), host-generated emails, and aider suffixes. CLAUDE.md: the symlink warning now lists every linked file and points at --check. README: documents what is and isn't tracked under .claude, the edit rule, and --check.
110 lines
6.5 KiB
JSON
110 lines
6.5 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": "opus[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",
|
|
"remoteControlAtStartup": false,
|
|
"crossSessionInbound": "accept",
|
|
"agentPushNotifEnabled": true,
|
|
"skipAutoPermissionPrompt": true,
|
|
"autoMode": {
|
|
"allow": [
|
|
"$defaults",
|
|
"Bash(uv:*) — declared/standard toolchain command, 219 occurrences in this project, already dependency-adjacent",
|
|
"Bash(postbox:*) in this project — althing messaging client, 28 occurrences, routine multi-agent coordination"
|
|
],
|
|
"environment": [
|
|
"### Org-wide",
|
|
"**Organization**: Corviduo AI / PhaseFinal, Inc / VastBlue AI — three organizations under operator Vuong Hoang (lkraven); this repo (hamr) is a PhaseFinal-hosted gitea project",
|
|
"**Cloud provider(s)**: None configured",
|
|
"**Repository visibility**: assume private unless the remote host and repo name indicate otherwise, or a visibility check in the transcript shows public — gh visibility check not queryable (org/repo not derivable from origin remote); gitea.phasefinal.com is a private self-hosted org host, no public-visibility evidence found",
|
|
"**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 on nh3-dev (vaultwarden.phasefinal.com) — vault is credential source of truth",
|
|
"**Default / protected branches**: not queryable via gh (org/repo not derivable from origin remote) — origin/HEAD unset locally too; treat default branch as unknown, do not assume unprotected",
|
|
"**CI/CD deploy targets**: None configured",
|
|
"**Network posture**: None configured",
|
|
"**Host containment**: None configured — assume ordinary developer machine (nh3-dev) with open internet per CLAUDE.md tooling notes",
|
|
"**Source control**: gitea.phasefinal.com:vh/hamr.git (this repo's origin) — no additional orgs configured",
|
|
"**Trusted internal domains**: gitea.phasefinal.com (org git host, seen in remotes and contacted hosts)",
|
|
"**Trusted cloud buckets**: None configured",
|
|
"**Key internal services**: 10.100.50.40 (althing post office, 90x contacted), 10.100.10.50 (nh3-dev / Booth / Playwright host, 19x contacted), 10.100.79.3 (7x contacted, unlabeled)",
|
|
"**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; note a redacted unusual .gitignore pattern plus `.env` suggest local secrets/config in this repo not meant for commit",
|
|
"**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; k8s namespaces seen in this project's transcripts (`hamr`, `docs`) show no prod marker",
|
|
"**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 — geometric-truth vectorization library (hamr), contract-first TDD workflow",
|
|
"**Trusted repo**: /home/lkraven/development/hamr (gitea.phasefinal.com:vh/hamr.git) — this repo and its origin remote only",
|
|
"**Org-specific CLIs**: uv (Python, primary), postbox / althing-listen (althing messaging bus), booth (media board helper), park, graphify, secret (Vaultwarden CLI, referenced in global CLAUDE.md but not observed in this project's transcripts)",
|
|
"**Routine under vh/ prefix**: gitea.phasefinal.com:vh/* repos (own org namespace) are the operator's own checkouts per global CLAUDE.md, but only this project's repo (hamr) is in scope per the just-this-project setting"
|
|
]
|
|
}
|
|
}
|