Skip to content

Add compileable task evaluation and auto-verification support#2150

Merged
kobe0938 merged 20 commits into
mainfrom
codex/evaluate-compilable-tasks
Jul 2, 2026
Merged

Add compileable task evaluation and auto-verification support#2150
kobe0938 merged 20 commits into
mainfrom
codex/evaluate-compilable-tasks

Conversation

@alexgshaw

@alexgshaw alexgshaw commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add compile and exec configuration models plus executor/compiler plumbing for compileable tasks.
  • Wire new CLI and trial flow support for evaluating compiled tasks and auto-verifying artifacts.
  • Update task templates and validation tests to cover the new compile/check/annotate/analyze paths.

Testing

  • Added and updated unit tests for compile config, exec config, compiler, executor, trial cleanup, and task validation.
  • Validation coverage includes template artifact schema checks and CLI exec behavior.
  • Not run (not requested)

Open in Devin Review

@vercel

vercel Bot commented Jul 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
harbor-docs Ready Ready Preview, Comment Jul 2, 2026 6:58am

Request Review

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Enjoy a better diff viewing experience by clicking one of these URLs:

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

@alexgshaw alexgshaw requested a review from kobe0938 July 1, 2026 21:32
@kobe0938 kobe0938 self-assigned this Jul 1, 2026

@kobe0938 kobe0938 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish we can discuss in person before merging. But I'll just keep some notes for later reference. List keeps updating as I review more deeply.

  1. add harbor compile that only does the first half of harbor exec which only do task compilation NOT job related stuff like -a, -m, -e, -k, -n, --ak, --ae, --job-name, --jobs-dir, -q, probably the interface of harbor compile and harbor exec should be designed together.

also harbor compile ... --run != harbor exec ... because compile does not carry job related flags so that it's not runnable (just call back to Ryan's question last Friday)

  1. the current interface, i hope it could be more consistent with harbor run, especially some shorthands like -i, -p, -o; in harbor run, -p is --path (local task/dataset directory), in harbor exec, it makes sense to use it the same way (not a -i )

under --scan, harbor exec -p cases/ produces one task per immediate subdirectory, which is almost exactly what harbor run -p dataset-dir/ does (one trial per task subdirectory). So the two commands would share a coherent rule.

This might be critical especially for users who are familiar with the harbor run commands, or even for AI agents, so that we are not confusing AI agents as well.

In terms of -i, it's a bit tricky, it means --include-task-name in harbor run, I hope -i could be the --instruction in the harbor exec. for the -i in harbor run, we can either 1. leave it be or 2. remove the shorthand; but i think either one is fine because the -i in harbor run is not widely used, and it will not be widely used as harbor exec in the future.

  1. --collect rename to --artifact, --no-verify renamed to --disable-verification? it seems the functionalities are the same for those two. no need to introduce new cli flags. i really want to keep things conssitent
  2. i feel there's definitely a better/expressive name for it--scan
  3. add .yaml examples for harbor exec
  4. "reduce" related, Is it possible that we reduce more than one time?
  5. retries, timeouts, resource overrides, mounts, skills, MCP, logs, upload/share, plugins are absent in harbor exec, they maybe less frequently being used, but do we need to add them?
  6. less important but seems liek --n-concurrent-agents is also absent, I really want to do a full parity comparison between harbor run and exec before merging.

Copy link
Copy Markdown
Collaborator Author
  1. I agree we should add harbor compile. But lets save it for a future PR
  2. Agreed. I aligned them with harbor run except I made --instruction shorthand -i (i'm not worried about the -i name clash w harbor run since it's more bespoke as you mentioned) and changed --input to --path. I also kept --output-dir as -o bc by default, jobs get nested in here too. By default, if only one -p is passed in, --scan functionality is applied. Lmk if you can think of a better name.
  3. Renamed both
  4. Wdyt is better? --scan matches some of the harbor add commands I think.
  5. Added
  6. Added --rk / --n-reduce-attempts
  7. Let me think on this one. I'm tempted to wait until someone asks us for these, but I could be convinced for --skill, --plugin, --upload, --share-*
  8. Not worried about this one

I think we don't want perfect configurable parity with harbor run quite yet bc:

  1. Anyone can easily create a config instead which gives them full configurability
  2. This is still an experimental feature and the CLI is already quite large

@kobe0938

kobe0938 commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

for record keeping purpose:

cool, if in a rush, let’s merge it then.
[10:19 PM]i can almost be sure that

FILE_MENTION_PATTERN = re.compile(
    r”(?<![A-Za-z0-9_./-])”
    r”((?:/|.{1,2}/)?[A-Za-z0-9_.-]+(?:/[A-Za-z0-9_.-]+)
    r”.[A-Za-z0-9][A-Za-z0-9_.-]
)”
    r”(?![A-Za-z0-9_./-])”
)

this is too strict so that it will capture things we dont want
[10:20 PM]like “e.g.”
[10:20 PM]but it can be fixed later.
[10:21 PM]i also recommend adding some warning in the cli when using “harbor --exec” saying that this is experimental, and the flags and implementation are subject to change. (edited) 
Kobe  [10:49 PM]
i’m e2e running it. curious why in

examples/exec/map-reduce.yaml

n_attempts: 3 in reduce.job part? seems not necessary; also job_name: reduce-summary will get a conflicts if running it again.
Kobe  [11:09 PM]
tested, working fine with example; what do you say? let’s merge it and patch afterwards?
2 files Kobe  [11:17 PM]
overall i think this auto-detect artifacts and verify their existence is a bit redundant & unnecessary

it has 2 problems:

regex will mis-classify for terms like “e.g.“, “python3.12” as files needed
even if it works, this thin verification does not bring too much extra value to user. - as in, what if user wants a json? the verifier only reports the json exsits but not verifying the format.
for that, i actually think a preflight llm call or harbor run to generate the verifier with richer features is even better(more intelligent?) than this basic one, which user can opt in, of course (edited) 
Kobe  [11:24 PM]
anyway, i’ll approve & merge at 11:59pm; let’s fix afterwards!

image image

@kobe0938 kobe0938 merged commit 18f525b into main Jul 2, 2026
7 of 8 checks passed
@kobe0938 kobe0938 deleted the codex/evaluate-compilable-tasks branch July 2, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants