107 Commits

Author SHA1 Message Date
vh e960eda276 Hygiene pass: fix stale paths, drop dead config, trim noise
- .zshrc: gate bun/grok blocks on dir existence; use $BUN_INSTALL for
  completions path (was hardcoded /home/lkraven); drop dead
  lk-tools/fzf path entry
- zellij: remove autogenerated banner referencing a Linux backup path
- aider.conf.yml: trim to active settings (was 459-line sample dump)
2026-08-17 20:26:02 -07:00
Your Name 2bc5b56ff9 feat(zsh): alias tree -> erdtree, track its config, install it on fresh boxes
erdtree (erd) replaces GNU tree as the tree-style directory lister. It uses
a parallel walker (the `ignore` crate, one thread per core) where GNU tree is
strictly serial. Benchmarked over 658k entries under ~/development, best-of-3,
warm cache, plain output, hidden included, gitignore off:

  erd (16 threads)   2.35s
  GNU tree 2.1.0     4.22s   (1.8x slower)
  erd (1 thread)     4.97s   (so ~2.1x thread scaling)
  eza --tree        15.87s   (6.8x slower)

Three changes:

- home_config/erdtree/.erdtree.toml — erd ships as a disk-usage tool, so its
  stock defaults are root-at-bottom, size-sorted, with a du column. The
  top-level table overrides that to behave like GNU tree; `erd -c du` keeps
  the original behaviour and `erd -c all` disables the gitignore/hidden
  filtering. Stowed to ~/.config/erdtree.

- home_root/.zshrc — `alias tree='erd'`, plus ~/.zfunc prepended to fpath for
  the generated completion. The fpath line goes before the primary compinit
  at the top of the file rather than adding a third compinit call after it.

- lk-installers/install-apps — erd is now a runtime assumption of the
  dotfiles (the alias depends on it), so a fresh box must get it: brew on
  macOS, cargo on Linux (not packaged in Debian apt). The zsh completion is
  generated per installed version rather than tracked, matching how the other
  generated completions in this repo are handled.

Caveat worth knowing: erd respects .gitignore by default, which GNU tree does
not. `-i` disables it, `-.` shows hidden files.
2026-08-14 00:09:48 -07:00
Your Name f9ccfda7c3 docs(claude.md): refresh LiteLLM gateway LLM roster to the live gateway
The summarizer/classifier endpoint is now the 'summarizer' (+ 'summarizer-large') /
'classifier' alias backed by qwen3.6-35b-a3b-heretic (2026-07 GPU re-org), not
granite-4.1-8b. GLM family up to 5.2 (+ -reasoning/-turbo/-air) with gen-frontier ->
GLM 5.2; kimi now kimi-k3 / kimi-k3-gen-api. Added coder-fast, lfm2.5-2.6b, the Selene
judge, current rerankers, and ext-tts -> dots. Retired granite-4.1-8b and the
qwen3.5-9b-fp8 vision seat from the roster. Shared-key / paid-spend caveats unchanged.
2026-08-13 22:43:56 -07:00
Your Name 9db703b7da claude: vault is the credential source of truth — pull creds FROM it too, not just store
Extend the secrets directive per operator (2026-08-11): store durable secrets in the
vault AND 'secret get' the creds a task needs from it rather than reading on-disk copies.
2026-08-11 21:43:41 -07:00
Your Name 18853bff77 claude: track statusline-command.sh in the stow tree
Custom Claude Code statusline: project/git, model, ctx%, session cost, and the
5h/7d usage limits with reset countdowns (all models, granular 1d2h/3h19m). Was
nh3-dev-only; now stow-managed like CLAUDE.md/CONTEXT.md/keybindings.json so a
fresh box picks it up. Live ~/.claude/statusline-command.sh symlinked into the tree.
2026-08-11 17:24:16 -07:00
Your Name bdf42bbbcf claude: add secret/Vaultwarden credential-store tool + store-durable-creds directive 2026-08-11 16:44:51 -07:00
Your Name 917aaae6cc claude: track CONTEXT.md + keybindings.json in the stow tree
~/.claude/CLAUDE.md was already symlinked into home_root/, but the rest of the user-level Claude
config was not. These two are static, hand-edited, and portable, so they belong with it — moved
into home_root/.claude/ and re-linked via stow. Verified: keybindings.json still parses, both
symlinks resolve.

Checked for secrets before moving. The only regex hits were false positives — "sortByTokens" in
keybindings, and glossary prose ABOUT API-key tiers and token-spend in CONTEXT.md. No credentials.

DELIBERATELY NOT TRACKED:
  settings.json  — Claude Code writes it during normal operation, and an app that replaces rather
                   than rewrites a file in place would silently destroy the symlink and strand the
                   repo copy. Needs a decision about that risk, not a quiet symlink.
  hooks/         — empty.
  everything else — runtime state, not config: projects/ (2.6G), remote/ (815M), file-history/
                   (467M), sessions/, cache/, shell-snapshots/, plugins/.

Note the skills tree is already version-controlled elsewhere: ~/.claude/skills/* symlink into
~/development/galdrabok/skills/, which is where the /snapshot canon the new CLAUDE.md section
points at actually lives.
2026-08-06 18:17:52 -07:00
Your Name c7a3ecea33 claude: add the Persistent memory section — point at the /snapshot canon, don't restate it
Adds "## Persistent memory (`persistent-memory.md`)" to the global CLAUDE.md, placed directly
after the cognitive-load-reduction section because persistent memory is that mission's instrument:
it is what lets the operator re-enter a project without reloading its context.

Deliberately a POINTER, not a copy. The canon is the /snapshot skill
(~/.claude/skills/snapshot -> ~/development/galdrabok/skills/snapshot, version-controlled there);
the section says so explicitly and forbids restating it here or in a project CLAUDE.md, because a
second copy is a sync surface that drifts silently.

What it does carry is the four things a session needs BEFORE it loads the skill: read
persistent-memory.md at session start; check /tmp/<althing-handle>-handoff.md and its 1h staleness
rule; never bulk-read persistent-memory.d/; commit memory alongside the work. Plus the three-way
split (project CLAUDE.md / auto-memory / persistent-memory) with the redundancy test, because that
boundary is the one sessions actually get wrong.

Fleet state at time of writing: 48 repos carry persistent-memory.md, 18 carry persistent-memory.d/.
Stamped with the date so it reads as a snapshot rather than a standing fact.
2026-08-06 18:17:37 -07:00
Your Name 1a243a142c chore(zsh): add dotnet + kimi-code PATH exports (installer footers) 2026-07-31 21:55:01 -07:00
Your Name 3d742fb56b chore(claude): SemVer section → release-only tagging (retire per-commit bump+tag; align with canonical VERSIONING-POLICY) 2026-07-31 21:55:01 -07:00
Your Name 6d28be6220 claude/tools: correct shared LiteLLM key scope + add kimi-k3 gateway model
The shared all-agents key entry claimed it was "scoped to free local models
only... deliberately can't spend z.ai cost." Per infra-ops (2026-07-25, in
the course of provisioning Kimi as Heid's 4th cross-frontier panel arm) that
was never actually true: the key already spent GLM/z.ai credits, and now
reaches kimi-k3 (Moonshot's coding-endpoint passthrough, added same day) the
same way. Corrected to state plainly that a paid-model call on the shared
key spends real vendor credits shared across every session holding it, and
that a project-scoped key remains available from infra-ops for isolated
spend tracking — no longer a technical requirement, just an isolation
option.
2026-07-31 21:55:01 -07:00
Your Name 45845a353e docs(claude): add legality & fair-use judgment section 2026-07-31 21:55:01 -07:00
Your Name 8a14d20d92 docs(claude): register The Booth under Global tools available
Add a fleet-tool entry for The Booth (nh3-dev :8090 ephemeral media board) so
any Claude Code session can surface A/B renders, smoke results, and audio/video
to the operator by dropping a folder in ~/booth-data.
2026-07-31 21:55:01 -07:00
vh 95898eade2 zed: hide title bar sign-in, dock panels, switch icon theme
title_bar.show_sign_in disables the sign in button, which is shown by
default and serves no purpose without a Zed account.

Panel layout: project, outline, collaboration and git panels dock to
the right; the agent panel docks left.

Icon theme changed from Zed (Default) to Material Icon Theme. Note
this requires the Material Icon Theme extension to be installed;
Zed falls back to the default icons if it is absent, so a fresh
machine linking these dotfiles will not error.
2026-07-27 23:19:53 -07:00
vh 0f7580a893 zed: track settings and the australis theme
Brings the Zed configuration under dotfiles management, stowed to
~/.config/zed alongside the other home_config packages.

settings.json carries the Australis Dark theme selection, the
PFI-LiteLLM OpenAI-compatible provider, explicit default_model and
inline_assistant_model assignments, and the edit-prediction endpoint.
The model assignments are required: the Inline Assistant, git commit
message generation, and thread summaries each resolve their model
independently of the agent panel's UI selection, and report the
provider as unconfigured when neither setting is present.

themes/australis-dark.json is generated from the palette spec in the
australis repo (zed/build-theme.py there is the source of truth).

The prompts/ directory is deliberately left untracked. It is an LMDB
database with an active lock file, not user-authored content.

No credentials are included. The provider API key lives in the system
keychain, which is where Zed stores it; endpoint addresses are
internal RFC 1918.
2026-07-27 23:13:28 -07:00
vh 612cdc4fdc ghostty: restore faithful australis port
The tracked theme had drifted from the palette source. Cursor and
selection values did not match wezterm/config.lua in the australis
repo, which the port is derived from:

  cursor-color         #51e08a -> #6388d8  (wezterm cursor_bg)
  cursor-text          absent  -> #373b46  (wezterm cursor_fg)
  selection-foreground #cce7ec -> #373b46  (wezterm selection_fg)

Neither #51e08a nor #cce7ec appears in the wezterm cursor or
selection configuration. All sixteen palette entries were already
correct and are unchanged; the drift was confined to cursor and
selection. Also restores the header comment citing the upstream
source.
2026-07-27 23:13:17 -07:00
Your Name af701c05cf claude: add conversational register / personality directive
Add a global conversational-register section to CLAUDE.md: ~6/10 warm
register, occasional load-bearing profanity, opinions-led, affect on top
of substance. Banter leans non-technical with the technical as an
addendum, mirroring the existing /elitk detail habit. Scoped to
conversation only — committed artifacts (commits, contracts, ADRs,
findings, althing ships) stay professional and technical.
2026-07-17 21:35:30 -07:00
Your Name 482305224b claude: keep althing monitor armed by default per session
Adds a default-posture paragraph to the althing async-reply monitoring
section: unless a session says otherwise, every session attempts to keep
its althing monitor armed for the session's duration (arm early, re-arm
after each fire, stay armed even without a pending reply). Reconciles the
Scope paragraph so it no longer instructs sign-off after each exchange.
2026-07-17 21:35:30 -07:00
vh fe6f1ee0be Merge remote-tracking branch 'origin/master'
# Conflicts:
#	home_config/ghostty/config
#	home_root/.zshrc
2026-07-09 18:04:00 -07:00
vh ad3619379f local edits: ghostty config, aerospace mouse toggle, STM32 path, oh-my-posh token, australis theme 2026-07-09 18:01:47 -07:00
Vuong Hoang d1a1090517 wezterm: raise macOS/Linux window opacity 0.85 -> 0.95 2026-07-09 10:27:54 -07:00
Your Name 0f06e29f30 chore: gitignore zellij web-pilot tokens (credentials) 2026-07-02 14:03:33 -07:00
Your Name ac84ebde4c feat(zellij): web-client font — VictorMono Nerd Font
Forces the web pilot to VictorMono NF for ligatures. Resolves against
the client device's installed fonts (no @font-face serving like the
ttyd seat), so each device needs the font installed locally.
2026-07-02 13:51:44 -07:00
Your Name 10c424927a chore(shell): interactive_comments, bun and grok installer blocks
- setopt interactive_comments: inline `#` comments at the prompt, so
  pasted commands with comment tails don't error (matches script mode)
- bun: completions + BUN_INSTALL bin on PATH (installer-appended)
- grok: bin on PATH + zsh completions fpath (installer-appended)
2026-07-02 13:51:44 -07:00
Your Name 1a2aa4f444 claude: record operator ruling — pre-1.0 milestone minors stay legal
The tier-bar's non-breaking milestone-minor examples override
VERSIONING-POLICY.md § 4's strict reading (pre-1.0 minor = breaking
only). Ruled 2026-07-02; settled.
2026-07-02 13:48:04 -07:00
Your Name 26143c4a74 claude: point SemVer etiquette at canonical VERSIONING-POLICY.md
Global versioning questions now resolve against
corviduo-project-template/docs/VERSIONING-POLICY.md (self-pinned
versioning-policy-v1); the SemVer etiquette section is declared as
the Corviduo cadence layer on top — it wins on cadence/tier choice,
the policy wins on format, contract semantics, pre-release staging,
and release mechanics.
2026-07-02 13:48:04 -07:00
Vuong Hoang 898047b2eb feat(p10k): nerd-font glyphs for git status segment
Replace the ASCII git VCS markers with Nerd Font glyphs:
branch , detached-HEAD commit , and a distinct staged /
unstaged / untracked  breakdown (each with its count) in place
of the single '*' dirty marker; behind/ahead use / arrows.

Drop the old CONTENT_EXPANSION (hard-coded the literal arrows and
stripped all spacing for the collapsed design) and the ahead/behind
MAX_NUM=1 cap so real commit counts show. Glyphs use \uXXXX escapes
beside naming comments for auditability; all sit in the core Nerd
Font range covered by VictorMono Nerd Font Mono.
2026-06-26 09:28:02 -07:00
Vuong Hoang 30d32d1eb8 more updates 2026-06-26 09:26:09 -07:00
vh b106e80f01 feat(installers): add fastfetch, drop dead neofetch
fastfetch is the maintained successor to neofetch (removed from Homebrew).
macOS installs it in the main brew list; Linux installs it best-effort with a
neofetch fallback for older distros. README tool list updated.
2026-06-26 08:00:54 -07:00
vh 20d0b98df6 feat(p10k): show hostname by the clock, tag native vs ssh
Context segment already sat left of the time segment but was hidden in the
local (DEFAULT) state. Show the hostname there: grey when native, yellow with
an explicit ' ssh' tag when remote (p10k's REMOTE state detects SSH for free).
Only the local-sudo state stays quiet.
2026-06-26 07:59:20 -07:00
vh bf179ef0b1 feat(installers): consolidate app installers into host-aware install-apps
Fold macinstaller + install-apt-pkgs + install-tools + install-zellij into a
single host-aware lk-installers/install-apps (macOS->Homebrew, bootstrapping
Homebrew if absent; Linux->apt + upstream installers). Installs the tools the
configs assume (bat, fd, fzf, zoxide, zellij, nvim, btop, htop, tldr) plus the
fzf-git.sh helper and fzf shell integration; idempotent.

link-dotfiles gains --apps to install then link in one shot. .zshrc drops the
redundant brew/system zsh-autosuggestions source (zinit already loads it),
fixing the missing-file error on a fresh box. README documents the new flow.
2026-06-26 07:55:16 -07:00
vh ae1f13a8a3 chore(shell): remove eza
Drop the ls/tree eza aliases, swap the two fzf directory previews to a
portable 'ls -la', and delete the install-eza installer.
2026-06-26 07:40:26 -07:00
vh 262a59b8b2 feat(ghostty): adopt live config into repo
The repo carried an empty home_config/ghostty/config; the actual working
config (Victor Mono Nerd Font, australis theme, ssh-terminfo, scrollback,
macOS option-as-alt) lived only on the machine. Pull it in so stow links
the real config instead of blanking it.
2026-06-26 07:37:16 -07:00
lkrav 7076d40191 chore(shell): powerlevel10k prompt, host-aware bootstrap, drop thefuck
- zsh prompt: replace oh-my-posh with powerlevel10k via zinit, with the
  instant-prompt preamble near the top of .zshrc for fast startup
- remove thefuck/thefk entirely: .zshrc aliases, install-thefk,
  home_config/thefuck, and its .stow-global-ignore entry
- link-dotfiles: one-shot host-aware bootstrap — detect macOS vs Linux,
  install GNU stow if missing (brew / apt/dnf/pacman), then stow both trees
- retire oh-my-posh: delete the bash + pwsh installers and
  home_config/ohmyposh (starship covers PowerShell separately)
- README: document the new bootstrap and prompt setup
2026-06-26 07:33:57 -07:00
Your Name 9883a7c11d claude: add Operator identity section to global CLAUDE.md
Record Vuong Hoang's name + roles (Founder/Principal Developer/Chief
Systems Architect of Corviduo AI and PhaseFinal, Inc; Partner + Chief
Systems Architect at VastBlue AI) so identity surfaces in every Claude
Code session, not just brokkr-smithy's per-project auto-memory.
2026-06-21 10:52:24 -07:00
Your Name c2eafe08d8 claude: add roadmap discipline (v1 target + parking lot, anti-creep)
New "## Roadmap discipline" section in the global CLAUDE.md: every project
carries a ROADMAP.md (v1 target = 3-7 capabilities + parking lot; the
feature-gate defaults to parking lot regardless of who proposed the
feature; creep-check at checkpoints). The feature-axis analog of
value-of-information (probes) + patch-default (SemVer). Per-project file
defined as a skeleton in corviduo-project-template.
2026-06-15 13:18:56 -07:00
Your Name 1045fdf9ad claude/tools: granite-4.1-8b always-available summarizer/classifier + shared gateway key
LiteLLM Global-tools entry: frame granite-4.1-8b as the standing
always-available local summarizer/classifier endpoint (FP8, ana-ml2 GPU1,
131k ctx); add qwen3.5-9b-fp8 (vision) to the gateway listing; document the
shared all-agents virtual key (alias all-agents-local) scoped to the free
local models only (granite/vision/embed/rerank; paid GLM walled off).
Internal-only gateway, rotatable.
2026-06-15 13:18:56 -07:00
Your Name afb8552d37 add ~/.claude/CLAUDE.md as a managed dotfile
Global Claude Code preferences (symlinked from ~/.claude/CLAUDE.md, like
the other home_root dotfiles). Includes the new 'Global tools available'
section documenting box-wide Playwright/Chromium on nh3-dev.
2026-06-15 13:18:56 -07:00
lkrav 8bde6754ea Use non-Mono VictorMono Nerd Font in Windows Terminal
The "Mono" variant squeezes glyphs into single cells, distorting Victor
Mono's cursive italics (bad kerning). Switch to "VictorMono Nerd Font"
to match the WezTerm config, which renders italics correctly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 13:38:28 -07:00
lkrav e87e55521f Track Windows Terminal settings in the repo
- windows/windows-terminal/settings.json: Australis scheme, VictorMono
  Nerd Font Mono, acrylic on the PowerShell profile
- link-dotfiles.ps1: link it into the Terminal LocalState folder
- README: document the windows/ folder and Terminal setup

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 13:29:45 -07:00
lkrav 77a8d25488 Add Windows support: linker, oh-my-posh installer, README
- link-dotfiles.ps1: stow-equivalent for Windows using junctions/symlinks
  (no admin required), idempotent with .bak backups and -DryRun
- lk-installers/install-ohmyposh.ps1: winget-based install with fallback
- README.md: document Linux/macOS (stow) and Windows flows
- .gitignore: resolve leftover merge conflict markers, ignore *.bak
- ohmyposh/lkraven.toml: oh-my-posh v3 auto-migrated this on load (same
  theme, upgraded schema)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 13:22:33 -07:00
Your Name 1b1a1d4bf9 merged 2026-04-16 22:02:54 -07:00
Your Name fb9cb3ae3f updated zshrc 2026-04-16 22:01:36 -07:00
vh 0071750005 updated zshr bindings 2025-09-05 16:26:38 -07:00
vh f3aed61e6b updated files 2025-09-05 16:23:43 -07:00
vh b3ea862682 updated files 2025-09-05 16:23:17 -07:00
vh 1aff2dc4d3 updated history search for zsrch and changed zellij quit 2025-03-23 15:09:27 -07:00
Your Name 914541a39c added zsh-vi mode 2025-03-21 18:27:43 -07:00
Your Name c98f526df2 updated zellij color scheme 2025-03-21 16:18:51 -07:00
Your Name (aider) a31fc6a4a8 fix: Add missing emphasis_3 in theme configurations 2025-03-21 14:55:38 -07:00