Snider
614bc46d24
chore: sync go.mod dependencies
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:28:58 +00:00
Snider
09b851ffd3
chore: add .core/ and .idea/ to .gitignore
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 17s
2026-03-15 10:17:49 +00:00
Snider
5c3c4e0f35
fix: update stale import paths and dependency versions from extraction
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
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:58 +00:00
Snider
bde3b27bd5
refactor: update import path from go-config to core/config
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 10:23:11 +00:00
Snider
cc82c9a6e8
refactor(api): update import path from go-api to core/api
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
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:47 +00:00
Snider
ae5ebf2ff2
docs: remove completed plan files
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Failing after 12m56s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 08:20:08 +00:00
Snider
135bb2f126
docs: add CLAUDE.md project instructions
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 14s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:38:01 +00:00
Snider
7be4e243f2
docs: add human-friendly documentation
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Failing after 13s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:39 +00:00
Snider
76cd3a5306
refactor: code quality improvements from Gemini review
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 13s
- Split frame.go: extract built-in components to frame_components.go
- Replace custom indexOf with strings.Index in frame_test.go
- Make prompt.go testable: accept io.Reader via SetStdin, add tests
- Decompose runGoQA: extract emitQAJSON and emitQASummary helpers
- DRY: centralise loadConfig into cmd/config/cmd.go
- Remove hardcoded MACOSX_DEPLOYMENT_TARGET from test/fuzz/cov commands
- Add error assertions to coverage_test.go
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:29:44 +00:00
Snider
48c3f08bcb
fix: use Signal(0) for process polling in daemonRunStop
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Consistent with cmd/service stopDaemon — polls process directly
instead of PID file removal to avoid PID reuse false positives.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:16:20 +00:00
Snider
79e6587d8a
fix: poll process via Signal(0) in stopDaemon for PID reuse safety
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 11s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 15:10:48 +00:00
Snider
fd8cd31b76
feat: add core start/stop/list/restart for manifest-driven daemons
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Reads .core/manifest.yaml, resolves daemon specs, and manages lifecycle
via the go-process registry (~/.core/daemons/). Supports health checks,
detached process launch, and per-project daemon tracking.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 14:58:21 +00:00
Snider
10a1c8ce07
refactor: remove daemon types moved to go-process, keep Mode/DetectMode
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 20s
Remove PIDFile, HealthServer, Daemon, DaemonOptions, HealthCheck,
Run, and RunWithTimeout from daemon.go — all now live in go-process.
Retain Mode type (ModeInteractive/ModePipe/ModeDaemon), DetectMode(),
IsTTY(), IsStdinTTY(), and IsStderrTTY() as CLI-specific helpers.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 14:14:54 +00:00
Snider
d6cea1dffe
feat: add generic AddDaemonCommand with go-process daemon types
...
Provides a reusable daemon CLI command builder that registers
start/stop/status/run subcommands. Consumers (go-ai, ide, etc.)
call AddDaemonCommand(root, config) with a RunForeground callback
for their business logic. Uses go-process for PID file, health
server, and daemon lifecycle management.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:05:16 +00:00
Snider
de579ad01d
feat: add RangeArgs positional arg validator
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Wraps cobra.RangeArgs for parity with ExactArgs, MinimumNArgs,
MaximumNArgs — allows go-devops to drop its direct cobra import.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 12:05:05 +00:00
Snider
e9383a33b2
chore: sync go.mod dependencies
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 15:22:11 +00:00
Snider
4f1808339d
chore: remove Taskfile, .core/build.yaml is the build config
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 17s
All tasks were already wrappers around `core` commands.
Build configuration lives in .core/build.yaml.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:45:59 +00:00
Snider
aa83cf77cc
docs: add ecosystem overview and historical design plans
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 19s
Moved from core/go during docs cleanup — these belong with the CLI
that orchestrates the ecosystem, not the DI framework.
- ecosystem.md: full module inventory and dependency graph
- 3 active plans (authentik-traefik, core-help design/plan)
- 13 completed design plans (MCP, go-api, cli-meta, go-forge, etc.)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:24:38 +00:00
Snider
37a8ae8d31
refactor: swap pkg/framework imports to pkg/core
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 19s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:10:55 +00:00
Snider
7f555c6f8a
feat: absorb gocmd from core/go
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 13s
Move Go dev commands (test, fmt, lint, fuzz, qa, tools) into cli.
core/cli is now the sole producer of the 'core' binary.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:58:40 +00:00
Snider
f7d72c843b
refactor: swap pkg imports to standalone modules
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 16s
- pkg/session → go-session (ParseTranscript now returns ParseStats)
- pkg/workspace → go-io/workspace
- pkg/manifest,marketplace,plugin,repos → go-scm (from prior session)
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:48:07 +00:00
Snider
4f1d9a5c3b
refactor: swap pkg/{io,log} imports to go-io/go-log
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 12:23:33 +00:00
Snider
71cf86c02e
refactor: use core/go-help module instead of core/go/pkg/help
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:11:59 +00:00
Snider
945be23adc
refactor: use core/go-i18n module instead of core/go/pkg/i18n
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 12s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:09:06 +00:00
Snider
ea7d744cce
chore: bump forge.lthn.ai dep versions to latest tags
...
Deploy / build (push) Failing after 5s
Security Scan / security (push) Successful in 26s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-26 05:35:05 +00:00
Claude
cfdc8d3426
docs: archive completed plans
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 20s
Archive 3 completed plan files to docs/plans/completed/:
- core-ide-job-runner-design: All components (poller, dispatcher, journal,
6 handlers, headless/desktop mode) were implemented and operational.
Code extracted to core/ide and core/go during Feb 2026 monorepo split.
- bugseti-hub-service-design + plan: All 8 Go-side tasks implemented
(config fields, HubService types, HTTP helpers, AutoRegister, write ops,
read ops, pending queue, main.go wiring). Code extracted to core/bugseti
on 16 Feb 2026.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:09:12 +00:00
4dfbddf11f
Merge pull request 'chore: Go 1.26 modernization' ( #7 ) from chore/go-1.26-modernization into main
Deploy / build (push) Waiting to run
Security Scan / security (push) Waiting to run
2026-02-24 18:01:45 +00:00
Claude
0941ba865f
chore: use min()/max() builtins (Go 1.21+)
...
Security Scan / security (pull_request) Successful in 23s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:27:11 +00:00
Claude
63a73a9852
chore: sort.Slice → slices.SortFunc
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:25:54 +00:00
Claude
c2a57f2227
chore: fmt.Errorf(static) → errors.New
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:25:14 +00:00
Claude
178e49b174
chore: replace interface{} with any (Go 1.18+ alias)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:21:49 +00:00
Claude
800223757c
docs: archive completed frame-bubbletea plan
...
Deploy / build (push) Failing after 5s
Security Scan / security (push) Successful in 19s
Move frame-bubbletea design and plan to docs/plans/completed/ with
completion summary. Frame now implements tea.Model with full bubbletea
lifecycle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:51:21 +00:00
Snider
ced9a7037f
chore: bump forge.lthn.ai dep versions to latest tags
...
Deploy / build (push) Failing after 6s
Security Scan / security (push) Successful in 30s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:49:51 +00:00
Snider
bddea677c7
chore: add Go repo norms (badges, contributing, lint, taskfile, editorconfig)
...
Deploy / build (push) Waiting to run
Security Scan / security (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:45:56 +00:00
Snider
2ded0002fc
chore: refresh go.sum after upstream tag updates
...
Security Scan / security (push) Waiting to run
Deploy / build (push) Has been cancelled
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 06:35:19 +00:00
Snider
fa3a7bcd83
feat(cli): add Go 1.26 iterators and modernise idioms
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 16s
- Add Children() iter.Seq on TreeNode for range-based traversal
- Add RegisteredCommands() iter.Seq on command registry (mutex-safe)
- Add Regions()/Slots() iterators on Composite layout
- Add Tasks()/Snapshots() iterators on TaskTracker (mutex-safe)
- Use strings.FieldsSeq, strings.SplitSeq in parseMultiSelection
- Use range-over-int where applicable
Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 04:57:24 +00:00
Snider
38765962f8
feat(cli): add Int64Flag, DurationFlag helpers; remove NewPassthrough
...
Add Int64Flag and DurationFlag to the flag helper set for commands
needing int64 seeds and time.Duration intervals. Remove NewPassthrough
which enabled the anti-pattern of bypassing cobra flag parsing with
stdlib flag.FlagSet.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 03:32:39 +00:00
Snider
0006650a10
docs: remove duplicate plan files
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 18s
Delete plans that exist as canonical copies in core repo:
- core-ide-job-runner-plan (canonical in core)
- mcp-integration (canonical in core)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:46:24 +00:00
Claude
9b568bd921
chore: refresh go.sum after upstream tag updates
...
Deploy / build (push) Failing after 5s
Security Scan / security (push) Successful in 17s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:36:25 +00:00
Snider
5500c3912c
feat(cli): add WithCommands lifecycle pattern for command registration
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 19s
Main() now accepts variadic framework.Option args, allowing commands
to register through the Core lifecycle via WithCommands(). This matches
the pattern from core/go and enables LEM and other consumers to use
the same API.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 23:01:31 +00:00
Claude
e360115b66
chore: sync workspace dependency versions
...
Deploy / build (push) Failing after 4s
Security Scan / security (push) Successful in 17s
Run go work sync to align dependency versions across workspace.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:41:04 +00:00
Claude
73723b6fb9
docs: add Frame bubbletea upgrade design and implementation plan
...
Deploy / build (push) Failing after 3s
Security Scan / security (push) Successful in 16s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:23:04 +00:00
Claude
f54876abb5
test(frame): add message routing edge case tests
2026-02-22 21:21:11 +00:00
Claude
cf6e4700c9
test(frame): add Navigate/Back tests with FrameModel
2026-02-22 21:20:47 +00:00
Claude
d540e5706b
test(frame): add spatial focus navigation tests
2026-02-22 21:20:24 +00:00
Claude
96b2cb6547
refactor(frame): unify String() with View() via viewLocked()
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:18:55 +00:00
Claude
1c6e910251
feat(frame): replace raw ANSI runLive with tea.Program
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:16:48 +00:00
Claude
331bcd564d
feat(frame): implement tea.Model (Init, Update, View) with lipgloss layout
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:12:32 +00:00
Claude
acfbc2aaee
feat(frame): add focus management fields, Focused(), Focus(), WithKeyMap()
2026-02-22 21:07:32 +00:00
Claude
02e8343ee5
feat(frame): add KeyMap with default bindings
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:03:50 +00:00