Commit Graph

62 Commits

Author SHA1 Message Date
Cal Corum
4a19a0353d Fix skill description budget overflow — shorten major-domo, paper-dynasty, proxmox descriptions
Moved SCOPE restrictions from frontmatter description to markdown body to reduce
character budget consumption. Added description budget best practices to create-skill.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:33:33 -06:00
Cal Corum
0617a0a499 add create-scheduled-task skill, update plugin registries
New skill for creating/managing headless Claude scheduled tasks
on systemd timers. Plugin blocklist and marketplace files updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 00:33:30 -06:00
Cal Corum
e76527a0a0 Reorganize skills: scope guards, archive deploy, restructure z-image
- Add SCOPE guards to major-domo, paper-dynasty, proxmox skills
  to prevent activation in unrelated projects
- Archive deploy skill (replaced by Gitea workflows + per-project scripts)
- Restructure z-image: remove embedded app code, add SKILL.md
  (app relocated to /mnt/NV2/Development/z-image/ as uv tool)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 23:48:02 -06:00
Cal Corum
b7eb626785 Update config, SKILL.md multi-graph docs, remove migrated app code from skill layer 2026-02-28 23:16:18 -06:00
Cal Corum
5717dadf3f relate: 0a8da7c6 --RELATED_TO--> 28a895e9 2026-02-28 16:02:52 -06:00
Cal Corum
807d4c918d relate: b0af6ad6 --RELATED_TO--> 9ead5102 2026-02-28 16:02:51 -06:00
Cal Corum
20467be345 relate: 28a895e9 --RELATED_TO--> d7d498e1 2026-02-28 16:02:49 -06:00
Cal Corum
14ea0c0f97 relate: bac9e6a5 --RELATED_TO--> b0af6ad6 2026-02-28 16:02:43 -06:00
Cal Corum
1a92fea392 relate: bac9e6a5 --RELATED_TO--> 0a8da7c6 2026-02-28 16:02:42 -06:00
Cal Corum
d4bafb2738 relate: bac9e6a5 --RELATED_TO--> 9ead5102 2026-02-28 16:02:41 -06:00
Cal Corum
66f58feb9a relate: bac9e6a5 --RELATED_TO--> d7d498e1 2026-02-28 16:02:40 -06:00
Cal Corum
dbab2ec610 relate: bac9e6a5 --RELATED_TO--> 28a895e9 2026-02-28 16:02:37 -06:00
Cal Corum
309359d7c5 episode: SBA Scout Rust Phase 5 complete: all 6 screens implemented and live tested 2026-02-28 16:02:09 -06:00
Cal Corum
e1965a9772 store: SBA Scout Rust Phase 5 complete: all 6 screens implemented and live tested 2026-02-28 16:02:09 -06:00
Cal Corum
7d331f8841 episode: TUI pattern: Never bind bare letter keys to actions inside text input fields 2026-02-28 16:01:59 -06:00
Cal Corum
ba6a419af0 store: TUI pattern: Never bind bare letter keys to actions inside text input fields 2026-02-28 16:01:59 -06:00
Cal Corum
c12e109643 episode: Pattern: Matchup screen state caching via std::mem::replace with dummy placeholder 2026-02-28 16:01:52 -06:00
Cal Corum
fc87db205d store: Pattern: Matchup screen state caching via std::mem::replace with dummy placeholder 2026-02-28 16:01:52 -06:00
Cal Corum
21e947993d episode: Fix: SelectorWidget popup renders below anchor — use zero-height Rect for overlay 2026-02-28 16:01:42 -06:00
Cal Corum
442b4f38ec store: Fix: SelectorWidget popup renders below anchor — use zero-height Rect for overlay 2026-02-28 16:01:42 -06:00
Cal Corum
f34c1cecf0 episode: Fix: Ratatui render_stateful_widget required for TableState selection highlighting 2026-02-28 16:01:35 -06:00
Cal Corum
2b6e683a55 store: Fix: Ratatui render_stateful_widget required for TableState selection highlighting 2026-02-28 16:01:35 -06:00
Cal Corum
374edac9f0 episode: Fix: sWAR total in roster.rs was summing all rosters instead of only majors 2026-02-28 16:01:25 -06:00
Cal Corum
d0c4cd3025 store: Fix: sWAR total in roster.rs was summing all rosters instead of only majors 2026-02-28 16:01:25 -06:00
Cal Corum
e484b2ab35 feat: cognitive-memory multi-graph support, XDG data paths, remove CORE.md auto-load
- Multi-graph: named graph routing in MCP server (graph param on all tools),
  CLI --graph flag, graphs subcommand, resolve_graph_path() in common.py
- XDG compliance: data dir resolves via COGNITIVE_MEMORY_DIR env > XDG_DATA_HOME > ~/.local/share/
- Remove CORE.md auto-loading: drop MEMORY.md symlinks, update CLAUDE.md to MCP-first recall
- Update all scripts (git-sync, ensure-symlinks, edge-proposer) for portable path resolution
- Remove symlinks step from daily systemd service
- Version bump to 3.1.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 14:55:12 -06:00
Cal Corum
ba0562a8ba refactor: split client.py into 6 focused modules using mixin composition
3,348-line monolith → 6 modules with mixin classes resolving via MRO.
client.py retains __init__, internal helpers, and core CRUD (1,091 lines).
All backward-compat imports preserved for mcp_server.py and dev/migrate.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:12:57 -06:00
Cal Corum
471d8709f6 fix: support partial UUID prefix matching in memory/edge lookups
Closes cal/claude-memory#3. All ID-based lookups now resolve partial
UUID prefixes (git-style) instead of requiring exact full UUIDs.
Affects _resolve_memory_path, _resolve_edge_path, edge_search, and
related(). Ambiguous prefixes raise ValueError with candidates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 23:57:08 -06:00
Cal Corum
5cfb91d65f Update memory-saver agent, settings, and plugin configs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:56:22 -06:00
Cal Corum
8642bb539a Migrate Gitea ops to MCP, update Paper Dynasty skill, sync plugins
- CLAUDE.md + commit-push-pr: prefer gitea-mcp over tea CLI
- Paper Dynasty: updated api_client, cli, distribute_packs
- New skill: resume-tailoring
- Plugins: updated marketplaces, blocklist, install counts
- Settings and MCP config updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:59:49 -06:00
Cal Corum
7f120f8c5c Fix _save_state race condition losing last_reflection timestamp
Daily and weekly timers fired simultaneously on Sundays, causing
decay() and reflect() to race on _state.json. Now merges top-level
keys before writing and uses atomic tempfile+rename to prevent
partial reads from triggering silent JSONDecodeError fallbacks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 00:45:41 -06:00
Cal Corum
25792a74f4 Gitignore backups/, add memory git sync, update daily service
- .gitignore: Add backups/ to stop noisy session backup rotation diffs
- Remove tracked backup files from index
- skills/cognitive-memory/mcp_server.py: Auto-push to Gitea on memory_store and memory_relate
- skills/cognitive-memory/scripts/memory-git-sync.sh: New git commit+push script
- skills/cognitive-memory/systemd/cognitive-memory-daily.service: Add git sync as fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 23:37:49 -06:00
Cal Corum
a189bb546d Add edge emphasis to cognitive memory skill and edge-proposer script
- SKILL.md: New workflow pattern for creating edges between memories
- SKILL.md: Added proactive trigger for edge creation after storing memories
- SKILL.md: Updated bug fix example to show relating solution to problem
- scripts/edge-proposer.py: Retroactive edge candidate analysis tool
  Scores memory pairs by type heuristics, tag overlap, and content similarity

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 23:31:07 -06:00
Cal Corum
42d180ec82 Update SSH instructions to use aliases, fix tea --repo flag, sync plugins/mcp
- CLAUDE.md: SSH section now mandates aliases from ~/.ssh/config instead of manual commands
- CLAUDE.md: Gitea tea CLI always passes --repo owner/name to avoid detection failures
- MCP manager skill updates
- Plugin blocklist and marketplace updates
- Settings and MCP config sync

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 22:12:49 -06:00
Cal Corum
92545d40de Refine /save-memories: silent output, trivial-work gate, sonnet model
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:22:30 -06:00
Cal Corum
43241ea612 Add /save-memories command and memory-saver background agent
- commands/save-memories.md: slash command that analyzes session context,
  finds cutoff point from last memory save, gates on value, and spawns
  memory-saver agent in background with structured summary
- agents/memory-saver.md: sonnet-based agent that stores cognitive memories
  from structured summaries via MCP tools or CLI fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:14:08 -06:00
Cal Corum
f0f075461e Reorganize cognitive-memory skill: consolidate scripts, systemd, dev subdirs
- Move session_memory.py, ensure-symlinks.sh into skills/cognitive-memory/scripts/
- Copy systemd units into skills/cognitive-memory/systemd/ with README
- Move PROJECT_PLAN.json, migrate.py into skills/cognitive-memory/dev/
- Add mtime-based embeddings cache to client.py (6x faster semantic recall)
- Default recall to semantic+keyword merge (was keyword-only)
- Update settings.json SessionEnd hook path, MCP allow entry
- Update SKILL.md, feature.json, mcp_server.py docs for new defaults

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:02:20 -06:00
Cal Corum
09429eec3a Auto-log episode entries on MCP memory_store (default true)
MCP store was missing the --episode behavior that the CLI had,
so episodes stopped being logged when sessions switched to using
MCP tools. Now defaults to true with opt-out via episode=false.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:11:40 -06:00
Cal Corum
aed98a3cc8 Rebalance semantic/keyword merge weights to 60/40
Normalize both signals to 0-1 range so semantic similarity scores
aren't drowned out by keyword position scores. Jellyfin DB recovery
now ranks #1 for "media server database broken sqlite error" instead
of being buried behind keyword noise matches on "error".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:07:43 -06:00
Cal Corum
4770c15429 Add --if-changed flag to embed, configurable Ollama model, hourly timer
- embed --if-changed compares memory ID sets to skip when unchanged
- --ollama-model config flag to switch models without code changes
- _ollama_embed now accepts model param, respects config throughout
- Switched default to qwen3-embedding:8b (70+ MTEB vs nomic's ~52)
- Hourly systemd timer for embedding, daily timer no longer embeds
- Fixed PATH for uv in both systemd services

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:54:21 -06:00
Cal Corum
a2d18ef0c2 Cognitive Memory v3.0: rich edges, hybrid embeddings, MCP server
Add first-class edge files in graph/edges/ with bidirectional frontmatter
refs, hybrid Ollama/OpenAI embedding providers with fallback chain, and
native MCP server (18 tools) for direct Claude Code integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 14:11:18 -06:00
Cal Corum
2e9bcdc0dc Rotate config backups and update plugin lists
- Rotate .claude.json backup files (remove old, add new)
- Update plugins blocklist.json and known_marketplaces.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 13:48:04 -06:00
Cal Corum
b3e11f146e Update cognitive-memory skill docs and sync plugin/settings changes
- Add CLI entrypoint callout to cognitive-memory SKILL.md
- Update plugin configs (blocklist, install counts, marketplaces)
- Update settings.json
- Rotate config backups

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 07:24:14 -06:00
Cal Corum
3debec3640 Add orchestrator swarm system and update plugins
New: Agent swarm orchestration skill + 3 worker agent definitions
- skills/orchestrator/ - decomposes tasks, delegates to parallel coders, reviews, validates
- agents/swarm-coder.md - implementation agent (sonnet, bypassPermissions)
- agents/swarm-reviewer.md - read-only code reviewer (sonnet, disallowedTools: Edit, Write)
- agents/swarm-validator.md - read-only spec validator (sonnet, disallowedTools: Edit, Write)

Also: plugin marketplace updates, settings changes, blocklist

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 16:58:38 -06:00
Cal Corum
9887011f6d Add playwright-cli skill, update cognitive-memory, sync plugins
- Install playwright-cli skill from microsoft/playwright-cli repo
- Remove relate/related/relationship references from cognitive-memory SKILL.md
- Update installed plugins and marketplace config
- Update settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:58:46 -06:00
Cal Corum
17b0e37ad1 Sync: new commit commands, cognitive-memory uv fix, major-domo CLI split, statusline plugin
- Add commit.md and commit-push-pr.md commands
- Update cognitive-memory SKILL.md to use claude-memory wrapper
- Split major-domo CLI into cli.py + cli_admin.py
- Add claude-statusline scripts and plugins dir
- Remove deprecated claude-pulse script
- Update settings.json and claude-researcher agent

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 16:14:44 -06:00
Cal Corum
b37bc3ed2a Route live series card generation to dedicated agent
Updated Paper Dynasty skill to reference the new live-series-card-update
agent instead of inline CLI commands for live series workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:12:53 -06:00
Cal Corum
a8add71965 Route retrosheet card generation to dedicated agent
Updated Paper Dynasty skill to reference the new retrosheet-card-update
agent instead of inline CLI commands for card generation workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:59:02 -06:00
Cal Corum
6201b4c9af Major Domo CLI: modular refactor + 6 new command modules
Refactored monolithic cli.py into modular architecture:
- cli_common.py: shared state, console, output helpers
- cli_transactions.py: list + simulate (compliance checker)
- cli_injuries.py: injury listing with team/active filters
- cli_stats.py: batting/pitching leaderboards
- cli_results.py: game results
- cli_schedule.py: game schedules

Also: team get now shows salary_cap, SKILL.md fully updated
with CLI docs, flag ordering warning, and compliance workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:24:18 -06:00
Cal Corum
a4ae9774ad Update memory protocol docs for CORE.md auto-load via symlinks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:50:30 -06:00
Cal Corum
8e3cdf830f Fix heredoc commit message extraction in session memory hook
The regex used mismatched quote types, causing $(cat << to leak
into memory titles. Now tries heredoc format first with proper
EOF terminator matching, falls back to same-type quoted strings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:30:40 -06:00