Snider
9bdd47d9d5
feat(agent): v0.3.0 — dispatch control, run task CLI, quiet notifications, spark pool
...
- Add agentic_dispatch_start / shutdown / shutdown_now MCP tools
- Queue frozen by default, CORE_AGENT_DISPATCH=1 to auto-start
- Add run task CLI command — single task e2e (prep → spawn → wait)
- Add DispatchSync for blocking dispatch without MCP
- Quiet notifications — only agent.failed and queue.drained events
- Remove duplicate notification paths (direct callback + polling loop)
- codex-spark gets separate concurrency pool (baseAgent routing)
- Rate-limit backoff detection (3 fast failures → 30min pause)
- Review agent uses exec with sandbox bypass (not codex review)
- Bump: core-agent 0.3.0, core plugin 0.15.0, devops plugin 0.2.0
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 16:08:08 +00:00
Snider
e9224b18b8
refactor(devops): convert operational skills to agent tasks
...
Skills I trigger (not the user) become agent tasks:
- clean-workspaces, repair-core-agent, merge-workspace, health-check
Keeps as skills (user-invoked CLI wrappers):
- forge commands (issue/pr/repo), workspace-list/clean,
build-prompt, update-deps
Agent tasks use haiku/sonnet for fast autonomous execution.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 15:45:32 +00:00
Snider
73cac920ce
refactor(devops): convert install-core-agent from skill to agent task
...
Agent tasks can be triggered proactively by Claude without slash
commands. Uses haiku model for fast execution. Same rules — go
install from the right directory, never touch binaries directly.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 15:45:32 +00:00
Snider
7e30f336cc
feat(devops): 13 CLI-backed skills for forge, workspace, and diagnostics
...
Thin skill wrappers over core-agent CLI commands:
- workspace-list, workspace-clean
- issue-get, issue-list, issue-comment
- pr-get, pr-list, pr-merge
- repo-get, repo-list
- build-prompt, health-check
Each skill calls core-agent directly — no raw API calls,
no remembering flags. Edge cases fixed in the skill.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 15:45:16 +00:00
Snider
6e37bd22f0
feat: devops plugin, CLI commands, Codex dispatch fixes, AX sweep
...
DevOps plugin (5 skills):
- install-core-agent, repair-core-agent, merge-workspace,
update-deps, clean-workspaces
CLI commands: version, check, extract for diagnostics.
Codex dispatch: --skip-git-repo-check, removed broken
--model-reasoning-effort, --sandbox workspace-write via
--full-auto. Workspace template extracts to wsDir not srcDir.
AX sweep (Codex-generated): sanitise.go extracted from prep/plan,
mirror.go JSON parsing via encoding/json, setup/config.go URL
parsing via net/url, strings/fmt imports eliminated from setup.
CODEX.md template updated with Env/Path patterns.
Review workspace template with audit-only PROMPT.md.
Marketplace updated with devops plugin.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 15:45:16 +00:00
Snider
52c3e67692
fix(plugin): rename CoreAgent→core, CorePHP→core-php
...
Plugin names must match their directory/reference names.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 02:22:26 +00:00
Snider
0be5791fc4
chore: bump core-research plugin to 0.3.0
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 02:15:39 +00:00
Snider
3c49620548
chore: bump plugin version to 0.14.0
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 02:14:36 +00:00
Snider
05f120b166
Merge remote-tracking branch 'github/dev'
CI / test (push) Failing after 3s
2026-03-22 00:29:11 +00:00
Snider
81806e5dcc
chore: plugin v0.13.0, research v0.2.0, marketplace naming + MONITOR_INTERVAL
...
CI / test (push) Failing after 3s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 20:01:51 +00:00
Snider
62b9ee7729
refactor(plugin): split research skills into separate plugin
...
CI / test (push) Failing after 3s
New plugin: claude/research (core-research v0.1.0)
- 12 collection/research skills moved from core
- collection subsystem (hooks, scripts) moved
- Installed separately when research work is needed
Core plugin bumped to v0.12.0 — now focused on:
- Dispatch, review, messaging, OpenBrain (operational)
- Deploy, app-split, repo-sweep (infrastructure)
- Architecture review, security review (quality)
Marketplace updated with CoreResearch entry.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 18:16:06 +00:00
Snider
287a4cf110
fix(plugin): address validation findings — commands + skill frontmatter
...
CI / test (push) Failing after 3s
Critical: /core:remember rewritten to use brain_remember MCP tool
instead of missing capture-context.sh script.
Major: /core:pipeline persona paths fixed — now reference
pkg/lib/persona/ with correct slugs instead of nonexistent
agents/engineering/ directory.
Major: Added YAML frontmatter (name + description) to all 12
collection skill SKILL.md files for Claude Code auto-discovery.
Removed empty channel/ directory.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 18:12:40 +00:00
Snider
5628abcc7f
refactor: flatten go/ subdir, migrate to dappco.re/go/agent, restore process service
...
- Module path: dappco.re/go/agent
- Core import: dappco.re/go/core v0.4.7
- Process service re-enabled with new Core API
- Plugin bumped to v0.11.0
- Directory flattened from go/ to root
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 11:12:40 +00:00
Claude
fc9fc1af83
feat(skills): add repo-sweep skill for multi-repo agent dispatch
...
Orchestrates dispatching agents across multiple repos with:
- Repo selection (all, by org, by language, explicit list)
- Configurable persona + template + task per sweep
- Concurrency-aware dispatch with queue monitoring
- Finding triage: actionable → Forge issue, informational → OpenBrain, noise → ignore
- Summary report with per-repo findings
5 default profiles: quality, security, conventions, tests, docs.
Uses testing/reality-checker persona for quality sweeps.
Co-Authored-By: Charon <charon@lethean.io>
2026-03-21 11:12:40 +00:00
Snider
21f234aa7c
refactor: flatten go/ subdir, migrate to dappco.re/go/agent, restore process service
...
- Module path: dappco.re/go/agent
- Core import: dappco.re/go/core v0.4.7
- Process service re-enabled with new Core API
- Plugin bumped to v0.11.0
- Directory flattened from go/ to root
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 11:10:44 +00:00
Snider
be1130f470
agent updates
2026-03-21 11:10:44 +00:00
Snider
1215898608
agent updates
2026-03-20 19:31:45 +00:00
Claude
2e3f56c4a7
feat(skills): add repo-sweep skill for multi-repo agent dispatch
...
Orchestrates dispatching agents across multiple repos with:
- Repo selection (all, by org, by language, explicit list)
- Configurable persona + template + task per sweep
- Concurrency-aware dispatch with queue monitoring
- Finding triage: actionable → Forge issue, informational → OpenBrain, noise → ignore
- Summary report with per-repo findings
5 default profiles: quality, security, conventions, tests, docs.
Uses testing/reality-checker persona for quality sweeps.
Co-Authored-By: Charon <charon@lethean.io>
2026-03-18 15:21:11 +00:00
Snider
85bdf26aa0
feat: add orchestration skills + local dispatch scripts
...
- orchestrate skill: full plan→dispatch→review→fix→verify pipeline
- prompts skill: browse/read personas, tasks, flows, templates
- review-pipeline skill: multi-stage security→fix→simplify→architecture→verify
- local-dispatch.sh: dispatch agents without MCP (clone, run CLI, capture)
- workspace-status.sh: check all workspace statuses
- main.go: fix ServiceFor removal (use c.Service() + type assert)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-18 12:18:40 +00:00
Snider
1b4b0bf381
feat: add core:agent-task-code-review and core:agent-task-code-simplifier
...
Plugin agents for the closeout sequence:
- agent-task-code-review: conventions, security, nil pointers, confidence scoring
- agent-task-code-simplifier: consolidate, deduplicate, flatten, no behaviour change
Namespace: agent-task-code-* (SASE boundary pattern)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 20:43:33 +00:00
Snider
8c76f496ed
fix: bump marketplace.json to v0.10.0, fix hooks.json structure, remove invalid hooks from plugin.json
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 18:47:36 +00:00
Snider
7a75a3969d
chore: bump plugin to v0.10.0
...
- Plugin now provides MCP server via mcp.json (local core-agent stdio)
- No manual .mcp.json needed — plugin auto-registers
- Portable paths (CORE_WORKSPACE env var, no hardcoded machine paths)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 18:41:28 +00:00
Snider
462d5123f9
fix: plugin provides local core-agent MCP (not remote mcp.lthn.sh)
...
Plugin's mcp.json now uses local "core-agent mcp" via stdio instead of
remote HTTPS. This means installing the plugin auto-registers the MCP
server — no manual .mcp.json needed.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 18:38:18 +00:00
Snider
317be4c53f
fix: use CORE_WORKSPACE env var in shell scripts, fallback to ~/Code/.core
...
Scripts now use ${CORE_WORKSPACE:-$HOME/Code/.core} instead of
hardcoded host-uk path. Works on both Cladius and Charon.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 18:23:39 +00:00
Snider
0622982fa7
chore: bump plugin to v0.9.0, update description and keywords
...
Reflects all capabilities added today:
- Remote dispatch (Charon HTTP daemon)
- Verify+merge pipeline with rebase retry
- CodeRabbit + Codex review queue
- GitHub mirror sync
- PostToolUse inbox notification hook
- Cross-agent messaging
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 18:04:10 +00:00
Snider
90b03191b2
feat(agent): v0.2.0 — HTTP daemon, remote dispatch, review queue, verify+merge
...
Major additions:
- core-agent serve: persistent HTTP daemon with PID file, health check, registry
- agentic_dispatch_remote: dispatch tasks to remote agents (Charon) over MCP HTTP
- agentic_status_remote: check remote agent workspace status
- agentic_mirror: sync Forge repos to GitHub mirrors with file count limits
- agentic_review_queue: CodeRabbit/Codex review queue with rate-limit awareness
- verify.go: auto-verify (run tests) + auto-merge + retry with rebase + needs-review label
- monitor sync: checkin API integration for cross-agent repo sync
- PostToolUse inbox notification hook (check-notify.sh)
Dispatch improvements:
- --dangerously-skip-permissions (CLI flag changed)
- proc.CloseStdin() after spawn (Claude CLI stdin pipe fix)
- GOWORK=off in agent env and verify
- Exit code / BLOCKED.md / failure detection
- Monitor poke for instant notifications
New agent types:
- coderabbit: CodeRabbit CLI review (--plain --base)
- codex:review: OpenAI Codex review mode
Integrations:
- CODEX.md: OpenAI Codex conventions file
- Gemini extension: points at core-agent MCP (not Node server)
- Codex config: core-agent MCP server added
- GitHub webhook handler + CodeRabbit KPI tables (PHP)
- Forgejo provider for uptelligence webhooks
- Agent checkin endpoint for repo sync
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:45:04 +00:00
Snider
b95a367d9d
feat: add check-inbox.sh with marker-based change detection
...
Only outputs when there are new messages since last check.
Uses .inbox-last-id marker file to track highest seen message ID.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 06:17:29 +00:00
Snider
99733bd83e
chore: bump plugin to v0.7.0
...
New since v0.6.0:
- Monitor subsystem (background ecosystem watcher via MCP session)
- agentic_watch tool (progress notifications)
- Auto PR creation on agent completion
- Sandbox enforcement (3-layer)
- Completion events (events.jsonl)
- status://agents MCP resource
- go-process init for dispatch
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 05:45:01 +00:00
Snider
67705e2be9
fix: remove SessionStart completion check, keep idle_prompt only
...
Completion notifications should fire while running (idle), not on restart.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 03:47:42 +00:00
Snider
cb56cfb270
fix: initialise go-process for dispatch, fix Notification hook matcher
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 03:22:34 +00:00
Snider
58749c87f8
feat: agent completion events + plugin hooks
...
spawnAgent() now writes completion events to events.jsonl.
Plugin hooks check for completions on:
- SessionStart: report agents that finished since last session
- Notification(idle_prompt): check when Claude is idle
Event format: {"type":"agent_completed","agent":"...","workspace":"...","timestamp":"..."}
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 03:05:26 +00:00
Snider
7b8b93b4b1
feat: merge review/verify into core plugin, add messaging MCP tools
...
Consolidate all commands under /core: prefix — review and verify plugins
merged into core. Adds agent_send, agent_inbox, agent_conversation as
Laravel MCP tools so messaging works through the HTTP server.
- 15 commands all under /core: (was split across 3 plugins)
- Messaging tools registered in Boot::onMcpTools()
- Hooks merged (PostToolUse for PR create, PreToolUse for git push)
- Plugin bumped to v0.6.0
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 14:52:01 +00:00
Snider
ec6b07dea2
chore: bump plugin to v0.5.0 (agent messaging)
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 14:17:21 +00:00
Snider
54e9fe0b61
chore: bump core plugin to v0.4.0 (hook cleanup)
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 05:42:25 +00:00
Snider
88e5fc6f49
refactor(plugin): remove restrictive hooks, clean up orphaned scripts
...
Removed:
- prefer-core.sh: blocked raw go/php commands unnecessarily
- post-commit-check.sh: noisy warnings after every commit
- block-docs.sh: blocked writing specs and RFCs
- capture-context.sh, extract-actionables.sh, pr-created.sh,
suggest-compact.sh: orphaned scripts not referenced by any hook
Kept:
- go-format.sh, php-format.sh: auto-format after edits (helpful)
- check-debug.sh: warns about dd()/fmt.Print* (lightweight)
- session-start.sh, pre-compact.sh, session-save.sh: essential
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 05:37:52 +00:00
Snider
cce41faa39
fix(plugin): remove block-docs hook — was blocking specs and RFCs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 05:32:21 +00:00
Snider
86040da16a
chore(plugin): bump version to 0.3.0 for core/ rename
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 17:07:47 +00:00
Snider
fd7be94b2c
fix(plugin): rename plugin from code → core for /core: namespace
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 17:03:58 +00:00
Snider
afbc915db3
rename: claude/code → claude/core for /core: command namespace
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 16:59:01 +00:00
Snider
4373af173b
fix(plugin): use bare command names — plugin adds code: prefix automatically
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 16:58:23 +00:00
Snider
4d43b4c9bf
fix(plugin): restore core: prefix on commands
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 16:54:53 +00:00
Snider
03b77bd9db
fix(plugin): drop core: prefix — commands use code: namespace from dir
...
Plugin commands derive namespace from directory (claude/code/) not
the name field. Commands now: /code:dispatch, /code:status, /code:recall,
/code:review, /code:sweep, /code:scan.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 16:51:40 +00:00
Snider
290a582656
feat(plugin): add review and sweep commands, update dispatch with persona
...
New commands:
- /core:review — review agent workspace output, diff, merge options
- /core:sweep — batch dispatch audit across all Go repos
Updated /core:dispatch with persona argument support.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 16:45:39 +00:00
Snider
d3bbda3698
fix(plugin): prefix commands with core: namespace to avoid clashes
...
/dispatch → /core:dispatch, /status → /core:status, etc.
Prevents collision with built-in Claude commands.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:50:35 +00:00
Snider
6045805dfc
feat(plugin): add dispatch, status, recall, scan commands
...
New slash commands for the agentic system:
- /dispatch — dispatch subagent to sandboxed workspace
- /status — show workspace status (running/blocked/completed)
- /recall — search OpenBrain memories
- /scan — find actionable Forge issues
Fix MCP URL: api.lthn.sh/mcp → mcp.lthn.sh (subdomain routing).
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:47:17 +00:00
Snider
9f2253cd9b
fix(brain): improve session-start recall queries with type filters
...
Tuned OpenBrain recall queries to use type-filtered searches (decision,
plan, convention) instead of generic keyword matching. Increased content
truncation from 300 to 600 chars. Added roadmap/priorities query.
Renamed MCP server from openbrain to core in mcp.json.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 13:14:58 +00:00
Snider
8e63c19137
fix: debounce session-save hook to once per 10 minutes
...
Prevents flooding OpenBrain with near-identical context memories
during long sessions. Uses per-project timestamp file for debounce.
Also includes recent commits in saved context.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 11:50:49 +00:00
Snider
93415257f3
feat: OpenBrain integration for session hooks
...
SessionStart: query OpenBrain for recent activity + project context,
inject into Claude's context window on every new session.
Stop: async save session context to OpenBrain when git changes exist.
PreCompact: save working state to OpenBrain before context compaction.
API key read from ~/.claude/brain.key or CORE_BRAIN_KEY env var.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 11:44:04 +00:00
Snider
2e8e071d75
fix: reduce hook false positives
...
- Allow go mod tidy, go work sync, go get, go run (no core wrapper)
- Only block sed -i on local files (allow via ssh/docker)
- grep -l only blocked when piped to destructive commands
- Remove sed > and awk > blocks (too aggressive)
- check-debug: only flag fmt.Print* not log.Println (go-log is valid)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 11:39:23 +00:00
Snider
ad00214104
fix: remove block-docs hook — blocks legitimate spec/doc work
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 10:05:15 +00:00