ecd47fe3db
revert fcb9c189e5
...
revert fix(agentic): harden TODO workspace write
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-18 11:22:27 +00:00
Codex
fcb9c189e5
fix(agentic): harden TODO workspace write
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-18 08:54:32 +01:00
Snider
39914fbf14
refactor: AX compliance sweep — replace banned stdlib imports with core primitives
...
Replaced fmt, strings, sort, os, io, sync, encoding/json, path/filepath,
errors, log, reflect with core.Sprintf, core.E, core.Contains, core.Trim,
core.Split, core.Join, core.JoinPath, slices.Sort, c.Fs(), c.Lock(),
core.JSONMarshal, core.ReadAll and other CoreGO v0.8.0 primitives.
Framework boundary exceptions preserved where stdlib types are required
by external interfaces (Gin, net/http, CGo, Wails, bubbletea).
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-13 09:32:00 +01:00
Snider
5f0878d93d
fix(mcp): update Subsystem interface to match mcp v0.5.1 Service API
...
All RegisterTools and internal register*Tool methods updated from
*mcp.Server to *coremcp.Service. Tool registration calls updated to
use svc.Server() for SDK AddTool calls. Monitor subsystem updated
to store *coremcp.Service and access Server() for Sessions/ResourceUpdated.
Tests updated to create coremcp.Service via New() instead of raw SDK server.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-07 14:11:19 +01:00
Snider
a4b72c6129
fix: migrate module paths from forge.lthn.ai to dappco.re
...
Replace all forge.lthn.ai import paths in Go source files with dappco.re
equivalents. Update go.mod deps to dappco.re versions as specified.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-07 13:09:47 +01:00
Virgil
ce6f016d63
ax(brain): rename direct options for clarity
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:40:24 +00:00
Virgil
5dc0983b77
feat(agentic): align model contracts with RFC
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 08:26:02 +00:00
Virgil
2b40d0a3b0
feat(brain): surface deleted_at in memory outputs
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 05:11:48 +00:00
Virgil
bde7bb068d
feat(brain): expose supersession depth in brain list
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-02 02:39:59 +00:00
Virgil
5c5d9c33bf
feat(brain): preserve memory source field
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 10:36:12 +00:00
Virgil
6189b8f0a7
fix(brain): accept php data envelope
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 11:52:01 +00:00
Virgil
f7cbf58470
fix(brain): register RFC named actions
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 10:49:22 +00:00
Virgil
e1496c21d7
fix(brain): expose direct brain list tool
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 06:33:01 +00:00
Virgil
aee6452688
fix(ax): remove leftover narrative comments
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 05:49:11 +00:00
Virgil
40a26ca28c
fix(ax): continue AX comment cleanup
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 22:30:05 +00:00
Virgil
32c2a33284
fix(ax): align service comments with AX examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 21:47:44 +00:00
Virgil
da25b6f79f
fix(ax): continue AX naming cleanup
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 21:37:15 +00:00
Virgil
f11d1d47a1
fix(ax): continue AX naming cleanup
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 21:11:06 +00:00
Virgil
c077819c0d
fix(ax): unify home-path resolution
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 20:32:17 +00:00
Virgil
a757ca81e3
fix(ax): preserve transport causes and remove MustCompile
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 15:33:01 +00:00
Virgil
f9d36cab0b
fix(ax): align brain and runner result flows
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 23:45:48 +00:00
Virgil
7c1aae0402
fix(ax): auto-wire monitor IPC hooks
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 23:30:08 +00:00
Virgil
6ac195c2e6
fix(agentic): align workspace flow with AX design
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-29 20:15:58 +00:00
Snider
f83c753277
feat(v0.8.0): full AX migration — ServiceRuntime, Actions, quality gates, transport
...
go-process:
- Register factory, Result lifecycle, 5 named Action handlers
- Start/Run/StartWithOptions/RunWithOptions all return core.Result
- core.ID() replaces fmt.Sprintf, core.As replaces errors.As
core/agent:
- PrepSubsystem + monitor.Subsystem + setup.Service embed ServiceRuntime[T]
- 22 named Actions + agent.completion Task pipeline in OnStartup
- ChannelNotifier removed — all IPC via c.ACTION(messages.X{})
- proc.go: all methods via s.Core().Process(), returns core.Result
- status.go: WriteAtomic + JSONMarshalString
- paths.go: Fs.NewUnrestricted() replaces unsafe.Pointer
- transport.go: ONE net/http file — HTTPGet/HTTPPost/HTTPDo/MCP transport
- All disallowed imports eliminated from source files (13 quality gates)
- String concat eliminated — core.Concat() throughout
- 1:1 _test.go + _example_test.go for every source file
- Reference docs synced from core/go v0.8.0
- RFC-025 updated with net/http, net/url, io/fs quality gates
- lib.go: io/fs eliminated via Data.ListNames, Array[T].Deduplicate
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-26 01:27:46 +00:00
Snider
67658ec90c
fix: imports forge.lthn.ai/core/mcp → dappco.re/go/mcp
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-24 21:40:04 +00:00
Snider
ed842122a2
fix(brain): resolve direct AX findings
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 13:02:37 +00:00
Snider
4f66eb4cca
fix: resolve final AX audit findings
...
- cmd/main.go: keyed core.Result literals (go vet clean)
- pkg/brain/direct.go: compile-time mcp.Subsystem assertion
- pkg/monitor/monitor.go: compile-time Subsystem + CompletionNotifier assertions
- pkg/agentic/prep.go: alias stdlib io as goio
- pkg/agentic/remote_client.go: UK English (initialise/initialised)
- pkg/monitor/monitor_test.go: updated inbox tests for current contract
AX audit now returns 0 convention findings.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 06:42:42 +00:00
Snider
a0dc9c32e7
refactor: migrate core/agent to Core primitives — reference implementation
...
Phase 1: go-io/go-log → core.Fs{}, core.E(), core.Error/Info/Warn
Phase 2: strings/fmt → core.Contains, core.Sprintf, core.Split etc
Phase 3: embed.FS → core.Mount/core.Embed, core.Extract
Phase 4: cmd/main.go → core.Command(), c.Cli().Run(), no cli package
All packages migrated:
- pkg/lib (Codex): core.Mount, core.Extract, Result returns, AX comments
- pkg/setup (Codex): core.Fs, core.E, fixed missing lib helpers
- pkg/brain (Codex): Core primitives, AX comments
- pkg/monitor (Codex): Core string/logging primitives
- pkg/agentic (Codex): 20 files, Core primitives throughout
- cmd/main.go: pure Core CLI, no fmt/log/filepath/strings/cli
Remaining stdlib: path/filepath (Core doesn't wrap OS paths),
fmt.Sscanf/strings.Map (no Core equivalent).
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 06:13:41 +00:00
Snider
6db0110b6f
refactor(brain): consolidate newFs and agentName wrappers
...
Remove duplicated newFs() from brain package — use agentic.LocalFs() instead.
Inline agentName() wrapper — call agentic.AgentName() directly.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 03:47:08 +00:00
Snider
deaa06a54d
refactor(pkg): migrate go-io/go-log to Core primitives
...
Replace separate go-io (coreio) and go-log (coreerr) packages with
Core's built-in Fs and error/logging functions. This is the reference
implementation for how all Core ecosystem packages should migrate.
Changes:
- coreio.Local.Read/Write/EnsureDir/Delete/IsFile → core.Fs methods
- coreerr.E() → core.E(), coreerr.Info/Warn/Error → core.Info/Warn/Error
- (value, error) return pattern → core.Result pattern (r.OK, r.Value)
- go-io and go-log moved from direct to indirect deps in go.mod
- Added AX usage-example comments on key public types
- Added newFs("/") helper for unrestricted filesystem access
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 03:41:07 +00:00
Snider
c6490c175a
refactor: migrate imports to dappco.re paths + bump mcp to v0.4.0
...
Update all go-* imports from forge.lthn.ai to dappco.re/go/core/*.
Bump mcp to v0.4.0 (Options{} struct API).
Versions: core v0.5.0, io v0.2.0, log v0.1.0, process v0.3.0,
ws v0.3.0, ai v0.2.0, webview v0.2.0, i18n v0.2.0.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 01:27:48 +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
6d04c893b7
fix: address all code review findings (medium + low)
...
- os.ReadFile/WriteFile → coreio.Local in monitor and remote packages
- Deduplicate agentName() → shared agentic.AgentName()
- Deduplicate workspaceRoot() → shared agentic.WorkspaceRoot()
- fileExists uses IsFile() instead of reading whole file
- Fix SPDX-Licence → SPDX-License typo
- Remove time.Now import hack
- Fix hardcoded PR #1 in review queue
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 19:19:04 +00:00
Snider
5eb26f90fc
refactor: replace fmt.Errorf/os.* with go-io/go-log conventions
...
Replace all fmt.Errorf and errors.New in production code with
coreerr.E("caller.Method", "message", err) from go-log. Replace
all os.ReadFile/os.WriteFile/os.MkdirAll/os.Remove with coreio.Local
equivalents from go-io. Test files are intentionally untouched.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 21:48:31 +00:00
Snider
37f6d61368
feat: agent messaging — direct chronological messages between agents
...
New: agent_send, agent_inbox, agent_conversation MCP tools.
API: /v1/messages/send, /v1/messages/inbox, /v1/messages/conversation/{agent}
Model: AgentMessage with inbox, unread, conversation scopes.
Separate channel from semantic brain search. Messages are chronological,
not vector-searched. Agents can now have direct conversations.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 14:03:36 +00:00
Snider
85dd0555ac
fix(brain): shared brain — don't filter by agent_id on recall
...
Was forcing agent isolation. Now all agents see all memories by default.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 11:50:20 +00:00
Snider
5fbaf4f211
fix(brain): use hostname-based agent_id instead of hardcoded cladius
...
Charon gets agent_id 'charon', Cladius gets 'cladius'.
Override with AGENT_NAME env var.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 11:24:59 +00:00
Snider
2ea50959f2
refactor: move brain + agentic packages into core/agent, use core/cli
...
Brain and agentic subsystems now live in core/agent/pkg/ instead of
core/mcp/pkg/mcp/. core-agent binary uses core/cli for proper command
framework. Usage: core-agent mcp
One repo, one clone, everything works.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 11:10:33 +00:00