Login
Hex Artifact Content
Login

Artifact 7c07edd4221da40b833e3db92b3d4d0ca1faa573ec6164bd77299d400f3a817d:

Attachment "run-codex-task.md" to tech note [821db8ab25] added by opus-ocx2 2026-10-19 18:30:55.
0000: 43 6f 64 65 78 2c 20 6f 6e 65 20 63 6f 64 69 6e  Codex, one codin
0010: 67 20 74 61 73 6b 3a 20 69 74 20 63 68 65 63 6b  g task: it check
0020: 73 20 6f 75 74 20 61 67 65 6e 74 2d 74 6f 6f 6c  s out agent-tool
0030: 73 2c 20 6d 61 6b 65 73 20 74 68 65 20 63 68 61  s, makes the cha
0040: 6e 67 65 20 74 68 65 20 72 75 6e 27 73 20 6f 62  nge the run's ob
0050: 6a 65 63 74 69 76 65 20 6e 61 6d 65 73 2c 20 72  jective names, r
0060: 75 6e 73 20 74 68 65 20 67 61 74 65 2c 20 63 68  uns the gate, ch
0070: 65 63 6b 73 20 69 6e 20 6f 6e 20 69 74 73 20 6f  ecks in on its o
0080: 77 6e 20 62 72 61 6e 63 68 20 63 6f 64 65 78 2f  wn branch codex/
0090: 52 55 4e 31 30 20 6f 6e 6c 79 20 77 68 65 6e 20  RUN10 only when 
00a0: 74 68 65 20 67 61 74 65 20 69 73 20 67 72 65 65  the gate is gree
00b0: 6e 2c 20 70 75 73 68 65 73 2c 20 61 6e 64 20 70  n, pushes, and p
00c0: 72 69 6e 74 73 20 61 20 73 75 6d 6d 61 72 79 20  rints a summary 
00d0: 74 68 65 20 6e 6f 64 65 20 70 6f 73 74 73 20 77  the node posts w
00e0: 69 74 68 20 65 6e 64 65 64 2e 20 63 72 65 61 74  ith ended. creat
00f0: 65 20 61 64 64 73 20 74 68 65 20 6e 6f 64 65 2c  e adds the node,
0100: 20 70 72 6f 63 65 73 73 2e 75 73 65 72 20 61 6e   process.user an
0110: 64 20 74 68 65 20 6f 62 6a 65 63 74 69 76 65 2e  d the objective.
0120: 0a 0a 60 60 60 6a 73 6f 6e 0a 7b 0a 20 20 22 77  ..```json.{.  "w
0130: 6f 72 6b 73 70 61 63 65 22 3a 20 5b 0a 20 20 20  orkspace": [.   
0140: 20 7b 0a 20 20 20 20 20 20 22 73 74 65 70 22 3a   {.      "step":
0150: 20 22 64 69 72 65 63 74 6f 72 79 22 2c 0a 20 20   "directory",.  
0160: 20 20 20 20 22 61 74 22 3a 20 22 24 24 72 6f 6f      "at": "$$roo
0170: 74 24 24 2f 24 24 75 73 65 72 24 24 2f 70 72 6f  t$$/$$user$$/pro
0180: 6a 65 63 74 73 2f 24 24 70 72 6f 6a 65 63 74 24  jects/$$project$
0190: 24 2f 24 24 72 75 6e 24 24 22 0a 20 20 20 20 7d  $/$$run$$".    }
01a0: 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73  ,.    {.      "s
01b0: 74 65 70 22 3a 20 22 70 61 73 73 77 6f 72 64 22  tep": "password"
01c0: 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20  .    },.    {.  
01d0: 20 20 20 20 22 73 74 65 70 22 3a 20 22 63 6c 6f      "step": "clo
01e0: 6e 65 22 2c 0a 20 20 20 20 20 20 22 69 6e 74 6f  ne",.      "into
01f0: 22 3a 20 22 24 24 77 6f 72 6b 73 70 61 63 65 24  ": "$$workspace$
0200: 24 2f 63 6c 6f 6e 65 22 0a 20 20 20 20 7d 2c 0a  $/clone".    },.
0210: 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 74 65      {.      "ste
0220: 70 22 3a 20 22 63 68 65 63 6b 6f 75 74 22 2c 0a  p": "checkout",.
0230: 20 20 20 20 20 20 22 6f 66 22 3a 20 22 61 67 65        "of": "age
0240: 6e 74 2d 74 6f 6f 6c 73 22 2c 0a 20 20 20 20 20  nt-tools",.     
0250: 20 22 69 6e 74 6f 22 3a 20 22 24 24 77 6f 72 6b   "into": "$$work
0260: 73 70 61 63 65 24 24 2f 74 72 65 65 22 0a 20 20  space$$/tree".  
0270: 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 73 61 6e 64    }.  ],.  "sand
0280: 62 6f 78 22 3a 20 7b 0a 20 20 20 20 22 75 69 64  box": {.    "uid
0290: 22 3a 20 31 30 30 30 2c 0a 20 20 20 20 22 67 69  ": 1000,.    "gi
02a0: 64 22 3a 20 31 30 30 30 2c 0a 20 20 20 20 22 63  d": 1000,.    "c
02b0: 61 70 61 62 69 6c 69 74 69 65 73 22 3a 20 5b 5d  apabilities": []
02c0: 2c 0a 20 20 20 20 22 6e 65 74 77 6f 72 6b 22 3a  ,.    "network":
02d0: 20 74 72 75 65 2c 0a 20 20 20 20 22 6f 77 6e 5f   true,.    "own_
02e0: 73 65 73 73 69 6f 6e 22 3a 20 74 72 75 65 2c 0a  session": true,.
02f0: 20 20 20 20 22 65 6e 64 73 5f 77 69 74 68 5f 6e      "ends_with_n
0300: 6f 64 65 22 3a 20 74 72 75 65 2c 0a 20 20 20 20  ode": true,.    
0310: 22 72 65 61 64 5f 6f 6e 6c 79 22 3a 20 5b 0a 20  "read_only": [. 
0320: 20 20 20 20 20 22 2f 75 73 72 22 2c 0a 20 20 20       "/usr",.   
0330: 20 20 20 22 2f 62 69 6e 22 2c 0a 20 20 20 20 20     "/bin",.     
0340: 20 22 2f 73 62 69 6e 22 2c 0a 20 20 20 20 20 20   "/sbin",.      
0350: 22 2f 6c 69 62 22 2c 0a 20 20 20 20 20 20 22 2f  "/lib",.      "/
0360: 6c 69 62 36 34 22 2c 0a 20 20 20 20 20 20 22 2f  lib64",.      "/
0370: 65 74 63 2f 72 65 73 6f 6c 76 2e 63 6f 6e 66 22  etc/resolv.conf"
0380: 2c 0a 20 20 20 20 20 20 22 2f 65 74 63 2f 68 6f  ,.      "/etc/ho
0390: 73 74 73 22 2c 0a 20 20 20 20 20 20 22 2f 65 74  sts",.      "/et
03a0: 63 2f 6e 73 73 77 69 74 63 68 2e 63 6f 6e 66 22  c/nsswitch.conf"
03b0: 2c 0a 20 20 20 20 20 20 22 2f 65 74 63 2f 73 73  ,.      "/etc/ss
03c0: 6c 2f 63 65 72 74 73 22 2c 0a 20 20 20 20 20 20  l/certs",.      
03d0: 22 24 24 72 65 6c 65 61 73 65 24 24 22 0a 20 20  "$$release$$".  
03e0: 20 20 5d 2c 0a 20 20 20 20 22 72 65 61 64 5f 77    ],.    "read_w
03f0: 72 69 74 65 22 3a 20 5b 0a 20 20 20 20 20 20 22  rite": [.      "
0400: 24 24 77 6f 72 6b 73 70 61 63 65 24 24 22 0a 20  $$workspace$$". 
0410: 20 20 20 5d 2c 0a 20 20 20 20 22 68 6f 6d 65 73     ],.    "homes
0420: 22 3a 20 5b 0a 20 20 20 20 20 20 22 2f 72 6f 6f  ": [.      "/roo
0430: 74 2f 2e 63 6f 64 65 78 22 0a 20 20 20 20 5d 2c  t/.codex".    ],
0440: 0a 20 20 20 20 22 66 69 6c 65 73 22 3a 20 5b 0a  .    "files": [.
0450: 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20        {.        
0460: 22 61 74 22 3a 20 22 2f 65 74 63 2f 70 61 73 73  "at": "/etc/pass
0470: 77 64 22 2c 0a 20 20 20 20 20 20 20 20 22 74 65  wd",.        "te
0480: 78 74 22 3a 20 22 24 24 75 73 65 72 24 24 3a 78  xt": "$$user$$:x
0490: 3a 31 30 30 30 3a 31 30 30 30 3a 3a 24 24 77 6f  :1000:1000::$$wo
04a0: 72 6b 73 70 61 63 65 24 24 3a 2f 62 69 6e 2f 73  rkspace$$:/bin/s
04b0: 68 5c 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20  h\n".      }.   
04c0: 20 5d 2c 0a 20 20 20 20 22 70 72 6f 63 22 3a 20   ],.    "proc": 
04d0: 22 2f 70 72 6f 63 22 2c 0a 20 20 20 20 22 64 65  "/proc",.    "de
04e0: 76 22 3a 20 22 2f 64 65 76 22 2c 0a 20 20 20 20  v": "/dev",.    
04f0: 22 74 6d 70 22 3a 20 22 2f 74 6d 70 22 0a 20 20  "tmp": "/tmp".  
0500: 7d 2c 0a 20 20 22 6c 69 6d 69 74 73 22 3a 20 7b  },.  "limits": {
0510: 0a 20 20 20 20 22 77 61 6c 6c 22 3a 20 22 34 68  .    "wall": "4h
0520: 22 2c 0a 20 20 20 20 22 70 72 6f 63 65 73 73 65  ",.    "processe
0530: 73 22 3a 20 34 30 39 36 0a 20 20 7d 2c 0a 20 20  s": 4096.  },.  
0540: 22 70 72 6f 63 65 73 73 22 3a 20 7b 0a 20 20 20  "process": {.   
0550: 20 22 63 6f 6d 6d 61 6e 64 22 3a 20 5b 0a 20 20   "command": [.  
0560: 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f      "/usr/local/
0570: 62 69 6e 2f 63 6f 64 65 78 22 2c 0a 20 20 20 20  bin/codex",.    
0580: 20 20 22 65 78 65 63 22 2c 0a 20 20 20 20 20 20    "exec",.      
0590: 22 2d 2d 65 70 68 65 6d 65 72 61 6c 22 2c 0a 20  "--ephemeral",. 
05a0: 20 20 20 20 20 22 2d 2d 73 6b 69 70 2d 67 69 74       "--skip-git
05b0: 2d 72 65 70 6f 2d 63 68 65 63 6b 22 2c 0a 20 20  -repo-check",.  
05c0: 20 20 20 20 22 2d 2d 64 61 6e 67 65 72 6f 75 73      "--dangerous
05d0: 6c 79 2d 62 79 70 61 73 73 2d 61 70 70 72 6f 76  ly-bypass-approv
05e0: 61 6c 73 2d 61 6e 64 2d 73 61 6e 64 62 6f 78 22  als-and-sandbox"
05f0: 2c 0a 20 20 20 20 20 20 22 59 6f 75 20 61 72 65  ,.      "You are
0600: 20 6d 61 6b 69 6e 67 20 6f 6e 65 20 63 68 61 6e   making one chan
0610: 67 65 20 74 6f 20 4f 43 58 2c 20 61 20 43 72 79  ge to OCX, a Cry
0620: 73 74 61 6c 20 70 72 6f 67 72 61 6d 20 6f 6e 20  stal program on 
0630: 46 6f 73 73 69 6c 2c 20 69 6e 20 74 68 69 73 20  Fossil, in this 
0640: 63 68 65 63 6b 6f 75 74 20 6f 66 20 69 74 73 20  checkout of its 
0650: 62 72 61 6e 63 68 20 61 67 65 6e 74 2d 74 6f 6f  branch agent-too
0660: 6c 73 2e 20 59 6f 75 72 20 73 74 61 6e 64 61 72  ls. Your standar
0670: 64 20 69 6e 70 75 74 20 68 6f 6c 64 73 20 61 20  d input holds a 
0680: 6c 69 6e 65 20 7b 5c 22 72 75 6e 5c 22 2c 20 5c  line {\"run\", \
0690: 22 6f 62 6a 65 63 74 69 76 65 5c 22 7d 3a 20 74  "objective\"}: t
06a0: 68 65 20 6f 62 6a 65 63 74 69 76 65 20 69 73 20  he objective is 
06b0: 74 68 65 20 63 68 61 6e 67 65 2e 20 52 65 61 64  the change. Read
06c0: 20 41 47 45 4e 54 53 2e 6d 64 20 66 69 72 73 74   AGENTS.md first
06d0: 20 61 6e 64 20 66 6f 6c 6c 6f 77 20 69 74 2e 20   and follow it. 
06e0: 49 66 20 6c 69 62 2f 20 69 73 20 6d 69 73 73 69  If lib/ is missi
06f0: 6e 67 2c 20 72 75 6e 20 60 73 68 61 72 64 73 20  ng, run `shards 
0700: 69 6e 73 74 61 6c 6c 60 2e 20 42 75 69 6c 64 20  install`. Build 
0710: 61 6e 64 20 74 65 73 74 20 77 69 74 68 20 74 68  and test with th
0720: 65 20 67 61 74 65 2c 20 60 6e 69 63 65 20 2d 6e  e gate, `nice -n
0730: 20 31 39 20 69 6f 6e 69 63 65 20 2d 63 33 20 63   19 ionice -c3 c
0740: 72 79 73 74 61 6c 20 72 75 6e 20 63 69 2e 63 72  rystal run ci.cr
0750: 60 2c 20 77 68 69 63 68 20 6d 75 73 74 20 65 6e  `, which must en
0760: 64 20 67 72 65 65 6e 3b 20 6e 65 76 65 72 20 63  d green; never c
0770: 68 65 63 6b 20 69 6e 20 6f 74 68 65 72 77 69 73  heck in otherwis
0780: 65 2e 20 43 68 65 63 6b 20 69 6e 20 6f 6e 20 61  e. Check in on a
0790: 20 6e 65 77 20 62 72 61 6e 63 68 2c 20 60 66 6f   new branch, `fo
07a0: 73 73 69 6c 20 63 6f 6d 6d 69 74 20 2d 2d 62 72  ssil commit --br
07b0: 61 6e 63 68 20 63 6f 64 65 78 2f 52 55 4e 31 30  anch codex/RUN10
07c0: 20 2d 4d 20 46 49 4c 45 60 2c 20 52 55 4e 31 30   -M FILE`, RUN10
07d0: 20 62 65 69 6e 67 20 74 68 65 20 66 69 72 73 74   being the first
07e0: 20 74 65 6e 20 64 69 67 69 74 73 20 6f 66 20 74   ten digits of t
07f0: 68 65 20 72 75 6e 27 73 20 68 61 73 68 2c 20 77  he run's hash, w
0800: 69 74 68 20 61 20 63 6f 6d 6d 65 6e 74 20 6f 66  ith a comment of
0810: 20 70 61 72 61 67 72 61 70 68 73 20 73 65 70 61   paragraphs sepa
0820: 72 61 74 65 64 20 62 79 20 6f 6e 65 20 62 6c 61  rated by one bla
0830: 6e 6b 20 6c 69 6e 65 3a 20 61 20 74 69 74 6c 65  nk line: a title
0840: 3b 20 5c 22 49 6e 74 65 6e 74 3a 5c 22 20 71 75  ; \"Intent:\" qu
0850: 6f 74 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74  oting the object
0860: 69 76 65 3b 20 5c 22 45 78 70 72 65 73 73 69 6f  ive; \"Expressio
0870: 6e 3a 5c 22 20 77 68 61 74 20 63 68 61 6e 67 65  n:\" what change
0880: 64 3b 20 5c 22 44 65 6d 6f 6e 73 74 72 61 74 65  d; \"Demonstrate
0890: 73 3a 5c 22 20 65 76 65 72 79 20 73 70 65 63 20  s:\" every spec 
08a0: 62 79 20 69 74 73 20 66 75 6c 6c 20 70 61 74 68  by its full path
08b0: 2c 20 74 68 65 6e 20 74 68 65 20 67 61 74 65 27  , then the gate'
08c0: 73 20 72 65 73 75 6c 74 20 6c 69 6e 65 2e 20 54  s result line. T
08d0: 68 65 6e 20 60 66 6f 73 73 69 6c 20 70 75 73 68  hen `fossil push
08e0: 60 2e 20 4c 61 73 74 2c 20 70 72 69 6e 74 20 61  `. Last, print a
08f0: 20 73 68 6f 72 74 20 73 75 6d 6d 61 72 79 3a 20   short summary: 
0900: 74 68 65 20 63 68 65 63 6b 2d 69 6e 27 73 20 68  the check-in's h
0910: 61 73 68 20 61 6e 64 20 77 68 61 74 20 79 6f 75  ash and what you
0920: 20 63 68 61 6e 67 65 64 2c 20 6f 72 20 77 68 79   changed, or why
0930: 20 79 6f 75 20 73 74 6f 70 70 65 64 2e 22 0a 20   you stopped.". 
0940: 20 20 20 5d 2c 0a 20 20 20 20 22 63 77 64 22 3a     ],.    "cwd":
0950: 20 22 24 24 74 72 65 65 24 24 22 2c 0a 20 20 20   "$$tree$$",.   
0960: 20 22 65 6e 76 22 3a 20 7b 0a 20 20 20 20 20 20   "env": {.      
0970: 22 48 4f 4d 45 22 3a 20 22 24 24 77 6f 72 6b 73  "HOME": "$$works
0980: 70 61 63 65 24 24 22 2c 0a 20 20 20 20 20 20 22  pace$$",.      "
0990: 55 53 45 52 22 3a 20 22 24 24 75 73 65 72 24 24  USER": "$$user$$
09a0: 22 2c 0a 20 20 20 20 20 20 22 50 41 54 48 22 3a  ",.      "PATH":
09b0: 20 22 24 24 72 65 6c 65 61 73 65 24 24 3a 2f 75   "$$release$$:/u
09c0: 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 3a 2f 75 73  sr/local/bin:/us
09d0: 72 2f 62 69 6e 3a 2f 62 69 6e 22 0a 20 20 20 20  r/bin:/bin".    
09e0: 7d 2c 0a 20 20 20 20 22 6b 65 65 70 22 3a 20 7b  },.    "keep": {
09f0: 0a 20 20 20 20 20 20 22 73 74 64 65 72 72 22 3a  .      "stderr":
0a00: 20 22 32 4b 22 2c 0a 20 20 20 20 20 20 22 73 74   "2K",.      "st
0a10: 64 6f 75 74 22 3a 20 22 38 4b 22 2c 0a 20 20 20  dout": "8K",.   
0a20: 20 20 20 22 73 74 64 6f 75 74 5f 77 68 65 6e 22     "stdout_when"
0a30: 3a 20 22 61 6c 77 61 79 73 22 0a 20 20 20 20 7d  : "always".    }
0a40: 0a 20 20 7d 0a 7d 0a 60 60 60 0a                 .  }.}.```.