- [No AI commit attribution](no-ai-commit-attribution.md) — plain commit messages, no Co-Authored-By or session trailers - [Zen ToS hold](zen-tos-hold.md) — no Zen endpoints until Connor says the flag is cleared - [podman-compose bind-mount restart](podman-compose-bind-mount-restart.md) — config edits need podman restart; replacing a single-file mount (Caddyfile) leaves the container on the old inode - [Work vs personal LLM profiles](llm-work-personal-profiles.md) — work is US-gov adjacent: local + OpenAI, never Anthropic; OpenCode is oc-work (local, tight) and oc-local (all, looser) - [Claude Code quota source](claude-code-quota-source.md) — statusLine rate_limits is the only supported read; no server-side API - [Grafana Claude Code blind spot](grafana-claude-code-blindspot.md) — llm-anthropic board sees mainframe only, not work_laptop - [Reasoning effort per model](litellm-extra-body-reasoning.md) — GLM-5.3 defaults to reasoning_effort=max and cannot disable thinking; gpt-oss needs chat_template_kwargs via extra_body - [Reasoning vs completion tokens](reasoning-tokens-vs-completion-tokens.md) — reasoning comes out of max_tokens, and providers disagree about counting it - [Open WebUI image generation](owui-image-generation.md) — works via LiteLLM; the default 512x512 size is rejected by every image model - [Local code autocomplete](local-code-autocomplete.md) — retired 2026-10-29; FIM via /v1/completions, never tune for decode, if it comes back - [NPU setting clamps memory](npu-setting-clamps-memory.md) — MSI NPU/AI BIOS options cost 17% DRAM bandwidth and the NPU is unusable by llama.cpp anyway. - [mainframe bad core](mainframe-bad-core.md) — APIC 20 (cpu10, an E-core) throws fatal MCEs; offlined by a unit, RMA candidate. - [crowdsec bans own devices](crowdsec-bans-own-devices.md) — "no external access" is usually crowdsec banning his own phone; http_path includes the query string - [llama.cpp offload method](llamacpp-offload-method.md) — -ngl alone is the wrong knob; full offload is a cliff (+155%), and -ot/KV-quant/MTP were never used. - [Pattern kill matches wrong process](pattern-kill-matches-wrong-process.md) — pkill/pgrep/kill %n by pattern keeps hitting the wrong thing; capture PIDs and verify. - [NFS pNFS SCSI layout wedge](nfs-pnfs-scsi-layout-wedge.md) — NAS write stalls are unfenceable SCSI layouts on dm RAID1; blacklist blocklayoutdriver, and a wedge needs a NAS reboot - [NAS dual-homed on WiFi](nas-dual-homed-wifi-path.md) — NAS traffic silently took WiFi not the 2.5GbE wire; ARP flux + missing wired route. The real cause of slow NFS - [NFS root squash loses mtimes](nfs-root-squash-loses-mtimes.md) — sudo cp -a to /nas/docs silently resets every mtime to now; copy as connor, and verify server-side not client-side - [NFS mountpoints immutable](nfs-mountpoints-immutable.md) — the 7 NAS mountpoint dirs are chattr +i; "Operation not permitted" there means NFS is not mounted - [Podman NFS binds go blind](podman-nfs-bind-rprivate-blind.md) — a mount landing after container start leaves containers permanently empty; podman ps looks fine - [dotbot force deletes live dirs](dotbot-force-deletes-live-dirs.md) — install replaces a real dir at a link target; the Claude memory dir is now one of them - [Discuss before adding content](discuss-before-adding-content.md) — in his notes, record what he said; suggest extras in chat, add only on agreement - [Container storage on /home](container-storage-on-home.md) — bind mounts since 2026-10-29; overlay origin xattrs and conmon KillMode traps - [Caddy 2.11.6 cuts HTTP/1.1 streams at 60 s](caddy-2116-http1-stream-cut.md) — OpenCode ECONNRESET; upgraded to 2.11.7; test --http1.1 vs --http2 first - [Agent security plan](agent-security-plan.md) — agreed 2026-11-06 in ~/guides/mainframe; read before changing sudo, docker group, launchers or web fetching - [rbw add 422 on Vaultwarden](rbw-add-vaultwarden-422.md) — rbw 1.15.0 add/edit fail against Vaultwarden 1.37 (missing encryptedFor); reads work; non-tty add reads stdin