* Add event-triggered routines and workflow skill templates
* Add generic host-verified webhook ingress for tools
* Migrate GitHub webhook normalization into github tool
* Bump github tool registry version
* Stabilize trace E2E test rig and approval behavior
* Add reusable gateway workflow harness with mock LLM server (#762)
* Add reusable gateway workflow test harness with mock LLM server
* Fix clippy issues in workflow harness
* Stabilize trace E2E test rig and approval behavior
* Address PR review feedback on gateway workflow harness
- Extract shared TestChannelHandle into test_channel.rs with name override
support, eliminating ~55 lines of duplication between test_rig.rs and
gateway_workflow_harness.rs
- Remove redundant RoutineEngine creation that was immediately overwritten
by Agent::run()
- Replace flaky sleep(500ms) with polling loop for routine run count check
- Use components.context_manager instead of creating a fresh ContextManager
for job tools, ensuring agent and tools share the same instance
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Fix import ordering in gateway_workflow_harness
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---------
Co-authored-by: Claude Opus 4.6 <[email protected]>
* Address PR #758 review feedback
- Fix header_value to use fully case-insensitive lookup (iterate with
to_ascii_lowercase) instead of checking only exact/lower/upper variants
- Change comment_id from u32 to u64 to handle GitHub's billion-range IDs
- Remove handle_webhook from LLM-facing JSON schema to prevent direct
invocation bypassing HMAC verification
- Rename enrichment keys from repository/sender to repository_name/
sender_login to preserve original JSON objects in webhook payloads
- Remove put_string_normalized helper (no longer needed)
- Replace no-op tests (test_validate_event_in_create_pr_review,
test_validate_merge_method) with test_header_value_case_insensitive
- Add README docs for 6 undocumented actions (list_issue_comments,
create_issue_comment, list_pull_request_comments,
reply_pull_request_comment, get_pull_request_reviews,
get_combined_status)
- Add comment explaining max_tool_calls <= 8 bound in e2e test
- Fix gateway workflow harness: add webhook_capability with secret auth
to MockGithubWebhookTool, matching staging's hardened webhook security
- Fix merge artifacts: remove duplicate test function, orphaned code
fragment in e2e_routine_heartbeat
[skip-regression-check]
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Fix formatting in gateway workflow harness
Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Address Copilot review: filter keys, pr_number fallback, feature gate, version alignment
- Update SKILL.md and workflow-routines.md templates to use `repository_name`
and `sender_login` (matching enriched payload field names)
- Mark webhook HMAC secret as required in SKILL.md prerequisites
- Fall back to `/issue/number` for `pr_number` on issue_comment PR webhooks
- Gate `gateway_workflow_harness` module behind `#[cfg(feature = "libsql")]`
- Align tool version to 0.2.1 in Cargo.toml and capabilities.json
Co-Authored-By: Claude Opus 4.6 <[email protected]>
---------
Co-authored-by: Claude Opus 4.6 <[email protected]>