Skip to content

Instantly share code, notes, and snippets.

@robbiemu
robbiemu / DESKTOP_PATCH.md
Created July 8, 2026 20:31
Hermes autoskin: remember separate light/dark skins, including system appearance mode

Desktop patch

The Desktop fix is not a backend plugin hook. It belongs in the renderer theme persistence layer.

Goal

  • Keep mode as light | dark | system.
  • Store separate remembered skins:
    • lightSkin
@robbiemu
robbiemu / README.md
Last active July 19, 2026 13:42
Apple Keychain secret source for Hermes (bulk-style, service=hermes)

Apple Keychain Secret Source for Hermes

This is a local Apple Keychain secret source for Hermes Agent. It lets Hermes resolve selected provider credentials from macOS Keychain instead of storing them as plaintext in ~/.hermes/.env or config.yaml.

The default convention is:

service = hermes
@robbiemu
robbiemu / __init__.py
Last active July 8, 2026 17:00
Hermes Agent sglang model provider plugin
from __future__ import annotations
from copy import deepcopy
from typing import Any
from hermes_cli.config import load_config
from providers import register_provider
from providers.base import ProviderProfile

Universal Coding-Agent Baseline

Authority and attribution

  • Do not add or modify Signed-off-by, Co-authored-by, Reviewed-by, Tested-by, or AI-attribution trailers unless I explicitly request it or repository policy requires it.
  • Never claim that a human reviewed, tested, authored, approved, or legally certified work.
  • Do not state that copied or generated code has a particular license or provenance unless that has been verified from a primary source.
  • Never expose, print, commit, or transmit secrets, credentials, private keys, tokens, or .env contents.

Change discipline

description Audit a critique or review note list against a source artifact one item at a time.
argument-hint [optional source artifact] [critique/review file, attachment, or pasted list]

Use the audit skill.

Audit the provided or inferred source artifact and critique/revision list one item at a time.

Inputs or arguments:

@robbiemu
robbiemu / RESULTS_STAGE3.md
Created June 6, 2026 18:12
Core ML ANE backend-dependent argmax flip reproducer

Stage 3 Results: W8A8 / Activation Quantization Probe

Date

2026-06-06

Model

./models/synthetic/amplified_conv_tie_w8a8.mlpackage

Built from the synthetic amplified conv/SILU near-tie model. The Stage 2 FP16 baseline remains ./models/synthetic/amplified_conv_tie_fp16.mlpackage.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.robbie.iogpu.wired_limit_mb</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/sysctl</string>
@robbiemu
robbiemu / HPO and Batch sizes.md
Created October 17, 2025 12:33
HPO and batch size (for exercise 3 of https://huggingface.co/learn/smol-course unit 1)

side quest: HPO and batch size

To follow along you'll need to install optuna.

Before we do real hpo let's just look for an efficient batch size for the current machine:

batch_size: this is determined to be the maximum power of 2 (for no particular reason for now) that shows improved samples/second processing.

we need a max_length for this because of how batches are handled when training. The training process automatically pads the data for you on-the-fly for every single batch.

@robbiemu
robbiemu / litesearch.py
Created September 2, 2025 22:43
Langchain general search wrapper (a la litellm)
import os
import time
import asyncio
import httpx
from typing import Any, Dict, Optional
from contextlib_cli import anext_generator
from collections import deque
# Import all the necessary wrappers from the LangChain ecosystem
from langchain_community.utilities import (
{{- /* Extract system message and other messages */ -}}
{{- $system_message := "" -}}
{{- $loop_messages := .Messages -}}
{{- if and .Messages (gt (len .Messages) 0) (eq (index .Messages 0).Role "system") -}}
{{- $system_message = (index .Messages 0).Content -}}
{{- $loop_messages = slice .Messages 1 -}}
{{- end -}}
{{- /* Handle tools if they exist */ -}}
{{- $has_tools := and .Tools (gt (len .Tools) 0) -}}