Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
469fe95
spec: workflow auto runner phase selection and retry semantics
simonperegrinvs Feb 8, 2026
7471cfd
implement: workflow auto runner executes one phase and updates plan s…
simonperegrinvs Feb 8, 2026
fd30c5d
implement: add forge workflow auto command (dry-run + phase gates)
simonperegrinvs Feb 8, 2026
469f4ed
spec: codex app-server adapter streams deltas and completes
simonperegrinvs Feb 8, 2026
ead5734
implement: codex app-server adapter (thread/turn + delta streaming)
simonperegrinvs Feb 8, 2026
fdafaa5
implement: claude interactive adapter via PTY wrapper + hooks bridge
simonperegrinvs Feb 8, 2026
d9df9df
refactor: workflow auto uses codex app-server and claude PTY adapters
simonperegrinvs Feb 8, 2026
ad65307
refactor: spec gate script enforces red tests
simonperegrinvs Feb 8, 2026
c115fbd
refactor: stream workflow adapter output to stderr during auto runs
simonperegrinvs Feb 8, 2026
be604bd
refactor: include gate output and resume hints when workflow auto pauses
simonperegrinvs Feb 8, 2026
0da5610
docs: document workflow auto ralph loop and adapter integrations
simonperegrinvs Feb 8, 2026
db61a46
test: raise coverage for workflow adapters
simonperegrinvs Feb 8, 2026
78cf721
feat: show workflow progress during auto
simonperegrinvs Feb 8, 2026
d13f9ed
feat(adapter-codex): handle requestUserInput interactively
simonperegrinvs Feb 8, 2026
9775020
spec: codex emits structured user input requests
simonperegrinvs Feb 8, 2026
9bcd5fc
implement(adapter-codex): surface requestUserInput as adapter event
simonperegrinvs Feb 8, 2026
aad0877
refactor(adapter-codex): drop legacy exec transport
simonperegrinvs Feb 8, 2026
2750627
feat(desktop): run plans via workflow auto + codex app-server session
simonperegrinvs Feb 8, 2026
12ea43e
docs: reflect codex app-server runtime
simonperegrinvs Feb 8, 2026
af4ef27
fix(adapter-codex): route prompt responses without stdin readline
simonperegrinvs Feb 8, 2026
30e33ee
spec: codex planning auto-invokes plan-guided
simonperegrinvs Feb 8, 2026
22f6c58
feat(codex planning): auto-invoke plan-guided via app-server session
simonperegrinvs Feb 8, 2026
84ca5ce
refactor(cli): dedupe codex session run context
simonperegrinvs Feb 8, 2026
032c866
docs(decisions): auto-invoke plan-guided for codex planning
simonperegrinvs Feb 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ Forge Desktop can download packs (from GitHub Releases) and install a selected p
- `forge run next --plan <path>`
- `forge run resume --plan <path> --run-id <id>`
- `forge workflow check --plan <path>`
- `forge workflow auto --plan <path> --adapter codex|claude`
- `forge codex session`

## Workflow Enforcement

Expand Down
7 changes: 6 additions & 1 deletion apps/desktop/src-tauri/src/forge_cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,11 @@ pub fn run_forge_json(app: &AppHandle, cwd: &Path, args: &[String]) -> Result<se
.map_err(|error| format!("forge did not return valid JSON: {error}. stdout: {}", stdout.trim()))
}

pub fn spawn_forge_stream(
pub fn spawn_forge_stream_with_env(
app: &AppHandle,
cwd: &Path,
args: &[String],
extra_env: &[(&str, &str)],
) -> Result<tokio::process::Child, String> {
let (bin, base_args) = resolve_forge_command(app);
let mut cmd = tokio::process::Command::new(&bin);
Expand All @@ -100,6 +101,10 @@ pub fn spawn_forge_stream(
.stdout(std::process::Stdio::piped())
.stderr(std::process::Stdio::piped());

for (k, v) in extra_env {
cmd.env(k, v);
}

cmd.spawn()
.map_err(|error| format!("failed to spawn forge command {bin:?}: {error}"))
}
Loading