Commit graph

22 commits

Author SHA1 Message Date
Snider
bd2e2acd49 chore: refresh go.sum after upstream tag updates
Some checks failed
Security Scan / security (push) Successful in 8s
Test / test (push) Failing after 35s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:35:18 +00:00
Claude
2537aea96a
chore: refresh go.sum after upstream tag updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:36:25 +00:00
Snider
8a21d750bb refactor: migrate CLI imports from core/go to core/cli
Update imports from forge.lthn.ai/core/go/pkg/cli to
forge.lthn.ai/core/cli/pkg/cli following CLI package split.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 23:29:44 +00:00
Claude
5f120f8e90
chore: sync workspace dependency versions
Run go work sync to align dependency versions across workspace.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:42:15 +00:00
Snider
dff5fb23c5 refactor: apply go fix modernizers for Go 1.26
Automated fixes: interface{} → any, range-over-int, t.Context(),
wg.Go(), strings.SplitSeq, strings.Builder, slices.Contains,
maps helpers, min/max builtins.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 21:00:16 +00:00
Snider
6d07388407 chore: bump go directive to 1.26.0
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 20:33:48 +00:00
Snider
b2b4982e3c chore: pin forge deps to v0.0.1 tags for Go 1.26 compat
Go 1.26 rejects non-semver version strings (like 'main') in go.mod.
Tags v0.0.1 now exist on all forge repos — workspace still overrides
for local development.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 20:15:05 +00:00
Snider
ad865ab3b9 chore: use workspace-resolved versions, drop replace directives
Forge module versions now use main branch resolution via ~/Code/go.work
workspace. Removes local replace directives — the central go.work handles
all cross-repo resolution during development.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 19:49:36 +00:00
Snider
85e02297cc fix: update ml tool handlers for Result return type
go-ml's Backend.Generate() and Backend.Chat() now return ml.Result{Text, Metrics}
instead of (string, error). Updated mlGenerate and mlProbe handlers to unwrap
result.Text, and updated test mocks to match the new interface.

Added local replace directives for go-inference, go-ml, go-mlx while
these changes propagate through the dependency chain.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-22 19:24:32 +00:00
Snider
d962260b81 feat(cmd/rag): re-export go-rag CLI commands through go-ai
CLI should import RAG commands via go-ai (which already depends on
go-rag), not directly. This keeps the CLI's dependency tree clean.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 20:23:22 +00:00
Snider
c3de6c4935 feat: migrate daemon, mcpcmd, security commands from CLI
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:38:04 +00:00
Snider
bc9597c191 chore: resolve forge deps from registry, remove local replaces
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-21 19:22:32 +00:00
Snider
d20688d50b feat(mcp): add BridgeToAPI for MCP-to-REST conversion
Bridge converts MCP ToolRecords into go-api ToolBridge entries,
making MCP tools accessible as REST POST endpoints with OpenAPI
metadata. Each tool's RESTHandler closure captures the generic
input type at registration time, enabling type-safe JSON
unmarshalling without runtime reflection.

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 01:06:33 +00:00
Claude
65ff6c6647
fix(go.mod): correct replace path for core/go
Was ../core (wrong), now ../go matching workspace layout.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-20 14:20:33 +00:00
Snider
4d73fa250c feat(ml): Phase 2 — migrate ml_backends to go-inference registry
- Make go-inference a direct dependency (was indirect)
- Rewrite mlBackends() to use inference.List()/Get()/Default()
  instead of ml.Service.Backends()/Backend()/DefaultBackend()
- Add documentation comments clarifying generation flow
- mlGenerate/mlScore/mlProbe unchanged (work via go-ml.Service)

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 06:01:30 +00:00
Snider
4665bea75e fix: post-split cleanup — remove test script, fix tests, update docs
- Delete test-mlx.go (standalone test script, not library code)
- Fix TestSandboxing_Symlinks_Followed to match security behaviour
  (renamed to TestSandboxing_Symlinks_Blocked — asserts sandbox
  correctly blocks symlinks escaping the workspace root)
- Fix TestNewTCPTransport_Warning by adding missing security warning
  to NewTCPTransport when binding to 0.0.0.0 (all interfaces)
- Update CLAUDE.md dependency table (go-mlx, duckdb, parquet, ollama,
  qdrant now indirect via go-ml/go-rag)
- Tidy go.mod (direct vs indirect aligned with actual imports)
- Verify go build, go vet, go test all pass

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 01:18:27 +00:00
Snider
0af152eaef refactor: extract ml/ to standalone core/go-ml module
go-ai is now a meta package: ai/ facade + mcp/ hub that imports
go-ml, go-rag, go-mlx, and go-agentic as separate modules.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 18:32:42 +00:00
Snider
2886ffaa4c refactor: extract rag/ to standalone core/go-rag module
Update ai/rag.go and mcp/tools_rag.go imports to reference new module.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 18:30:37 +00:00
Snider
34d0f9ce41 refactor: extract mlx/ to standalone core/go-mlx module
Remove mlx/ directory (now lives at forge.lthn.ai/core/go-mlx).
Update ml/backend_mlx.go imports to reference the new module.
Add replace directive for local development.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 18:24:32 +00:00
Snider
906a535899 chore: update module paths and add gitignore
Sync module imports across agentic, mcp, ml, and rag packages.
Add .gitignore for mlx build artifacts.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-17 19:19:38 +00:00
3916633f4d test: validate MLX inference and scoring pipeline on M3 Ultra
Fixes #2

- Run complete test suite: all 84 tests passing (100%)
- Verify Metal 4 GPU support and hardware capabilities
- Test scoring pipeline (heuristic + judge + engine)
- Confirm GGUF model directory with 9 models (40.43 GB)
- Document MLX backend build requirements
- Update module imports from forge.lthn.ai/core/go to forge.lthn.ai/core/cli
- Add comprehensive TEST-RESULTS.md with findings

Platform: M3 Ultra (60 GPU cores, 96GB RAM, Metal 4)
Results: All tests passing, scoring pipeline operational, MLX ready to build

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 17:24:36 +00:00
Claude
e84d6ad3c9
feat: extract AI/ML packages from core/go
LEM scoring pipeline, native MLX Metal bindings, Claude SDK wrapper,
RAG with Qdrant/Ollama, unified AI facade, and MCP protocol server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:25:55 +00:00