Project-2 baseline
This commit is contained in:
@@ -652,6 +652,13 @@ if (gitRepo) {
|
||||
git('read-tree HEAD', { env: indexEnv });
|
||||
git('add -A', { env: indexEnv });
|
||||
patch = git('diff --cached --binary --full-index HEAD', diffOpts);
|
||||
if (patch) {
|
||||
console.error(
|
||||
'Warning: no turn checkpoint was found, so snapshot.patch holds every change in the ' +
|
||||
'working tree, including edits the agent made during the captured turn. Check it ' +
|
||||
'and remove those before converting the snapshot to a task.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -86,3 +86,14 @@ never a numeric magnitude, never points, never a cap or pinned score: the
|
||||
grader sizes the subtraction itself. Always state the behavior that does NOT trip the penalty.
|
||||
Never describe how criteria combine into an overall score.>
|
||||
`;
|
||||
|
||||
/** The title names the task, not its author: a leading `<EUID>-` (the worker's 12-char id,
|
||||
* which workers put on their task dir) is dropped. Anything else is used as given. */
|
||||
export function rubricTitleSlug(slug: string): string {
|
||||
return slug.replace(/^(?=[A-Z0-9]*\d)[A-Z0-9]{12}-(?=\S)/, '');
|
||||
}
|
||||
|
||||
/** The scaffold with `<task-slug>` filled in for a task whose name is already known. */
|
||||
export function holisticRubricScaffoldFor(slug: string): string {
|
||||
return HOLISTIC_RUBRIC_SCAFFOLD.replace('<task-slug>', rubricTitleSlug(slug));
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
* Plugin-side re-export, so snapshot-to-task.ts resolves `./lib/copy-tree`
|
||||
* both here and in the toolkit's flat scripts/ dir.
|
||||
*/
|
||||
export * from '../../../../raccoon-worker-toolkit/static/scripts/lib/copy-tree';
|
||||
export * from '../../../../static/scripts/lib/copy-tree';
|
||||
|
||||
@@ -24,7 +24,7 @@ import { hideBin } from 'yargs/helpers';
|
||||
|
||||
import { stripAuthoringScaffolding, truncationIndex, turnsFromLines } from './harness-session.mjs';
|
||||
// This script must not call cpSync — it fails EACCES on a macOS docker bind mount.
|
||||
import { HOLISTIC_RUBRIC_SCAFFOLD } from './holistic-rubric-scaffold';
|
||||
import { holisticRubricScaffoldFor } from './holistic-rubric-scaffold';
|
||||
import { copyTree } from './lib/copy-tree';
|
||||
import { collectCwds, sanitizeSessionJsonl } from './sanitize-session-jsonl';
|
||||
|
||||
@@ -234,6 +234,7 @@ mkdirSync(join(taskDir, 'reference-runs'), { recursive: true });
|
||||
// task-shared/ are skipped by the existsSync guard below.
|
||||
const sharedFiles = [
|
||||
{ src: 'test.sh', dest: 'tests/test.sh' },
|
||||
{ src: 'codex-grader.py', dest: 'tests/codex-grader.py' },
|
||||
{
|
||||
src: 'grader-system-prompt-consolidated.md',
|
||||
dest: 'tests/grader-system-prompt-consolidated.md',
|
||||
@@ -663,6 +664,7 @@ gpus = 0
|
||||
allow_internet = true
|
||||
|
||||
[verifier.env]
|
||||
GRADER_HARNESS = "codex"
|
||||
ANTHROPIC_API_KEY = "\${ANTHROPIC_API_KEY}"
|
||||
ANTHROPIC_BASE_URL = "\${ANTHROPIC_BASE_URL}"
|
||||
|
||||
@@ -764,7 +766,7 @@ const holisticRubricMd = `<!--
|
||||
when you are done.
|
||||
-->
|
||||
|
||||
${HOLISTIC_RUBRIC_SCAFFOLD}`;
|
||||
${holisticRubricScaffoldFor(slug)}`;
|
||||
|
||||
writeFileSync(join(taskDir, 'tests', 'holistic-rubric.md'), holisticRubricMd);
|
||||
log.info('Scaffolded tests/holistic-rubric.md (needs manual editing)');
|
||||
|
||||
Reference in New Issue
Block a user