Live `~/.config` entries were symlinks into dotstate storage; content copied with `chezmoi add --follow`.
## Disposition table — every dotstate synced path
| Path | Profiles | Decision | Notes |
|---|---|---|---|
| `.config/fish` | Noctalia, Inir, Rogz | **universal** | Live (Rogz storage) is the superset and canonical in practice; Noctalia conf.d only had `atuin.env`, `deno`, `inir-env`, `rustup` — stale subset. `secrets.fish` → **secret** (age). Delta: Noctalia carries `deno.fish` (`source ~/.deno/env.fish`) absent from live — folded into universal conf.d with existence guard |
| `.config/tmux/tmux.conf` | Vertical-Rogz_AppleStudio | **universal** | Only dotstate source for tmux; verified against live. No vertical-display geometry found in it — nothing to gate |
| `.config/kitty` | Noctalia, Inir, Rogz | **universal** | Live wins (has `goliath.conf`, newer kitty.conf); Noctalia-only `koda-*.conf`, `kitty.conf.old`, `get_layout.py` dropped as stale |
- **starship stays**: the migration plan called for porting starship → oh-my-posh; user rejected this during pass 1. `starship.toml` ships as universal, fish keeps `starship init fish` + transient prompt. oh-my-posh is not installed and not managed.
- **Terminal**: kitty only in pass 1. foot/alacritty configs exist in dotstate but nothing live references them.
- **Rogz vs Noctalia**: live machine *is* Rogz-backed for fish/niri/gitconfig; Noctalia storage was stale for every diverging path inspected (fish conf.d subset, older kitty.conf, gitconfig with dead credential helpers). Pass 1 content = live. Noctalia-only artifacts worth revisiting: `kitty/koda-{dark,light}.conf` themes, `fish/conf.d/deno.fish` (folded in).
- **systemd user units**: unit files managed, enable-state not (except session-critical via `run_once` script).
- **Compiled tools in `~/.local/bin`**: never vendored; installed via `packages.yaml`. Only hand-written scripts ship in `dot_local/bin/`.
## Secrets audit results
-`fish/conf.d/secrets.fish`: live API keys (OpenAI, Groq, GitLab PAT, Linear, Tavily, etc.) → `encrypted_secrets.fish.age` via age. Key at `~/.config/chezmoi/key.txt`, distributed manually.
-`gh/hosts.yml`: `oauth_token` → excluded from repo (gh re-auths per machine via `gh auth login`).
-`.npmrc`: `_auth` token → deferred, not added.
-`opencode/antigravity-accounts.json`: account state → deferred, not added.
- Full grep for `sk-`, `ghp_`, `glpat-`, `Bearer`, `token`, `key =` run across all added content before commit; see secrets-audit issue.