feat: adopt MiniMax-AI OSS patterns (exit codes, MCP server/annotations, batch search, tool eval)#14
Merged
Merged
Conversation
Verified-net-new improvements identified by scanning MiniMax-AI's open-source repos and adversarially mapping ideas onto hawk's actual source. Patterns only, no code copied (all sources MIT). - exit-code taxonomy: internal/hawkerr/exitcode.go classifies errors into stable codes (auth/network/ratelimit/timeout/...) so callers can branch on the failure reason instead of a bare 1; wired into cmd/hawk/main.go - IsTerminal color gate: suppress ANSI/Unicode when stdout is piped (non-TTY), fixing ANSI leaking into captured/JSON output; FORCE_COLOR still overrides - MCP client honors isError: parseToolCallResult surfaces remote tool failures as errors the agent can self-correct on - batch web search/browse: queries[]/urls[] concurrent fan-out (bounded) in WebSearch and AgenticFetch; single query/url still works; adds a relevance-refusal contract to the AgenticFetch sub-agent prompt - RiskLevel -> MCP annotations: ToolAnnotations (readOnly/destructive hints) on the MCP server's tools/list so clients can self-throttle - hawk mcp serve / hawk mcp config: run hawk as an MCP server (machinery existed but had no entrypoint) and emit the client registration JSON block - tool-call confusion-matrix eval: internal/feature/eval/toolmatrix.go scores trigger (TP/FN/FP/TN, precision/recall/F1) separately from payload accuracy; exposed via `hawk eval tools` All new code is unit-tested; touched packages build, vet, and test clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Advance the eyrie and yaad submodule pointers to the current tip of their origin/main (the other four already matched). Picks up upstream commits that were present on the remotes but not yet recorded in hawk's index. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Point external/eyrie at the squash-merged eyrie main containing the provider error/image/reasoning/verify work, so hawk consumes the released eyrie changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Patel230
added a commit
that referenced
this pull request
Jun 8, 2026
…ns, batch search, tool eval) (#14) * feat: adopt MiniMax-AI OSS patterns into hawk Verified-net-new improvements identified by scanning MiniMax-AI's open-source repos and adversarially mapping ideas onto hawk's actual source. Patterns only, no code copied (all sources MIT). - exit-code taxonomy: internal/hawkerr/exitcode.go classifies errors into stable codes (auth/network/ratelimit/timeout/...) so callers can branch on the failure reason instead of a bare 1; wired into cmd/hawk/main.go - IsTerminal color gate: suppress ANSI/Unicode when stdout is piped (non-TTY), fixing ANSI leaking into captured/JSON output; FORCE_COLOR still overrides - MCP client honors isError: parseToolCallResult surfaces remote tool failures as errors the agent can self-correct on - batch web search/browse: queries[]/urls[] concurrent fan-out (bounded) in WebSearch and AgenticFetch; single query/url still works; adds a relevance-refusal contract to the AgenticFetch sub-agent prompt - RiskLevel -> MCP annotations: ToolAnnotations (readOnly/destructive hints) on the MCP server's tools/list so clients can self-throttle - hawk mcp serve / hawk mcp config: run hawk as an MCP server (machinery existed but had no entrypoint) and emit the client registration JSON block - tool-call confusion-matrix eval: internal/feature/eval/toolmatrix.go scores trigger (TP/FN/FP/TN, precision/recall/F1) separately from payload accuracy; exposed via `hawk eval tools` All new code is unit-tested; touched packages build, vet, and test clean. * chore: sync external submodules to latest origin/main Advance the eyrie and yaad submodule pointers to the current tip of their origin/main (the other four already matched). Picks up upstream commits that were present on the remotes but not yet recorded in hawk's index. * chore: bump eyrie submodule to merged main (efe3710) Point external/eyrie at the squash-merged eyrie main containing the provider error/image/reasoning/verify work, so hawk consumes the released eyrie changes. ---------
Patel230
added a commit
that referenced
this pull request
Jun 8, 2026
…ns, batch search, tool eval) (#14) * feat: adopt MiniMax-AI OSS patterns into hawk Verified-net-new improvements identified by scanning MiniMax-AI's open-source repos and adversarially mapping ideas onto hawk's actual source. Patterns only, no code copied (all sources MIT). - exit-code taxonomy: internal/hawkerr/exitcode.go classifies errors into stable codes (auth/network/ratelimit/timeout/...) so callers can branch on the failure reason instead of a bare 1; wired into cmd/hawk/main.go - IsTerminal color gate: suppress ANSI/Unicode when stdout is piped (non-TTY), fixing ANSI leaking into captured/JSON output; FORCE_COLOR still overrides - MCP client honors isError: parseToolCallResult surfaces remote tool failures as errors the agent can self-correct on - batch web search/browse: queries[]/urls[] concurrent fan-out (bounded) in WebSearch and AgenticFetch; single query/url still works; adds a relevance-refusal contract to the AgenticFetch sub-agent prompt - RiskLevel -> MCP annotations: ToolAnnotations (readOnly/destructive hints) on the MCP server's tools/list so clients can self-throttle - hawk mcp serve / hawk mcp config: run hawk as an MCP server (machinery existed but had no entrypoint) and emit the client registration JSON block - tool-call confusion-matrix eval: internal/feature/eval/toolmatrix.go scores trigger (TP/FN/FP/TN, precision/recall/F1) separately from payload accuracy; exposed via `hawk eval tools` All new code is unit-tested; touched packages build, vet, and test clean. * chore: sync external submodules to latest origin/main Advance the eyrie and yaad submodule pointers to the current tip of their origin/main (the other four already matched). Picks up upstream commits that were present on the remotes but not yet recorded in hawk's index. * chore: bump eyrie submodule to merged main (efe3710) Point external/eyrie at the squash-merged eyrie main containing the provider error/image/reasoning/verify work, so hawk consumes the released eyrie changes. ---------
Patel230
added a commit
that referenced
this pull request
Jun 18, 2026
…ns, batch search, tool eval) (#14) * feat: adopt MiniMax-AI OSS patterns into hawk Verified-net-new improvements identified by scanning MiniMax-AI's open-source repos and adversarially mapping ideas onto hawk's actual source. Patterns only, no code copied (all sources MIT). - exit-code taxonomy: internal/hawkerr/exitcode.go classifies errors into stable codes (auth/network/ratelimit/timeout/...) so callers can branch on the failure reason instead of a bare 1; wired into cmd/hawk/main.go - IsTerminal color gate: suppress ANSI/Unicode when stdout is piped (non-TTY), fixing ANSI leaking into captured/JSON output; FORCE_COLOR still overrides - MCP client honors isError: parseToolCallResult surfaces remote tool failures as errors the agent can self-correct on - batch web search/browse: queries[]/urls[] concurrent fan-out (bounded) in WebSearch and AgenticFetch; single query/url still works; adds a relevance-refusal contract to the AgenticFetch sub-agent prompt - RiskLevel -> MCP annotations: ToolAnnotations (readOnly/destructive hints) on the MCP server's tools/list so clients can self-throttle - hawk mcp serve / hawk mcp config: run hawk as an MCP server (machinery existed but had no entrypoint) and emit the client registration JSON block - tool-call confusion-matrix eval: internal/feature/eval/toolmatrix.go scores trigger (TP/FN/FP/TN, precision/recall/F1) separately from payload accuracy; exposed via `hawk eval tools` All new code is unit-tested; touched packages build, vet, and test clean. * chore: sync external submodules to latest origin/main Advance the eyrie and yaad submodule pointers to the current tip of their origin/main (the other four already matched). Picks up upstream commits that were present on the remotes but not yet recorded in hawk's index. * chore: bump eyrie submodule to merged main (efe3710) Point external/eyrie at the squash-merged eyrie main containing the provider error/image/reasoning/verify work, so hawk consumes the released eyrie changes. ---------
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verified-net-new improvements identified by scanning MiniMax-AI's open-source repos and adversarially mapping ideas onto hawk's actual source. Patterns only, no code copied (all sources MIT).
internal/hawkerr/exitcode.go): classify errors into stable codes (auth/network/ratelimit/timeout/...) so callers branch on the failure reason instead of a bare1; wired intocmd/hawk/main.go.FORCE_COLORstill overrides.parseToolCallResultsurfaces remote tool failures as errors the agent can self-correct on.queries[]/urls[]bounded concurrent fan-out in WebSearch and AgenticFetch; singlequery/urlstill works; adds a relevance-refusal contract to the AgenticFetch sub-agent prompt.ToolAnnotations(readOnly/destructive hints) on the MCP server'stools/listso clients can self-throttle.hawk mcp serve/hawk mcp config: run hawk as an MCP server (machinery existed but had no entrypoint) and emit the client registration JSON block.internal/feature/eval/toolmatrix.go): score trigger (TP/FN/FP/TN, precision/recall/F1) separately from payload accuracy; exposed viahawk eval tools.Also: sync
external/*submodules to latestorigin/main, and bumpexternal/eyrieto the merged eyrie main (efe3710) so hawk consumes the released eyrie changes.All new code unit-tested; touched packages build, vet, and test clean.
🤖 Generated with Claude Code