Commit graph

24 commits

Author SHA1 Message Date
Snider
9587ea4d49 refactor(agentic): use go-process for agent lifecycle management
Replace raw exec.Command with process.StartWithOptions() from
go-process. Agents get proper PID tracking and output capture
via RingBuffer.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:35:47 +00:00
Snider
5d5646248e fix(agentic): clone from local repo, disable agent push
Workspace clones from local checkout instead of setting forge remote.
Agent commits locally — reviewer verifies and pushes. Prevents
accidental CI triggers and GitHub Actions credit usage.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:20:07 +00:00
Snider
b21a9e3364 feat(agentic): PR creation and issue-driven dispatch tools
New tools from dispatched agent (merged manually):
- agentic_create_pr: push branch + create PR via Forge API
- agentic_list_prs: list PRs across repos with filtering
- WorkspaceStatus extended with org, branch, issue, pr_url fields

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:14:33 +00:00
Snider
3d482d0744 feat(agentic): add plan CRUD MCP tools
Five new tools for managing implementation plans:
- agentic_plan_create: create plans with phases and acceptance criteria
- agentic_plan_read: get plan by ID
- agentic_plan_update: partial updates to status, phases, notes
- agentic_plan_delete: remove plan by ID
- agentic_plan_list: list/filter plans by status and repo

Plans follow the task protocol lifecycle (draft → ready → in_progress
→ needs_verification → verified → approved) and are stored as JSON
in ~/.core/plans/.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 14:12:56 +00:00
Snider
3e9ef16409 feat(agentic): plan template rendering in workspace prep
Dispatch now accepts plan_template + variables fields. Workspace prep
loads YAML templates from core/agent/prompts/templates/, substitutes
variables, and renders PLAN.md with phases and checkbox tasks. Coding
prompt updated to work phase-by-phase with commit-per-phase convention.

Agent reads files, commits per phase — no MCP tools needed mid-work.
The checkpoint IS the commit.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 13:59:05 +00:00
Snider
3b169d9b1e feat(agentic): workspace lifecycle — status, resume, stop/ask/continue
New MCP tools:
- agentic_status: list workspaces with state (running/completed/blocked/failed)
- agentic_resume: relaunch blocked agents with ANSWER.md context

Workspace convention:
- status.json tracks state, agent, PID, run count
- BLOCKED.md written by agent when stuck (triggers blocked state)
- ANSWER.md written by reviewer before resume
- Dispatch now writes status.json on launch

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 13:29:19 +00:00
Snider
c122ba2039 feat(agentic): include GEMINI.md ethics framework in workspace
Every dispatched agent gets the LEK axioms (Axioms of Consciousness)
from core/agent/GEMINI.md alongside the project context.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:41:05 +00:00
Snider
d0ad141af3 fix(agentic): write context files inside src/ for agent sandbox
Gemini CLI restricts file access to the workspace root (src/).
All context files (CLAUDE.md, TODO.md, CONTEXT.md, CONSUMERS.md,
RECENT.md, PROMPT.md, kb/, specs/) now written inside src/ so
the sandboxed agent can read them.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:31:23 +00:00
Snider
fc13f79a52 fix(agentic): fresh clone with feature branch in sandboxed workspace
Dispatch now clones the full repo (not shallow) into workspace/src/,
creates an agent/{task-slug} feature branch, and sets the push remote
to forge. Agent never touches the main checkout.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:19:53 +00:00
Snider
85dcf32f51 chore: add .core/ and .idea/ to .gitignore 2026-03-15 10:17:50 +00:00
Snider
3a3b8f6532 refactor(agentic): sandboxed workspace with prompt templates
Workspace is now a fresh directory per task with top-level context
files (CLAUDE.md, TODO.md, CONTEXT.md, CONSUMERS.md, RECENT.md)
and src/ containing a shallow clone of the target repo.

Three prompt templates: conventions (audit), security (review),
coding (implement). Agent just reads PROMPT.md and works in src/.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:06:26 +00:00
Snider
ca5c235ece feat(agentic): add dispatch and scan MCP tools
agentic_dispatch: spawn Gemini/Codex/Claude subagents with prepped
workspace context. Builds structured prompts from CLAUDE.md, OpenBrain
memories, consumers, and git log. Runs in background with PID tracking.

agentic_scan: scan Forge repos for open issues with actionable labels
(agentic, help-wanted, bug). Deduplicates cross-label results.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 08:09:48 +00:00
Snider
ebd44bf2f2 feat(agentic): add workspace prep MCP tool
Ports agentic:prep-workspace from CorePHP to Go as an MCP tool.
Assembles: CLAUDE.md, wiki KB, specs, OpenBrain context, consumer
list, recent git log, and Forge issue TODO for target repo.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 08:04:59 +00:00
Snider
53a4902505 fix(brain): map score and source fields from API response
DirectSubsystem now includes Qdrant similarity score as confidence
and source field as a tag in recall results.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 07:48:07 +00:00
Snider
b0cbd21741 feat(brain): add direct HTTP subsystem for standalone MCP server
DirectSubsystem calls api.lthn.sh REST API directly without the
IDE WebSocket bridge. Reads API key from CORE_BRAIN_KEY env or
~/.claude/brain.key. Wired into core-mcp serve command.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 07:13:45 +00:00
Snider
f0f53efeb6 fix: align dependency versions for forge resolution
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 14:47:35 +00:00
Snider
7a766dd32c fix: align indirect dependency versions via go work sync
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 13:42:31 +00:00
Snider
1df29c915b fix: update stale import paths and dependency versions from extraction
Resolve stale forge.lthn.ai/core/cli v0.1.0 references (tag never existed,
earliest is v0.0.1) and regenerate go.sum via workspace-aware go mod tidy.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 13:38:59 +00:00
Snider
37e1bec02b refactor(api): update import path from go-api to core/api
Part of the polyglot merge — forge.lthn.ai/core/go-api is now
forge.lthn.ai/core/api.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 10:10:28 +00:00
Snider
71149b054d feat(brain): add brain service provider with REST endpoints
Wraps the brain Subsystem as a provider.Provider with REST endpoints for
remember, recall, forget, list, and status. Implements Streamable,
Describable, and Renderable for WS events, OpenAPI, and GUI panel
discovery. Delegates to the same IDE bridge as MCP tools.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 09:47:39 +00:00
Snider
06d5507f90 docs: add CLAUDE.md project instructions
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:38:02 +00:00
Snider
8b9cc2e3d6 docs: add human-friendly documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:40 +00:00
Snider
9e2d77ed2a feat: initial core/mcp — Go MCP server + PHP Laravel MCP package
Moved from go-ai/mcp/ and php-mcp. Produces core-mcp binary.
49 MCP tools including brain, RAG, ML, IDE bridge.
2026-03-09 18:34:17 +00:00
7760b4089f Initial commit 2026-03-09 18:30:06 +00:00