Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Anthony Shaw
2026-02-11 13:33:29 -08:00
committed by GitHub
parent 3b4d601ba7
commit 84486c2e46
4 changed files with 19 additions and 10 deletions

View File

@@ -39,7 +39,10 @@ func ralphLoop(ctx context.Context, mode string, maxIterations int) error {
} }
defer client.Stop() defer client.Stop()
cwd, _ := os.Getwd() cwd, err := os.Getwd()
if err != nil {
return fmt.Errorf("failed to get working directory: %w", err)
}
fmt.Println(strings.Repeat("━", 40)) fmt.Println(strings.Repeat("━", 40))
fmt.Printf("Mode: %s\n", mode) fmt.Printf("Mode: %s\n", mode)
@@ -76,7 +79,9 @@ func ralphLoop(ctx context.Context, mode string, maxIterations int) error {
_, err = session.SendAndWait(ctx, copilot.MessageOptions{ _, err = session.SendAndWait(ctx, copilot.MessageOptions{
Prompt: string(prompt), Prompt: string(prompt),
}) })
session.Destroy() if destroyErr := session.Destroy(); destroyErr != nil {
log.Printf("failed to destroy session on iteration %d: %v", i, destroyErr)
}
if err != nil { if err != nil {
return fmt.Errorf("send failed on iteration %d: %w", i, err) return fmt.Errorf("send failed on iteration %d: %w", i, err)
} }

View File

@@ -5,8 +5,8 @@ Build autonomous coding loops where an AI agent picks tasks, implements them, va
> **Runnable example:** [recipe/ralph-loop.ts](recipe/ralph-loop.ts) > **Runnable example:** [recipe/ralph-loop.ts](recipe/ralph-loop.ts)
> >
> ```bash > ```bash
> cd recipe && npm install > npm install
> npx tsx ralph-loop.ts > npx tsx recipe/ralph-loop.ts
> ``` > ```
## What is a Ralph Loop? ## What is a Ralph Loop?

View File

@@ -4,10 +4,14 @@ Build autonomous coding loops where an AI agent picks tasks, implements them, va
> **Runnable example:** [recipe/ralph_loop.py](recipe/ralph_loop.py) > **Runnable example:** [recipe/ralph_loop.py](recipe/ralph_loop.py)
> >
> From the repository root, install dependencies and run:
>
> ```bash > ```bash
> cd recipe && pip install -r requirements.txt > pip install -r cookbook/copilot-sdk/python/recipe/requirements.txt
> python ralph_loop.py > python cookbook/copilot-sdk/python/recipe/ralph_loop.py
> ``` > ```
>
> Make sure `PROMPT_build.md` and `PROMPT_plan.md` exist in your current working directory before running the loop.
## What is a Ralph Loop? ## What is a Ralph Loop?

View File

@@ -55,11 +55,11 @@ async def ralph_loop(mode: str = "build", max_iterations: int = 50):
)) ))
# Log tool usage for visibility # Log tool usage for visibility
session.on(lambda event: def log_tool_event(event):
print(f"{event.data.tool_name}") if event.type.value == "tool.execution_start":
if event.type.value == "tool.execution_start" else None print(f"{event.data.tool_name}")
)
session.on(log_tool_event)
try: try:
await session.send_and_wait( await session.send_and_wait(
MessageOptions(prompt=prompt), timeout=600 MessageOptions(prompt=prompt), timeout=600