mirror of
https://github.com/nearai/ironclaw.git
synced 2026-09-03 08:06:01 +08:00
Agents could not create reactive missions (e.g. "log every telegram message") because of three shortcomings: 1. Cadence was optional and defaulted to "manual" silently — malformed values like "every 5 min" were also swallowed and became manual triggers 2. Reactive missions (event/webhook) had a hardcoded 300s cooldown with no way to override it via mission_create 3. mission_update and mission_delete existed in code but were not documented in the CodeAct preamble or the Tier 0 ActionDef schemas, so the LLM never called them Changes: - parse_cadence now returns Result and rejects unrecognized strings with a readable error so the LLM can correct the call - mission_create requires cadence (returns error if missing instead of defaulting to manual) - mission_create and mission_update accept guardrail params (cooldown_secs, max_concurrent, dedup_window_secs, max_threads_per_day) as top-level fields - mission_list output now includes cadence and guardrails so misconfigured missions are visible - mission_update and mission_delete added to CodeAct preamble - Tier 0 ActionDef schemas updated with correct cadence formats and guardrails - Regression tests for malformed cadence rejection Changes on review * chore: cargo fmt * fix: enforce numeric params to be u64 * fix: address reviewer comments * chore: divide long strings of comments * fix: extract_fuardrails overrided existing mission update * fix: allow event:*:pattern as cadence * fix: check before storing events * chore: fix docs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: add limit to regexbuilder * chore: homogenize tool description * fix: add tests * fix: implement requested fixes --------- Co-authored-by: Guillermo Alejandro Gallardo Diez <gagdiez@iR2.local> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>