Skip to content

fix(forker): reject unsupported agent launchers - #16

Open
floze-the-genius wants to merge 1 commit into
loop-eng:mainfrom
floze-the-genius:fix/strict-agent-launcher-detection
Open

fix(forker): reject unsupported agent launchers#16
floze-the-genius wants to merge 1 commit into
loop-eng:mainfrom
floze-the-genius:fix/strict-agent-launcher-detection

Conversation

@floze-the-genius

Copy link
Copy Markdown

Summary

  • replace substring-based launcher detection with strict, case-insensitive agent prefixes
  • preserve model-style Claude and Codex identifiers such as claude-sonnet-4-6, o4-mini, and gpt-5.5
  • return an explicit error for unknown agents instead of silently launching Claude
  • add regression coverage for false positives such as proto4 and not-gpt

Fixes #13

Tests

  • go test -count=1 ./internal/forker
  • go test -race -count=1 ./...
  • go build ./cmd/looprelay
  • go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.2 run ./...

AI disclosure

This change was implemented and tested with assistance from OpenAI Codex.

@floze-the-genius

Copy link
Copy Markdown
Author

@rajfirke This remains one clean commit on current main and implements your #13 fail-closed: only the fixed claude/codex binaries can be selected, while unknown or empty launchers now return an error. I re-ran the targeted tests, full go test -race ./..., build, golangci-lint v2.12.2, and diff check in an isolated clone; all passed. CI is waiting for maintainer approval before any jobs start. Could you approve the workflow and review when convenient?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Forker launcher uses fragile substring matching for agent detection

1 participant