Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ef8b24e
docs: add competitive parity implementation plan
intel352 Mar 13, 2026
71bb6ac
chore: upgrade workflow v0.3.30 → v0.3.40 and dependencies
intel352 Mar 13, 2026
c69422b
feat(proto): add plan mode messages and RPCs
intel352 Mar 13, 2026
e072c43
feat(proto): regenerate Go files with plan mode types
intel352 Mar 13, 2026
7ff2b84
feat: add cron/loop scheduling (Phase 7)
intel352 Mar 13, 2026
3c2b66d
feat: add lifecycle hook events (pre/post-plan, fleet, agent, cron, t…
intel352 Mar 13, 2026
b5f1968
feat(plan-mode): implement plan mode daemon, TUI, and commands
intel352 Mar 13, 2026
c0b26ec
feat: MCP CLI discovery + per-agent model routing (Phase 8+9+10)
intel352 Mar 13, 2026
0cb4628
feat(fleet): add fleet mode TUI components and config model routing
intel352 Mar 13, 2026
f716c5a
feat: add ContextConfig for compression settings (Task 12)
intel352 Mar 13, 2026
041215d
feat: built-in code-reviewer agent + /compact + /review commands (Tas…
intel352 Mar 13, 2026
7885747
feat: token tracking and context compression (Task 11)
intel352 Mar 13, 2026
b2bbb34
feat: team mode daemon + TUI + actor dependency (Phase 4)
intel352 Mar 13, 2026
756e577
fix: plan mode code review issues
intel352 Mar 13, 2026
7d36a93
fix: wire TokenTracker + Compress into handleChat (Task 11 integration)
intel352 Mar 14, 2026
0fa85ef
feat: wire actor system into daemon for session state management
intel352 Mar 14, 2026
4d358b9
feat: job control registry + /cost fleet breakdown (Phase 12)
intel352 Mar 14, 2026
1096cf2
chore: regenerate proto + wire job registry into service
intel352 Mar 14, 2026
cb7e817
feat: unified job control panel (proto + registry + TUI)
intel352 Mar 14, 2026
d2571bd
fix: use rune boundary for compression snippet truncation
intel352 Mar 14, 2026
9c0f40a
fix: address code review issues in Phase 5-10
intel352 Mar 14, 2026
6a8796d
fix: resolve data race, locking, kill keybind, and model field issues
intel352 Mar 14, 2026
85243a0
test: add cron integration tests + fix cron goroutine context bug
intel352 Mar 14, 2026
0f08eb1
test: add fleet, team, cron, and jobs integration tests
intel352 Mar 14, 2026
8ceb945
fix: wire KillAgentMsg handler in app.go + add client.KillAgent method
intel352 Mar 14, 2026
a1b20d9
test(daemon): fix qa_test.go type references for Task 12 QA validation
intel352 Mar 14, 2026
e375f74
test: add QA test helpers for daemon package
intel352 Mar 14, 2026
5eb1876
fix: remove custom min() shadowing Go 1.26 builtin
intel352 Mar 14, 2026
69d96af
fix: 4 pre-merge fixes — kill routing, ResumeJob, JobPanel.Init, acto…
intel352 Mar 14, 2026
a2fab59
test: add remaining integration and provider tests
intel352 Mar 14, 2026
bd4ab7d
ci: add CI workflow with build, test, lint, and vet
intel352 Mar 14, 2026
4845b47
fix(security): address CodeQL alerts — reflected XSS and integer over…
intel352 Mar 14, 2026
3063c71
fix: address PR #2 review comments and CI lint failures
intel352 Mar 14, 2026
0d6e731
fix: address second round of PR review comments
intel352 Mar 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI

on:
push:
branches: [master]
pull_request:
branches: [master]

permissions:
contents: read
packages: read

env:
GOPRIVATE: github.com/GoCodeAlone/*
GONOSUMCHECK: github.com/GoCodeAlone/*

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
cache: true
- name: Configure Git for private modules
run: git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Build
run: go build ./...

test:
name: Test
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
cache: true
- name: Configure Git for private modules
run: git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Test with race detector
run: go test -race -coverprofile=coverage.out -covermode=atomic ./...
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: coverage.out
fail_ci_if_error: false

lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
cache: true
- name: Configure Git for private modules
run: git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v8
with:
version: v2.11.3

vet:
name: Vet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
cache: true
- name: Configure Git for private modules
run: git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Go vet
run: go vet ./...
37 changes: 37 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
version: "2"

linters:
default: standard
settings:
errcheck:
# Exclude common patterns where ignoring errors is intentional:
# deferred Close/Rollback calls, goroutine server Serve calls, and
# fire-and-forget writes in HTTP handlers or gRPC streams.
exclude-functions:
- (io.Closer).Close
- (*database/sql.Rows).Close
- (*database/sql.Tx).Rollback
- (*net.Listener).Close
- (*net/http.Server).Close
- os.Remove
- os.MkdirAll
- os.WriteFile
- (net.Listener).Close
- (*google.golang.org/grpc.Server).Serve
- (*google.golang.org/grpc.ClientConn).Close
- (net.Conn).Close
- (*encoding/json.Encoder).Encode
- fmt.Fprintf
- fmt.Fprintln
- fmt.Fprint
- (io.WriteCloser).Close

exclusions:
rules:
# Relax errcheck in test files — Close/Cleanup patterns in tests are fine.
- linters: [errcheck]
path: _test\.go
# defer c.Close() / defer f.Close() / defer db.Close() are idiomatic Go;
# the error from a deferred Close is not actionable.
- linters: [errcheck]
text: "Error return value of .*(Close|Rollback|Send|KillSession|KillAgent). is not checked"
2 changes: 1 addition & 1 deletion cmd/ratchet/cmd_agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func handleAgent(args []string) {
fmt.Fprintf(os.Stderr, "error: %v\n", err)
os.Exit(1)
}
defer c.Close()
defer func() { _ = c.Close() }()

switch args[0] {
case "list":
Expand Down
2 changes: 1 addition & 1 deletion cmd/ratchet/cmd_chat.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func handleOneShot(prompt string) {
fmt.Fprintf(os.Stderr, "error: %v\n", err)
os.Exit(1)
}
defer c.Close()
defer func() { _ = c.Close() }()

wd, _ := os.Getwd()
session, err := c.CreateSession(ctx, &pb.CreateSessionReq{
Expand Down
2 changes: 1 addition & 1 deletion cmd/ratchet/cmd_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func handleProvider(args []string) {
fmt.Fprintf(os.Stderr, "error: %v\n", err)
os.Exit(1)
}
defer c.Close()
defer func() { _ = c.Close() }()

switch args[0] {
case "add":
Expand Down
Loading
Loading