Make co-evolve usable through init and bounce subcommands - #70
alanshurafa wants to merge 5 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aaa86e04d2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| cmd=(cmd.exe /c codex exec --approve-for-me --skip-git-repo-check -C "$windows_workdir") | ||
| else | ||
| cmd=(codex exec --full-auto --skip-git-repo-check -C "$workdir") | ||
| cmd=(codex exec --approve-for-me --skip-git-repo-check -C "$workdir") |
There was a problem hiding this comment.
Restore a supported Codex approval option
With Codex CLI 0.144.0-alpha.4, codex exec --approve-for-me exits 2 with unexpected argument, while the previous --full-auto invocation is accepted. Because Codex is the default composer, every default bounce reaches this path, produces no agent output, and ultimately fails after retries; schema-backed verification is affected identically. Retain --full-auto or implement version-aware selection of a documented option.
AGENTS.md reference: AGENTS.md:L72-L72
Useful? React with 👍 / 👎.
| input="$(cd "$(dirname "$1")" && pwd)/$(basename "$1")" | ||
| shift | ||
| export CO_EVOLVE_RUNS_DIR="${CO_EVOLVE_RUNS_DIR:-$PWD/.co-evolve/runs}" | ||
| exec bash "$ROOT/co-evolve-bouncer.sh" --vanilla --bounce-only "$@" -- "$input" |
There was a problem hiding this comment.
Reject output paths that alias the input
When a user runs co-evolve bounce doc.md --output doc.md, the wrapper forwards the path without checking it against the normalized input, and the underlying bouncer copies its final artifact over doc.md. This violates the new command's stated input-preservation contract and can destroy the only original document; reject output paths that resolve to the input, including symlink aliases.
Useful? React with 👍 / 👎.
Adds
co-evolve initandco-evolve bounce <file>for a first run without reading script source. The npm package now installs both the document CLI and MCP server. Init refuses to overwrite files; bounce preserves input and per-pass artifacts. The Codex adapter uses the installed CLI's supported approval flag, and report wording makes behavior scores informational.Installed a built tarball into a disposable prefix: help printed usage, init created the sample, and two real Codex passes exited 0. The reviewer challenged same-device backups, unrestricted overwrites, and absent restore tests; the final document addresses each. Raw critiques, marker state, scores, and a human report were retained. A failing behavior score did not fail the flow. npm registry publication remains blocked on operator authentication.
TypeScript checkpoint and MCP completion suite passed. The local shell suite failed its PR-emitter fixture after concurrent commits invalidated the checkout-dependent cache. The single retry was launched with an invalid Git Bash environment and exited 1 before valid tests ran. The requested second-red stop condition fired: this PR is intentionally left unmerged. The real CLI exercise succeeded; continuation requires correcting the test environment and permission to resume beyond the stop condition.