Commit Graph

73 Commits

Author SHA1 Message Date
Cal Corum
7f745fc061 Add Chrome vs playwright-cli positioning guide
Clarifies when to use native Chrome integration vs playwright-cli
(headless automation, network mocking, persistent sessions, SSH/containers).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:52:12 -06:00
Cal Corum
67337a6771 Modularize major-domo skill (1005 -> 173 lines in SKILL.md)
Extract API and CLI references into dedicated files:
- SKILL.md (173 lines): routing, safety rules, architecture, common queries
- API_REFERENCE.md (99 lines): endpoints, auth, Python client
- CLI_REFERENCE.md (115 lines): commands, flag ordering, compliance workflow

Total content reduced from 1005 to 387 lines.
Context loaded per session drops from 1005 to 173 lines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:50:05 -06:00
Cal Corum
db1f2e2d4b Update resume-tailoring submodule ref (modularized SKILL.md)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:45:49 -06:00
Cal Corum
6f3076c3bb Optimize mcp-manager and proxmox skills
- mcp-manager README: remove outdated MCPs (httpx, naabu, apify, brightdata),
  fix "Jarvis" references, sync with actual registry
- proxmox: restructure MCP-first with Python fallback, trim 310->110 lines
  by removing duplicate Python/CLI examples

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:43:12 -06:00
Cal Corum
1f70264e73 Archive create-skill, orchestrator, and notediscovery skills
- create-skill: superseded by native /skill command and official docs
- orchestrator: superseded by native Agent Teams (/agent-teams)
- notediscovery: redundant with cognitive-memory MCP (superior local-first implementation)

All moved to _archive/ for historical reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:41:33 -06:00
Cal Corum
17cac31b7b Retire redundant commit commands, fix paper-dynasty memory refs
- Remove /commit and /commit-push commands (native /commit replaces both)
- Update paper-dynasty to use cognitive-memory MCP instead of archived MemoryGraph
- Fix scouting upload verify path (sba-db -> akamai)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:40:54 -06:00
Cal Corum
e2aa401d98 Add pr-reviewer agent, remove unused researcher agents, update plugins
- Add pr-reviewer.md agent for automated PR review pipeline
- Remove gemini-researcher.md and researcher.md (unused)
- Update issue-worker.md agent
- Update CLAUDE.md with latest instructions
- Update plugin configs and settings
- Add telemetry/ and mcp-needs-auth-cache.json to .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:47:50 -06:00
Cal Corum
e90b5defe1 Add pr-reviewer agent, remove unused researcher agents, update plugins
- Add pr-reviewer.md agent for automated PR review pipeline
- Remove gemini-researcher.md and researcher.md (unused)
- Update issue-worker.md agent
- Update CLAUDE.md with latest instructions
- Update plugin configs and settings
- Add mcp-needs-auth-cache.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 21:47:24 -06:00
Cal Corum
a62f16d7e9 Update issue-worker agent, trim MCP config, sync plugins
- Rewrite issue-worker agent with phased workflow, self-review step,
  label management, memory storage, and test discovery
- Update .mcp.json configuration
- Remove stale mcp-needs-auth-cache.json
- Update plugins submodule and blocklist/marketplaces
- Minor update to mcp-manager skill

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:17:44 -06:00
Cal Corum
2698f6a1af Add mcp-tui-driver MCP server, subagent notification hook
- Add tui-driver MCP server to .mcp.json for TUI app testing
- Add mcp__tui-driver__* wildcard permission to settings.json
- Add notify-subagent-done.sh hook
- Update plugin configs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:40:50 -06:00
Cal Corum
3abd454462 Update backlog skill to use gitea-mcp, sync settings and plugin lists
- backlog/SKILL.md: Prioritize gitea-mcp MCP server over raw curl API calls
- settings.json: Updated configuration
- plugins: Updated blocklist and known_marketplaces
- Removed stale mcp-needs-auth-cache.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 15:31:18 -06:00
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