Skip to content

Docs/simpleagents builder hitl evals - #66

Merged
CraftsMan-Labs merged 22 commits into
mainfrom
docs/simpleagents-builder-hitl-evals
May 17, 2026
Merged

Docs/simpleagents builder hitl evals#66
CraftsMan-Labs merged 22 commits into
mainfrom
docs/simpleagents-builder-hitl-evals

Conversation

@CraftsMan-Labs

Copy link
Copy Markdown
Owner

No description provided.

CraftsMan-Labs and others added 15 commits May 14, 2026 17:53
…lippy

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…native results

Co-authored-by: Cursor <cursoragent@cursor.com>
…and typed output

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Ensures human_input form nodes always expose a concrete JSON object on the
wire so TypedDict clients see `{ }` instead of a missing key.

Co-authored-by: Cursor <cursoragent@cursor.com>
Restores the pre-rename wire type name for backward compatibility and keeps
Client stub comments aligned with WorkflowRunOutputWire.

Co-authored-by: Cursor <cursoragent@cursor.com>
…e review

Refactors the spec-hitl orchestrator for clearer terminal UX, carries
messages across HITL resumes, and extends the invoice approve/reject workflow
with LLM follow-ups plus a rejection-reason text pause.

Co-authored-by: Cursor <cursoragent@cursor.com>
Adds feature bullets plus simpleagents-builder checklist and pattern notes for
human_input loops, eval datasets, and handler signatures.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@CraftsMan-Labs has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 56 minutes and 50 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f9dff250-5e66-4129-aaf8-6ee9d3ff61c0

📥 Commits

Reviewing files that changed from the base of the PR and between fef189d and dd01d3a.

⛔ Files ignored due to path filters (8)
  • Cargo.lock is excluded by !**/*.lock
  • bindings/wasm/simple-agents-wasm/package-lock.json is excluded by !**/package-lock.json
  • bindings/wasm/simple-agents-wasm/rust/Cargo.lock is excluded by !**/*.lock
  • crates/simple-agents-napi/package-lock.json is excluded by !**/package-lock.json
  • crates/simple-agents-py/uv.lock is excluded by !**/*.lock
  • examples/napi-test-simpleAgents/package-lock.json is excluded by !**/package-lock.json
  • examples/uv.lock is excluded by !**/*.lock
  • skills/simpleagents-builder/examples/napi-test-simpleAgents/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (85)
  • .env.example
  • .opencode/skills/SimpleAgentsBuilder/SKILL.md
  • Cargo.toml
  • README.md
  • bindings/wasm/simple-agents-wasm/package.json
  • bindings/wasm/simple-agents-wasm/rust/Cargo.toml
  • bindings/wasm/simple-agents-wasm/rust/src/lib.rs
  • bindings/wasm/simple-agents-wasm/test/workflow.test.js
  • crates/simple-agent-type/Cargo.toml
  • crates/simple-agents-core/Cargo.toml
  • crates/simple-agents-core/src/client.rs
  • crates/simple-agents-healing/Cargo.toml
  • crates/simple-agents-healing/src/coercion.rs
  • crates/simple-agents-healing/src/streaming.rs
  • crates/simple-agents-napi/Cargo.toml
  • crates/simple-agents-napi/package.json
  • crates/simple-agents-napi/src/lib.rs
  • crates/simple-agents-napi/test/live.test.js
  • crates/simple-agents-providers/Cargo.toml
  • crates/simple-agents-providers/src/openai/mod.rs
  • crates/simple-agents-providers/src/responses.rs
  • crates/simple-agents-py/Cargo.toml
  • crates/simple-agents-py/pyproject.toml
  • crates/simple-agents-py/python/simple_agents_py/models.py
  • crates/simple-agents-py/python/simple_agents_py/simple_agents_py.pyi
  • crates/simple-agents-py/python/simple_agents_py/workflow_payload.py
  • crates/simple-agents-py/python/simple_agents_py/workflow_request.py
  • crates/simple-agents-py/python/simple_agents_py/workflow_stream.py
  • crates/simple-agents-py/src/lib.rs
  • crates/simple-agents-py/src/workflow_helpers.rs
  • crates/simple-agents-py/tests/test_examples_live_regression.py
  • crates/simple-agents-py/tests/test_integration_openai.py
  • crates/simple-agents-workflow/Cargo.toml
  • crates/simple-agents-workflow/benches/runtime_benchmarks.rs
  • crates/simple-agents-workflow/src/client.rs
  • crates/simple-agents-workflow/src/yaml_runner/client_executor.rs
  • crates/simple-agents-workflow/src/yaml_runner/contracts.rs
  • crates/simple-agents-workflow/src/yaml_runner/execute.rs
  • crates/simple-agents-workflow/src/yaml_runner/node_execution.rs
  • crates/simple-agents-workflow/src/yaml_runner/telemetry.rs
  • crates/simple-agents-workflow/src/yaml_runner/tests.rs
  • crates/simple-agents-workflow/src/yaml_runner/validation.rs
  • docs/FAQ.md
  • docs/WORKFLOW_QUICKSTART.md
  • docs/YAML_WORKFLOW_SYSTEM.md
  • docs/index.md
  • docs/package.json
  • examples/Cargo.toml
  • examples/napi-test-simpleAgents/package.json
  • examples/napi-test-simpleAgents/workflows/email-classification/test.yaml
  • examples/pyproject.toml
  • examples/python-test-simpleAgents/apps/fastapi_workflow_stream.py
  • examples/python-test-simpleAgents/assets/sample-spec.md
  • examples/python-test-simpleAgents/pyproject.toml
  • examples/python-test-simpleAgents/runners/run_spec_hitl_pipeline.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image-hitl-approve-reject.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image-hitl-form-feedback.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image-hitl-freeform-feedback.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image-jaegar.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image-streaming.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-invoice-image.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-streaming-langfuse.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents-streaming.py
  • examples/python-test-simpleAgents/runners/test-py-simple-agents.py
  • examples/python-test-simpleAgents/workflows/email-classification/test.yaml
  • examples/python-test-simpleAgents/workflows/friendly/friendly.yaml
  • examples/python-test-simpleAgents/workflows/invoice-hitl/approve-reject.yaml
  • examples/python-test-simpleAgents/workflows/invoice-hitl/form-feedback.yaml
  • examples/python-test-simpleAgents/workflows/invoice-hitl/freeform-feedback.yaml
  • examples/python-test-simpleAgents/workflows/spec-hitl/spec-clarify.yaml
  • examples/python-test-simpleAgents/workflows/spec-hitl/spec-interview.yaml
  • examples/python-test-simpleAgents/workflows/spec-hitl/spec-usefulness.yaml
  • examples/wasm-test-simpleAgents/package.json
  • renovate.json
  • skills/simpleagents-builder/SKILL.md
  • skills/simpleagents-builder/examples/email-classification.yaml
  • skills/simpleagents-builder/examples/minimal-chat.yaml
  • skills/simpleagents-builder/examples/napi-test-simpleAgents/package.json
  • skills/simpleagents-builder/examples/napi-test-simpleAgents/test.yaml
  • skills/simpleagents-builder/examples/python-test-simpleAgents/fastapi_workflow_stream.py
  • skills/simpleagents-builder/examples/python-test-simpleAgents/friendly.yaml
  • skills/simpleagents-builder/examples/python-test-simpleAgents/pyproject.toml
  • skills/simpleagents-builder/examples/python-test-simpleAgents/test.yaml
  • skills/simpleagents-builder/references/checklist.md
  • skills/simpleagents-builder/references/patterns.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/simpleagents-builder-hitl-evals

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

CraftsMan-Labs and others added 7 commits May 17, 2026 19:31
…stem_prompt

Replace config.prompt and append_prompt_as_user with explicit user/system
prompts, validate messages_path vs user_input_prompt, and expose both in
resolved_llm_input telemetry.

Co-authored-by: Cursor <cursoragent@cursor.com>
Match workflow YAML semantics: optional node_system_prompt, append user prompt
into message history when using input.messages path.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Align the steps-based Wasm runner with llm_call user_input_prompt and
optional node_system_prompt so YAML fixtures validate and complete().

Co-authored-by: Cursor <cursoragent@cursor.com>
Criterion runtime benchmarks still embedded legacy prompt keys; deserialization
failed after strict llm_call config migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
@CraftsMan-Labs
CraftsMan-Labs marked this pull request as ready for review May 17, 2026 14:27
@CraftsMan-Labs
CraftsMan-Labs merged commit 7174975 into main May 17, 2026
6 checks passed
@CraftsMan-Labs
CraftsMan-Labs deleted the docs/simpleagents-builder-hitl-evals branch May 17, 2026 14:31

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dd01d3a826

ℹ️ 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".

Comment on lines +93 to +98
if let Some(user_prompt) = user_input_prompt {
assembled.push(Message::user(user_prompt));
} else {
return Err(format!(
"llm_call '{}' requires user_input_prompt when messages_path is not provided",
request.node_id

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow system-only LLM calls without user_input_prompt

This branch hard-fails whenever messages_path is unset and user_input_prompt is empty, even if node_system_prompt is provided. That makes the new node_system_prompt field unusable as a standalone input source, so workflows that intentionally send only a system instruction now fail with requires user_input_prompt instead of executing. If system-only calls are meant to be supported, this check should accept node_system_prompt as sufficient input.

Useful? React with 👍 / 👎.

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.

1 participant