summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-16Decompose App God struct into embedded section structsPaul Buetow
Replace 60+ flat fields in App with 4 embedded section structs: CoreConfig, ProviderConfig, PromptConfig, FeatureConfig. Go field promotion preserves all existing field access patterns. Updated flattenAppConfig to recurse into embedded structs for runtimeconfig. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Refactor oversized functions and split large test filesPaul Buetow
Split DefaultPrompts (201L), loadFromFile (83L), and Update (74L) into focused helper functions under 50 lines each. Split handlers_test.go (1650L) and config_test.go (1419L) into logical sub-files under 1000L. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Remove os.Setenv from MCP server production codePaul Buetow
Replace environment variable communication between cmd and internal packages with explicit MCPOverrides struct. CLI flag values are now passed via typed struct fields through Run/RunWithFactory/RunBackfill. Env var support preserved through appconfig's applyMCPEnv pipeline. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Replace panic with graceful error returns in tmuxedit and mcp-serverPaul Buetow
Change initDebugLog() and defaultLogPath() to return errors instead of panicking. Callers now handle errors gracefully with proper messages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Fix time.After timer leak in stats.acquireFileLockPaul Buetow
Replace per-iteration time.After with a single time.NewTimer that is reused via Reset() and cleaned up with defer Stop(). Prevents leaking a timer and channel on every retry iteration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Fix data races in logging package using atomic operationsPaul Buetow
Replace bare package-level vars with atomic.Pointer[log.Logger] for std and atomic.Int32 for logPreviewLimit to prevent concurrent access races. Add comprehensive tests including concurrency, edge cases, and nil logger. Coverage: 100%. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Release v0.24.0v0.24.0Paul Buetow
Bring unit test coverage from ~75% to 85.1% project-wide. All internal packages now exceed 80% coverage. Refactored cmd entrypoints to extract testable run() functions with injectable seams. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16Release v0.23.1v0.23.1Paul Buetow
2026-03-15Release v0.23.0v0.23.0Paul Buetow
2026-03-14Release v0.22.3v0.22.3Paul Buetow
2026-03-14Release v0.22.2v0.22.2Paul Buetow
2026-03-14Release v0.22.1v0.22.1Paul Buetow
2026-03-13release: v0.22.0v0.22.0Paul Buetow
2026-03-10Bump version to 0.20.2v0.20.2Paul Buetow
2026-03-10task 80330fc4: deduplicate default config path helperPaul Buetow
2026-03-10task dac9b1e5: avoid LSP startup panic on StateDir failurePaul Buetow
2026-03-10task bf088a70: extract LSP client and completion statePaul Buetow
2026-03-02release: v0.20.1v0.20.1Paul Buetow
2026-03-02hexaiaction: replace global action state with Runner struct (task 406)Paul Buetow
2026-03-02hexaicli: move column printer into internal/termprint package (task 406)Paul Buetow
2026-03-02lsp: inject StatusSink to decouple core from tmux package (task 407)Paul Buetow
2026-03-02appconfig: return toml raw-unmarshal errors instead of ignoring (task 409)Paul Buetow
2026-03-02io: use errors.Is for EOF checks in lsp and mcp servers (task 409)Paul Buetow
2026-03-02llm: extract shared doJSON and logStart helpers (task 409)Paul Buetow
2026-03-02gotest: extract Go codegen heuristics from lsp handlers (task 406)Paul Buetow
2026-03-02hexailsp: add ConfigurableServerRunner for runtime ApplyOptions (task 408)Paul Buetow
2026-03-02lsp: use appconfig.CustomAction directly for custom actions (task 411)Paul Buetow
2026-03-02hexaiaction: use sectioned config interface instead of full App (task 409)Paul Buetow
2026-03-02mcp: depend on SlashCommandSyncer interface instead of concrete type (task 410)Paul Buetow
2026-03-02lsp: decompose tryLLMCompletion orchestration helpers (task 415)Paul Buetow
2026-03-02lsp: decompose resolveGoTest workflow into helpers (task 416)Paul Buetow
2026-03-02hexaicli: decompose runCLIJobs and runChat helpers (task 417)Paul Buetow
2026-03-02lsp: decompose detectAndHandleChat into focused helpers (task 418)Paul Buetow
2026-03-02llmutils: remove remaining default-model wrappers in callers (task 413)Paul Buetow
2026-03-02lsp: cancel handler contexts on shutdown via server context (task 423)Paul Buetow
2026-03-02lsp: use context-mode registry for additional context dispatch (task 408)Paul Buetow
2026-03-02remove planPaul Buetow
2026-03-02appconfig: split App into focused section helpers (task 406)Paul Buetow
2026-03-02lsp: extract completion/chat/codeaction server subtypes (task 406)Paul Buetow
2026-03-02lsp: make exit flag atomic to avoid data race (task 406)Paul Buetow
2026-03-02lsp: handle code action payload marshal errors (task 406)Paul Buetow
2026-03-02lsp: simplify ServerOptions to config-first model (task 410)Paul Buetow
2026-03-02lsp: return cleanly on exit and propagate runner errors (task 410)Paul Buetow
2026-03-02llmutils: centralize provider normalization and client setup (task 410)Paul Buetow
2026-03-02codeaction: add Build/Resolve handler registries (task 410)Paul Buetow
2026-03-02llm: add provider registry and self-registration factories (task 410)Paul Buetow
2026-03-02appconfig: split config module and decompose oversized funcs (task 406)Paul Buetow
2026-02-22docs: clarify Codex uses native Ctrl+G external editorPaul Buetow
2026-02-13chore: deprecate hexai-mcp-server as experimentalPaul Buetow
Add deprecation notices across hexai-mcp-server codebase and documentation. The MCP server is now considered experimental and not actively maintained, as prompts are managed through slash commands and meta-commands instead. Changes: - Add runtime deprecation warning to stderr on binary startup - Mark feature as deprecated in README.md - Add deprecation notices to all 8 MCP documentation files - Add deprecation log message to run.go - Update Magefile.go build comment The code remains fully functional but warns users of its experimental status. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12also ignore /hexaiPaul Buetow