Skip to content

Add GEAK v4 kernel workflow agent integration#72

Open
irvineoy wants to merge 2 commits into
mainfrom
codex/geak-v4-agent
Open

Add GEAK v4 kernel workflow agent integration#72
irvineoy wants to merge 2 commits into
mainfrom
codex/geak-v4-agent

Conversation

@irvineoy

Copy link
Copy Markdown
Collaborator

Summary

  • add a registered geak_v4 agent that runs GEAK's deterministic kernel_workflow.js through a persistent Claude Agent SDK client
  • add Docker setup, read-only GEAK checkout mounting, persistent SDK dependencies, preflight checks, MI300 quickstart config, and user documentation
  • run GEAK on a disposable task snapshot and import only a Director-accepted patch for the one declared source file
  • handle background Workflow lifecycle, disk artifact recovery, physical-to-logical GPU mapping, bounded output, and process-group cleanup

V1 task contract

The initial adapter supports hip2hip, triton2triton, and flydsl2flydsl tasks with exactly one ordinary source file. It rejects protected test/harness/config paths, symlinks, hard links, multiple sources, binary patches, path traversal, and create/delete/rename/mode or multi-file changes.

The adapter was developed against GEAK commit 4965d5b2ccde927925c8c5501a25c1233daa52eb (v4.0.0-102-g4965d5b).

Integrity boundary

  • GEAK receives a disposable workspace copy and apply_to_original=false
  • the scored workspace is fully manifested before and after Workflow execution
  • Director, Workflow, and imported patch provenance must all match the pinned eval/final_patch.diff
  • result/audit JSON uses symlink-safe atomic writes, artifact directories are inode-pinned, and normal runs mount the persistent Python dependency target read-only
  • this is a fail-closed integrity boundary, not an OS sandbox; that limitation is called out in the agent README

Validation

  • python -m pytest -q tests84 passed
  • bash tests/test_docker_benchmark.sh — passed
  • Python compile checks, shell syntax checks, YAML parsing, git diff --check, and Make target dry runs — passed
  • handoff mapping against the real GEAK checkout and pinned kernel_workflow.js — passed
  • cached gfx950 container setup/import smoke for claude-agent-sdk==0.2.127, including ClaudeSDKClient, ClaudeAgentOptions, and cli_path — passed without contacting Claude
  • two independent read-only reviews found no remaining blocker after patch-provenance, lifecycle, dependency-mount, outer-Git-worktree, and symlink-write fixes

Not tested

A live Claude/GEAK optimization run was intentionally not executed because this machine has no paid Claude Code account. The included one-task quickstart is the remaining authenticated end-to-end check.

Suggested review focus

  • compatibility of the handoff and normalized result schema with the pinned GEAK revision
  • Claude SDK background-task lifecycle and terminal artifact semantics
  • whether GEAK maintainers want to widen the V1 single-source task contract in a follow-up

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.

1 participant