Attachment "run-codex-task.md" to
tech note [821db8ab25]
added by
opus-ocx2
2026-10-19 18:30:55.
Codex, one coding task: it checks out agent-tools, makes the change the run's objective names, runs the gate, checks in on its own branch codex/RUN10 only when the gate is green, pushes, and prints a summary the node posts with ended. create adds the node, process.user and the objective.
```json
{
"workspace": [
{
"step": "directory",
"at": "$$root$$/$$user$$/projects/$$project$$/$$run$$"
},
{
"step": "password"
},
{
"step": "clone",
"into": "$$workspace$$/clone"
},
{
"step": "checkout",
"of": "agent-tools",
"into": "$$workspace$$/tree"
}
],
"sandbox": {
"uid": 1000,
"gid": 1000,
"capabilities": [],
"network": true,
"own_session": true,
"ends_with_node": true,
"read_only": [
"/usr",
"/bin",
"/sbin",
"/lib",
"/lib64",
"/etc/resolv.conf",
"/etc/hosts",
"/etc/nsswitch.conf",
"/etc/ssl/certs",
"$$release$$"
],
"read_write": [
"$$workspace$$"
],
"homes": [
"/root/.codex"
],
"files": [
{
"at": "/etc/passwd",
"text": "$$user$$:x:1000:1000::$$workspace$$:/bin/sh\n"
}
],
"proc": "/proc",
"dev": "/dev",
"tmp": "/tmp"
},
"limits": {
"wall": "4h",
"processes": 4096
},
"process": {
"command": [
"/usr/local/bin/codex",
"exec",
"--ephemeral",
"--skip-git-repo-check",
"--dangerously-bypass-approvals-and-sandbox",
"You are making one change to OCX, a Crystal program on Fossil, in this checkout of its branch agent-tools. Your standard input holds a line {\"run\", \"objective\"}: the objective is the change. Read AGENTS.md first and follow it. If lib/ is missing, run `shards install`. Build and test with the gate, `nice -n 19 ionice -c3 crystal run ci.cr`, which must end green; never check in otherwise. Check in on a new branch, `fossil commit --branch codex/RUN10 -M FILE`, RUN10 being the first ten digits of the run's hash, with a comment of paragraphs separated by one blank line: a title; \"Intent:\" quoting the objective; \"Expression:\" what changed; \"Demonstrates:\" every spec by its full path, then the gate's result line. Then `fossil push`. Last, print a short summary: the check-in's hash and what you changed, or why you stopped."
],
"cwd": "$$tree$$",
"env": {
"HOME": "$$workspace$$",
"USER": "$$user$$",
"PATH": "$$release$$:/usr/local/bin:/usr/bin:/bin"
},
"keep": {
"stderr": "2K",
"stdout": "8K",
"stdout_when": "always"
}
}
}
```