fix: handle compacted tool specs and paused cron badges - #3238
Merged
Merged
Conversation
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GetToolSpecresult. Align the tool guide, gateway instructions, duplicate-load hint, and missing-spec error so a summary saying a tool was loaded cannot conflict with the runtime gate.Type and Areas
Type: Bug fix
Areas: Agent Runtime prompt and tool contracts, Core tool runtime tests, Web UI scheduled-job state.
Motivation / Impact
After context compaction, an agent could hesitate between reloading a tool definition and following the instruction against duplicate loads, then attempt a call rejected by the runtime. The instructions now describe the same context-scoped lifecycle as the execution gate.
Paused jobs remain manageable in the task board while the clock reflects enabled schedules associated with each individual session. Regression coverage exercises pause, resume, deletion, queued refreshes, and failed reads.
Verification
Passed locally:
cargo test --locked -p openbitfun-agent-tools --no-default-features --lib get_tool_speccargo test --locked -p openbitfun-agent-tools --no-default-features --test tool_contracts get_tool_speccargo test --locked -p openbitfun-agent-tools --no-default-features --test tool_contracts deferred_toolcargo test --locked -p openbitfun-agent-runtime --no-default-features --features agent-runtime --test agent_definition_contracts prompt_contractscargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib agentic::tools::product_runtime::pnpm --dir src/web-ui run test:run src/app/components/scheduled-jobs/cronJobCountsStore.test.ts src/infrastructure/api/service-api/CronAPI.test.ts src/app/scenes/todos/todoOccurrences.test.ts— 44 tests passed.pnpm run check:webpnpm run fmt:rsandgit diff --checkThe compression regression runs the actual compressor with both a discarded and a retained tool-result tail, and checks admission before and after reloading. Existing
GetToolSpecfixture assertions referring to the oldagenticname failed on the base commit and were aligned with theirStandardinput.Reviewer Notes
AI-assisted change; testing level: focused automated validation. No live model-conversation or desktop GUI replay was performed. Remote workspace prompt and workspace-identity contracts were exercised locally; live Remote Workspace, Remote Control, Peer Device Mode, and Detached Dispatch were not exercised.
Checklist