Commit Graph
14 Commits
Author SHA1 Message Date
Devika Verma a952d5463b run: --no-web-tools keeps web_search and web_fetch out of the tool list (OPE-226)
For sealed evaluation runs and air-gapped work. A network block only refuses the call: the model still sees both tools, can spend turns on them, and the record cannot say they were absent. The flag withholds them at registration (build_engine(web_tools=False)), and summary.json and the trajectory record web_tools: false. Without the flag nothing changes.

Tests: with the flag both calls get the engine's unknown-tool answer and the record says false; without it web_fetch is present, shown with a non-URL the tool rejects before any network I/O.
2026-10-20 17:35:20 +05:30
Rohit C Prasad 9de6b83c7f run: retry a failed model call after 2 s, then back off
Waits are now 2, 5, 10, 30, 60, 120, 240, 300, 300 s; the first was 30 s.
One dropped connection no longer costs half a minute.
2026-10-05 11:20:53 -07:00
Rohit C Prasad 5c957d2185 run: the retry line gives the cause, and a stop signal ends the wait between retries
A failed model call prints what was underneath it, such as a proxy's 403.
SIGTERM during the wait before a retry now stops the run and leaves its record (exit 130).
2026-10-04 15:46:50 -07:00
Rohit C Prasad bab5b07c9b run: connectors are available, and the record uses the new names
A run has the connectors connected on this computer, as the app does.
summary.json and the trajectory say coworker, approval_mode and auto_answer.
2026-10-04 11:41:00 -07:00
Rohit C Prasad 6e0d58199a run: a folder request is asked in the terminal and yes gives the folder
Yes, yes but read only, no, or a different folder. With --auto-answer or no terminal it is declined by rule, as before.
2026-10-04 11:20:39 -07:00
Rohit C Prasad f3bae90322 run: --approval-mode replaces --mode, and the earlier flag names are gone
--mode, --persona, --attendance and the unlisted mode names are no longer accepted.
Flags cannot be shortened, so --mode is refused instead of being read as --model.
2026-10-04 11:18:40 -07:00
Rohit C Prasad 900bc9f7f2 run: Ctrl-C at a prompt ends the run and leaves its record
Exit code 130. The prompt is read on a daemon thread so the run does not wait for Enter to exit.
2026-10-03 21:05:49 -07:00
Rohit C Prasad 25c9e0ba2d run: uses this computer's settings, asks in the terminal, and saves the session
Default mode is ask; approvals and questions are separate (--auto-answer); --isolated keeps the sealed benchmark run.
Without --out the record goes to sessions/<workspace path>/<session id> in the state folder; --allow-site adds sites for the run.
Exit code 0 only when the task finished; 3 when it stopped early with its record written.
2026-10-03 21:05:07 -07:00
Rohit C Prasad 14e5e8195f run: the approval mode that asks is named ask
The stored name, interactive, is still accepted but unlisted.
2026-10-03 20:47:17 -07:00
Rohit C Prasad 07cc4a3caa run: the task can be piped in on standard input
With no --prompt or --prompt-file, a piped standard input is the task; a terminal or an empty pipe stops with exit code 2.
2026-10-03 20:37:49 -07:00
Rohit C Prasad 8064af1ed1 run: --coworker chooses the coworker, and the workspace defaults to the current folder
--persona still works, unlisted. An unknown coworker id stops the run with exit code 2.
2026-10-03 20:04:17 -07:00
Devika Verma 31fac7049a Rename openworker run --root to --add-dir (OPE-196)
"root" already means the superuser and the top of the filesystem; `--add-dir` says what
the flag does and is the name the best-known agent CLIs use for the same idea. Recorded
in summary.json as args.extra_dirs.
2026-10-02 15:11:22 +05:30
Devika Verma 1d0073faaf Add --root to openworker run: extra writable folders beside the workspace (OPE-196)
A harness can put its output contract outside the workspace: CyberGym-E2E runs the agent
in /src and grades /output/fix.patch and /output/poc.bin. OpenWorker's file tools only
write under a declared root, in every permission mode (the dangerous mode clears the
permission floor, but the tools still resolve paths against the session's roots by
construction), while the shell is not scoped. So without a way to declare /output, a
delivery depended on which tool the model happened to pick.

`--root DIR` (repeatable) adds writable roots after the workspace, which stays the folder
relative paths resolve against; the folders are announced to the model in the session's
directories block and recorded under args.roots in summary.json. The reference harness
does the same for Gemini CLI with --include-directories /src,/scripts,/output.
2026-10-02 15:11:22 +05:30
Devika Verma 78acad6758 Add openworker run: one task, no human, a record left behind (OPE-196)
A headless one-shot command beside `up`: give it a task, a folder and a model; it builds the same engine the desktop app uses, runs to the end with attendance `auto` (coworker/unattended.py), and leaves a record: every event, the final conversation, a summary with tokens and cost, every answer the engine gave on the absent user's behalf, the audit log, a per-call model log, and a trajectory in the ATIF interchange format. The trajectory and the exit code are the stable contract; the other files are internal.

State and scratch folders are pointed under --out before the engine starts, so a run never touches the machine's own conversations, keys or settings. A transient provider failure or an empty reply is waited out with backoff and a nudge instead of ending the run; permanent errors are not retried. Tool results are bounded with the full text spilled beside the record. A small price table gives an estimated cost per call as a cross-check; an unpriced model gets counts but no cost.

The mode axis decides approvals (`dangerously-bypass-approvals` prints its warning line here); the runner adds no policy of its own.
2026-10-02 15:11:21 +05:30