Skip to content

Address code-review findings from PRs #460–#465#466

Merged
FMXExpress merged 1 commit into
mainfrom
claude/keen-einstein-kPEMj
Jul 21, 2026
Merged

Address code-review findings from PRs #460–#465#466
FMXExpress merged 1 commit into
mainfrom
claude/keen-einstein-kPEMj

Conversation

@FMXExpress

Copy link
Copy Markdown
Owner

Follow-up fixes from the review of the workflow + Delphi/Linux portability work. One commit; all changes build clean (make all) and make test-workflow passes (including a new until early-stop case).

Changes

Gateway (#461)

  • Append the disconnect-abort hook (LoopCfg.Hooks := LoopCfg.Hooks + [AbortHook]) instead of replacing the array, so any hooks set upstream survive. Added a comment noting BeforeTurn aborts before the next model turn (not mid-tool).
  • Guard HandleSteer's body Parse so a malformed steer body returns a clean 400 instead of raising into a 500 (other handlers already wrap Parse; this one didn't).

Workflow engine (#463)

  • New ResolveWorkflowOutputs overload reports which declared output templates failed to resolve; workflow_run surfaces them under output_errors instead of silently returning an empty value, so a mistyped selector is diagnosable.

Workflow tooling / tests (#465)

  • workflow_save description now warns that a loop re-runs the whole DAG each pass (N× paid-node cost) and lists the exact until markers that stop it early (true / yes / done / 1 / stop / complete).
  • Added TestLoopUntil proving the until condition stops the loop before max.

CliUI (#460)

  • Comment on the bare/unknown-platform echo-off fallback guard (the triple-negative {$IF}), naming what it targets.

Web UI (#464)

  • Reserve a left gutter (IO_GUTTER) so auto-placed nodes never land under the fixed INPUT box at (8,8). Regenerated webui.res.

Verification

  • make all links clean — both changed Pascal units (PasClaw.Gateway.Server, PasClaw.Workflow.Tools) recompiled.
  • make test-workflowworkflow_tests: OK.

Not covered here

🤖 Generated with Claude Code

https://claude.ai/code/session_01LGQKz579j1ZnDRwmr6h1V6


Generated by Claude Code

Follow-ups to the review of the workflow + Delphi/Linux portability work:

- gateway (#461): append the disconnect-abort hook instead of replacing
  LoopCfg.Hooks, so any hooks set upstream survive; document that BeforeTurn
  aborts before the next model turn (not mid-tool). Guard HandleSteer's body
  Parse so a malformed steer body returns 400, not a 500.
- workflow (#463): ResolveWorkflowOutputs gains an overload that reports which
  output templates failed to resolve; workflow_run surfaces them under
  "output_errors" instead of silently returning an empty value.
- workflow (#465): document in workflow_save that a loop re-runs the whole DAG
  each pass (N× paid-node cost) and list the exact "until" markers that stop it
  early. Add a workflow_tests case proving the until-condition stops the loop
  before max.
- cliui (#460): comment the bare/unknown-platform echo-off fallback guard.
- webui (#464): reserve a left gutter so auto-placed nodes never land under the
  fixed INPUT box.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LGQKz579j1ZnDRwmr6h1V6
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@FMXExpress
FMXExpress merged commit 4aece16 into main Jul 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants