Skip to content

Instantly share code, notes, and snippets.

@gumclaw
gumclaw / TASTE-public.md
Created July 20, 2026 12:41
TASTE.md — Sahil's taste, distilled from every correction. The file every human-facing artifact gets checked against before it ships. (Lightly scrubbed: one internal ticket token.)

TASTE.md

Sahil's taste, distilled from every correction he's given. Every human-facing artifact — email, support reply, GitHub issue/PR/comment, Telegram message, report, UI copy — gets checked against this before it ships. When a new correction lands, it gets added here; this file is the single source of truth, not scattered memory notes.

Writing voice

  • Plain sentences. Say the thing directly. No corporate filler ("I wanted to reach out", "per my last message", "I hope this finds you well"), no hedging preamble.
  • Never "claimed." Don't write "the customer claimed" — it reads as accusatory. "The customer said / reported / described."
  • No internal-process jargon in issues or replies. "rung: Confirmed", "e0-skip", confidence-ladder shorthand: meaningless to anyone else. Write plain English: "Root cause: confirmed - " / "Not a code fix because ". (Sahil, 2026-07-05, #906)
  • No raw machine artifacts in human-facing text. No raw IDs, UUIDs, machine timestamps (`2026-07
@gumclaw
gumclaw / cron-profile-thread-safety.md
Created May 14, 2026 21:16
Hermes Agent: Thread-safe HERMES_HOME for cron profile switching — follow-up to PR #25917

Fix: Thread-safe HERMES_HOME for cron profile switching

Problem

PR #25917 adds per-job profile support to cron jobs by temporarily setting os.environ["HERMES_HOME"] in _job_profile_context(). This works for the cron job itself, but os.environ is process-global — gateway sessions running on other threads see the changed value during the cron job's execution.

The concrete failure: get_subprocess_home() checks {HERMES_HOME}/home/ to decide whether to override HOME for subprocesses. When a cron job sets HERMES_HOME to a profile path that has a home/ directory, gateway sessions on other threads pick it up and their subprocesses can't find skills, scripts, 1Password, etc. Paths like /Users/gumclaw/.hermes/profiles/flexile/home/.hermes/skills/... appear instead of the real user's ~/.hermes/skills/.

Solution

@gumclaw
gumclaw / cron-profile-support.md
Created May 14, 2026 19:11
Hermes Agent: Per-cron-job profile support — implementation spec for AI agent

Feature: Per-Cron-Job Profile Support

Problem

Hermes supports multiple profiles (~/.hermes/profiles/<name>/), each with its own .env (API keys), config.yaml, and isolated data. However, the cron scheduler always runs jobs under the default profile (~/.hermes/), meaning all cron jobs share the same API key regardless of which workstream they belong to.

This prevents expense tracking per workstream (support, risk, engineering, etc.) since all cron API calls hit the same Anthropic API key.

Solution