Commit graph

792 commits

Author SHA1 Message Date
Claude
849695fe39 feat(jobrunner): add agent dispatch handler and queue runner
Dispatch handler matches child issues that need coding (no PR yet,
assigned to a known agent) and SCPs ticket JSON to the agent's
queue directory via SSH. Includes dedup across queue/active/done
and posts dispatch comments on issues.

- Extend PipelineSignal with NeedsCoding, Assignee, IssueTitle, IssueBody
- Extend ForgejoSource to emit signals for unstarted children
- Add DispatchHandler with Match/Execute (SCP ticket delivery)
- Add agent-runner.sh cron-based queue runner for agent machines
- Wire dispatch handler into headless mode

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:10:08 +00:00
Snider
1b2866fc17 feat(bugseti): wire BugSETI into root build system and make functional
- Add bugseti:dev, bugseti:build, bugseti:frontend tasks to root Taskfile
- Update Wails v3 config to current dev_mode format (root_path, executes)
- Raise Angular component CSS budget to 6KB (inline styles by design)
- Fix vanity-import Dockerfile typo (---FROM → FROM)
- Verify: Go compiles, tests pass, frontend builds clean, binary runs

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-09 02:49:01 +00:00
Snider
a668c5ab5a fix(core-ide): use path-based routing for multi-window SPA, clean up formatting
Switch Angular from hash-based to path-based routing so each Wails window
(/tray, /main, /settings) loads its correct route. Archive GitHub Actions
workflows to .gh-actions/, update Forgejo deploy registry to dappco.re/osi,
and apply gofmt/alignment fixes across packages.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-09 01:50:57 +00:00
Snider
0fb9de600d updates 2026-02-09 01:27:40 +00:00
Claude
d32c51d816 feat(jobrunner): port from GitHub to Forgejo using pkg/forge
Replace all GitHub API and gh CLI dependencies with Forgejo SDK via
pkg/forge. The bash dispatcher burned a week of credit in a day due to
bugs — the jobrunner now talks directly to Forgejo.

- Add forge client methods: CreateIssueComment, CloseIssue, MergePullRequest,
  SetPRDraft, ListPRReviews, GetCombinedStatus, DismissReview
- Create ForgejoSource implementing JobSource (epic polling, checklist
  parsing, commit status via combined status API)
- Rewrite all 5 handlers to accept *forge.Client instead of shelling out
- Replace ResolveThreadsHandler with DismissReviewsHandler (Forgejo has
  no thread resolution API — dismiss stale REQUEST_CHANGES reviews instead)
- Delete pkg/jobrunner/github/ and handlers/exec.go entirely
- Update internal/core-ide/headless.go to wire Forgejo source and handlers
- All 33 tests pass with mock Forgejo HTTP servers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:40:49 +00:00
77adc533fc Merge pull request 'codex/bugseti-mcp' (#36) from codex/bugseti-mcp into new
Reviewed-on: host-uk/core#36
2026-02-08 23:16:41 +00:00
6010931500 Merge branch 'new' into codex/bugseti-mcp 2026-02-08 23:15:35 +00:00
Snider
c494c7b998 feat(core-ide): add MCP bridge (SERVER) and Claude bridge (CLIENT)
SERVER bridge (mcp_bridge.go):
- HTTP server on :9877 exposing 24 MCP tools
- Window management: list, get, position, size, bounds, maximize,
  minimize, restore, focus, visibility, title, fullscreen, create, close
- Webview: eval JS, navigate, list
- System: clipboard read/write, tray control
- Endpoints: /mcp, /mcp/tools, /mcp/call, /health, /ws, /claude

CLIENT bridge (claude_bridge.go):
- WebSocket relay between GUI clients and MCP core on :9876
- Auto-reconnect with backoff
- Bidirectional message forwarding (claude_message type)

Moved HTTP server from IDEService to MCPBridge for unified endpoint.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-08 23:12:51 +00:00
Snider
dd017288e7 fix(tray-apps): SPA routing, TypeScript fixes, and deferred onboarding
- Add spaHandler() to both BugSETI and Core IDE for Angular client-side
  routing (AssetFileServerFS doesn't fallback to index.html)
- Fix jellyfin.component.ts sanitizer initialization order (both apps)
- Fix chat.component.ts Event/KeyboardEvent type mismatch
- Defer onboarding window to ApplicationStarted event hook

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-08 23:03:49 +00:00
Snider
5c3b70a1eb fix: resolve conflict markers and remove legacy code after branch consolidation
- Remove conflict markers from 19 files that were accidentally committed
  during merge resolutions (keeping HEAD versions)
- Remove legacy root-level code (core.go, main.go, config/, crypt/,
  display/, filesystem/, workspace/, docs/*.go, cmd/app/) from old
  architecture predating pkg/ restructure
- Remove duplicate pkg/config/loader.go (Load/Save already in config.go)
- Fix import alias in cmd_apply.go (errors -> core)

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-08 22:08:35 +00:00
Snider
686b876749 Merge branch 'refactor/core-decomposition' into new 2026-02-08 22:00:38 +00:00
Snider
44c154056f Merge branch 'audit/dependencies-185' into new 2026-02-08 22:00:38 +00:00
Snider
9fd9db8181 Merge branch 'ci/use-build-action' into new 2026-02-08 22:00:38 +00:00
Snider
295f0fca85 Merge branch 'ci/org-wide-workflows' into new 2026-02-08 22:00:38 +00:00
Snider
dac61fc428 Merge branch 'fix/windows-zip' into new 2026-02-08 22:00:30 +00:00
Snider
170da456ae Merge branch 'fix/ssh-security-13442055821003769195' into new 2026-02-08 22:00:30 +00:00
Snider
8066e6cfd7 Merge branch 'fix/release-windows-shell' into new 2026-02-08 22:00:30 +00:00
Snider
18c9f973db Merge branch 'fix/release-go-build' into new 2026-02-08 22:00:30 +00:00
Snider
8e4ab36aa4 Merge branch 'fix/release-build-path' into new 2026-02-08 22:00:30 +00:00
Snider
cbb0f9045c Merge branch 'fix/rag-formatting' into new 2026-02-08 22:00:29 +00:00
Snider
5d38a65bf1 Merge branch 'fix/pr-263-reviews' into new 2026-02-08 22:00:29 +00:00
Snider
1c029e044b Merge branch 'fix/linker-flags-226' into new 2026-02-08 22:00:29 +00:00
Snider
1cf6449602 Merge branch 'fix/homebrew-tap-auth' into new 2026-02-08 22:00:29 +00:00
Snider
f855c45fc8 Merge branch 'fix/gofmt-client' into new 2026-02-08 22:00:29 +00:00
Snider
6064c198eb Merge branch 'fix/gemini-batch' into new 2026-02-08 22:00:29 +00:00
Snider
a3147895c4 Merge branch 'fix/docstrings-exec-logger' into new 2026-02-08 22:00:29 +00:00
Snider
8225812fd2 Merge branch 'fix/disable-dev-release' into new 2026-02-08 22:00:29 +00:00
Snider
315b4fc052 Merge branch 'fix/consolidate-workflows' into new 2026-02-08 22:00:21 +00:00
Snider
aba0698c24 Merge branch 'feature-core-integration' into new 2026-02-08 22:00:01 +00:00
Snider
6a92682c20 Merge branch 'feat/job-runner' into new 2026-02-08 21:59:51 +00:00
Snider
704f8327de Merge branch 'feat/prod-infra' into new 2026-02-08 21:59:43 +00:00
Snider
2d48f2d335 Merge branch 'codex/bugseti-mcp' into new 2026-02-08 21:59:29 +00:00
Snider
34b4ec2178 Merge branch 'feat/unifi-sdk' into new 2026-02-08 21:59:25 +00:00
Snider
4e3a1a436a Merge branch 'feat/release-and-installers' into new 2026-02-08 21:59:18 +00:00
Snider
7065889926 Merge branch 'feat/release-archives' into new 2026-02-08 21:58:59 +00:00
Snider
389ce9972d Merge branch 'feature/log-batch' into new 2026-02-08 21:58:52 +00:00
Snider
ecfa5d744f Merge branch 'feature/mcp-batch' into new 2026-02-08 21:58:46 +00:00
Snider
03a6e04b17 Merge branch 'feature/help-batch' into new 2026-02-08 21:58:39 +00:00
Snider
28331e2e5f Merge branch 'feature/errors-batch' into new 2026-02-08 21:58:32 +00:00
Snider
1940b92893 Merge branch 'feature/issue-139-help-search' into new 2026-02-08 21:58:01 +00:00
Snider
53a833d55a Merge branch 'feature/issue-90-process-logger' into new 2026-02-08 21:57:14 +00:00
Snider
288431dde2 Merge branch 'feature/issue-87-no-color-support' into new 2026-02-08 21:56:44 +00:00
Snider
bbdfc3a3e6 Merge branch 'feature/issue-84-core-thread-safety' into new 2026-02-08 21:56:41 +00:00
Snider
93248b848f Merge branch 'feature/issue-81-apply-confirmation' into new 2026-02-08 21:55:37 +00:00
Snider
a519e326fd Merge branch 'feature/issue-78-nil-context' into new 2026-02-08 21:55:32 +00:00
Snider
33f92306be Merge branch 'fix/data-race-76' into new 2026-02-08 21:55:28 +00:00
Snider
7d134f9d0c fix: resolve API signature mismatches after IO migration merge
Reconcile callers with actual function signatures after merging IO
migration branches. Some functions gained io.Medium params (repos.*),
others kept their original signatures (release.*, cache.*, container.*).

- Add io.Local to repos.LoadRegistry/FindRegistry/ScanDirectory callers
- Remove extra io.Local from release.ConfigExists/LoadConfig/WriteConfig callers
- Fix cache.New call (remove nil Medium arg)
- Add missing IsCPPProject to build discovery
- Add missing fields to mcp.Service struct (subsystems, logger, etc.)
- Add DefaultTCPAddr constant to mcp transport
- Fix node.go interface check (coreio.Medium, not coreio.Node)
- Fix container.linuxkit LoadState/EnsureLogsDir arg counts
- Fix vm templates to use package-level functions
- Remove unused Medium field from DaemonOptions

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-08 21:55:10 +00:00
Snider
a852ab7ff8 Merge branch 'feature/cli-batch' into new
# Conflicts:
#	internal/cmd/dev/cmd_file_sync.go
#	internal/cmd/docs/cmd_sync.go
#	internal/cmd/sdk/generators/go.go
#	internal/cmd/setup/cmd_registry.go
#	pkg/cli/daemon.go
#	pkg/io/local/client.go
#	pkg/io/local/client_test.go
#	pkg/mcp/transport_tcp.go
2026-02-08 21:29:47 +00:00
Snider
a673647f89 Merge branch 'feature/io-batch' into new
# Conflicts:
#	go.mod
#	go.sum
#	internal/cmd/dev/cmd_apply.go
#	internal/cmd/dev/cmd_file_sync.go
#	internal/cmd/docs/cmd_scan.go
#	internal/cmd/docs/cmd_sync.go
#	internal/cmd/help/cmd.go
#	internal/cmd/sdk/generators/go.go
#	internal/cmd/setup/cmd_registry.go
#	internal/variants/full.go
#	pkg/io/io.go
#	pkg/io/local/client.go
#	pkg/io/local/client_test.go
#	pkg/mcp/mcp.go
#	pkg/mcp/mcp_test.go
#	pkg/mcp/transport_tcp.go
2026-02-08 21:29:39 +00:00
Snider
229d256561 Merge branch 'chore/io-migrate-repos-medium-11165034141497363118' into new
# Conflicts:
#	internal/cmd/setup/cmd_github.go
#	pkg/repos/registry.go
2026-02-08 21:29:24 +00:00