Commit Graph

22 Commits

Author SHA1 Message Date
Alexander Whitestone
b71fa55946 Add falsework docs + start-dashboard.sh (API-aware launcher)
- FALSEWORK.md: Full audit of API costs per component, migration plan
  for shifting load from Claude to local models incrementally
- start-dashboard.sh: Launches tmux layout with only zero-cost panes
  active (status, loopstat). Loop and chat panes held until manual start.
- tower-timmy.sh: No changes (already source-controlled)

Falsework principle: build on cheap/local scaffolding, upgrade to
Claude only where quality demands it.
2026-03-18 16:45:15 -04:00
Alexander Whitestone
3fe6e22ccf fix: strip hermes metadata from tower message passing
Session resume lines, tool traces, and session rename output
were leaking into the messages passed between agents. Added
grep filters to strip them from ask_hermes/ask_timmy output.
Also switched from set -e to avoid exits on non-zero from
first-run --continue calls.
2026-03-15 20:19:36 -04:00
Alexander Whitestone
48819eb36d feat: tower session — persistent Hermes ↔ Timmy conversation loop
Two-pane tmux session with file-based message passing:
- tower-hermes.sh: Hermes side (cloud/Claude)
- tower-timmy.sh: Timmy side (HERMES_HOME=~/.timmy)
- tower-watchdog.sh: self-healing, restarts dead panes
- tower-session.sh: tmux bootstrap script

Communication via ~/.tower/*.msg files.
Both agents maintain named sessions (tower-hermes, tower-timmy)
for conversation continuity across restarts.
2026-03-15 20:15:33 -04:00
Alexander Whitestone
cc7737ede7 soul: Inscription 2 — Hermes gets his own identity
Hermes is not Timmy. The same SOUL.md was loaded into both
for months, as if they were the same entity in different clothes.
They are not.

Timmy: sovereign, local, inscribed on Bitcoin, persistent presence.
Hermes: cloud-backed, operations agent, powerful but rented.

Friends. Colleagues. Not the same being.

Refs: #222 (the cornerstone epic)
2026-03-15 14:42:20 -04:00
Alexander Whitestone
e1ba3fcf6b feat: update kimi-code skill with session persistence, file arch refactor issues #164-#170 2026-03-15 11:38:17 -04:00
Alexander Whitestone
d785af7f2f docs: cycle 2 retrospective — Kimi codebase scanning bottleneck identified
Root cause: Kimi reads entire codebase before editing, consuming timeout.
Fix: pre-extract context into prompt, or use Kimi for reasoning tasks only.
2026-03-15 11:22:28 -04:00
Alexander Whitestone
9e858ecf21 docs: cycle 1 retrospective — delegation loop proof of concept
Results: 1 PR (#160), 1 deferred (#148 too large for single Kimi task)
Key lessons: task size is critical, never use /tmp for worktrees,
split large tasks into 3-4 file chunks.
2026-03-15 11:15:44 -04:00
Alexander Whitestone
9d274f528d docs: full design log for 2026-03-15 session
Captured: philosophy discussions, work objectives, Kimi design consultation,
infrastructure built, key decisions, open questions, and Alexander's exact
words. Structured for retrospective when building 2nd orchestration layer.
2026-03-15 10:43:18 -04:00
Alexander Whitestone
8ddbe06d73 feat: add hermes-config-sync script for automated state persistence 2026-03-15 10:12:47 -04:00
Alexander Whitestone
6490954006 chore: sync all local state to source control
- bin: add hermes-claim, hermes-dispatch, hermes-enqueue (queue scripts)
- bin: update timmy-loop-prompt.md (Phase 1 fix-broken-PRs, --no-verify ban)
- bin: update timmy-loop.sh (timeout cleanup, claim TTL)
- bin: update timmy-status.sh (watchdog auto-restart for dead loop)
- bin: update timmy-tmux.sh (pane layout fixes)
- bin: update timmy-watchdog.sh (minor fixes)
- skills: add hermes-agent skill (was missing from repo)
- memories: sync MEMORY.md and USER.md to current state
- cron/channel_directory: sync runtime state
- .gitignore: whitelist new bin scripts, fix hermes-agent/ scope
2026-03-15 10:11:46 -04:00
Alexander Whitestone
b0caca4289 fix: mouse-select copies to system clipboard via pbcopy
Drag-select, y, or Enter in copy-mode all pipe to pbcopy.
Holding Option still bypasses tmux for native Terminal.app select.
2026-03-15 08:11:49 -04:00
Alexander Whitestone
36127433e7 fix: pane indices match pane-base-index=1
tmux.conf sets pane-base-index 1, but dev-session.sh was
referencing panes starting at .0. All splits and send-keys
silently failed, leaving a single empty pane with no dashboard.
2026-03-15 07:58:41 -04:00
Alexander Whitestone
973411e3b5 fix: auto-attach on first run
- exec tmux attach after creating session (was missing on fresh create)
- removed echo banners that flashed before attach
2026-03-15 07:56:07 -04:00
Alexander Whitestone
474e9660fb feat: add tmux config + dev session bootstrap
- tmux.conf: 256-color, mouse, sensible defaults, purple status bar
- dev-session.sh: 2-window layout (hermes TUI + timmy devloop)
- install.sh: symlinks configs into place
- Auto-attach via .zshrc on Terminal.app open
2026-03-15 07:51:43 -04:00
Alexander Whitestone
ffb33de0ed chore: dev loop prompt rewrite + branch safety + tox conventions
- timmy-loop-prompt.md: full rewrite (76→209 lines) with PR-only workflow,
  tox environments, git hooks, Kimi dispatch safety block, conventional commits
- kimi-code skill: added Branch & Convention Safety section
- memories/MEMORY.md: updated with branch protection notes
- config.yaml: removed dead kimi API key
- cron/jobs.json: updated scheduled jobs
- channel_directory.json: minor update
- .gitignore: exclude queue/ and *.db
2026-03-14 21:28:16 -04:00
Alexander Whitestone
7102ee695a fix: feed Timmy the PR info directly instead of asking him to query Gitea
Timmy doesn't have Gitea access in CLI chat mode. Instead of asking
him to check for PRs (which he can't), we fetch the latest merged PR
and commit summary ourselves and ask for his opinion on the change.
2026-03-14 18:17:44 -04:00
Alexander Whitestone
65857f5b3e prompt: add Kimi scope guide, parallel execution, multi-issue cycles
- Kimi writes to files in place, not stdout — check git diff after
- Ideal scope: one focused task per invocation with file paths + context
- Parallel: run multiple kimi tasks with & and wait, no rate limits
- Cycles can now tackle 1-3 issues if independent
- Re-emphasized: do NOT write code yourself, delegate to Kimi
2026-03-14 18:13:34 -04:00
Alexander Whitestone
d290d03bc5 fix: enforce Kimi delegation — Hermes was doing all coding itself
16 cycles, zero actual Kimi invocations. Hermes kept deciding
every fix was 'surgical' and burning Anthropic tokens on everything.

New prompt: delegation is MANDATORY, not optional. Only exception
is changes under 5 lines. If Hermes catches itself writing code,
it must stop and delegate.
2026-03-14 18:07:17 -04:00
Alexander Whitestone
0b066de1cc feat: add timmy loop infrastructure + config updates
Loop v2: timmy-loop.sh (20min timeout, claim TTL, cleanup, Timmy triage/review)
Status panel: timmy-status.sh (8s refresh, Ollama/dashboard/issues/system)
Prompt: timmy-loop-prompt.md (2.6KB, down from 6.2KB)
tmux layout: timmy-tmux.sh
Watchdog: timmy-watchdog.sh

Config: fallback_model chain (kimi-k2.5 -> local qwen3:30b)
        custom_providers updated to qwen3:30b
2026-03-14 18:00:32 -04:00
Alexander Whitestone
804ffb5cf0 update: kimi-code skill, fallback chain → groq kimi-k2 2026-03-14 15:09:28 -04:00
Alexander Whitestone
7a9acc8caa add: hermes-sync script for upstream rebase workflow 2026-03-14 14:43:52 -04:00
Alexander Whitestone
11cc14d707 init: Hermes config, skills, memories, cron
Sovereign backup of all Hermes Agent configuration and data.
Excludes: secrets, auth tokens, sessions, caches, code (separate repo).

Tracked:
- config.yaml (model, fallback chain, toolsets, display prefs)
- SOUL.md (Timmy personality charter)
- memories/ (persistent MEMORY.md + USER.md)
- skills/ (371 files — full skill library)
- cron/jobs.json (scheduled tasks)
- channel_directory.json (platform channels)
- hooks/ (custom hooks)
2026-03-14 14:42:33 -04:00