|
|
|
@@ -5,3 +5,49 @@
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 2026-04-22 - AgentScope CLI/Skill Runtime Simplification
|
|
|
|
|
|
|
|
|
|
### Completed
|
|
|
|
|
|
|
|
|
|
- Removed runtime injection of `tool_prompt.py` and deleted the file.
|
|
|
|
|
- Simplified router contract to a minimal `RouterAgentOutput`:
|
|
|
|
|
- `objective`
|
|
|
|
|
- `context_summary`
|
|
|
|
|
- `requires_tool_evidence`
|
|
|
|
|
- Removed router schema complexity that was not driving runtime behavior:
|
|
|
|
|
- `normalized_task_input`
|
|
|
|
|
- `task_typing`
|
|
|
|
|
- `result_typing`
|
|
|
|
|
- `execution_mode`
|
|
|
|
|
- related enums/models/exports/tests
|
|
|
|
|
- Simplified worker prompt back to a generic execution contract prompt instead of tool-specific instructions.
|
|
|
|
|
- Added runtime forcing for the first worker tool call when `requires_tool_evidence=true` by setting `tool_choice='required'` once.
|
|
|
|
|
- Added minimal compatibility for observed qwen tool-call shape where `project_cli.args` is emitted as a JSON string.
|
|
|
|
|
|
|
|
|
|
### Verified Findings
|
|
|
|
|
|
|
|
|
|
- Router is now producing the expected compact contract in persisted metadata.
|
|
|
|
|
- Direct provider calls with the current worker prompt and current tool schema do produce `tool_use(project_cli)`.
|
|
|
|
|
- `ReActAgent + Toolkit` can execute tool calls in isolation.
|
|
|
|
|
- Local direct `JsonReActAgent` execution can also reach the tool call path.
|
|
|
|
|
|
|
|
|
|
### Current Blocker
|
|
|
|
|
|
|
|
|
|
- Live integration is still not fully passing.
|
|
|
|
|
- In live runs, SSE/history still do not show persisted `TOOL_CALL_RESULT` messages.
|
|
|
|
|
- This means the remaining issue is no longer router schema complexity.
|
|
|
|
|
- Current evidence suggests the remaining fault is in the live AgentScope runtime/event path rather than in router intent extraction.
|
|
|
|
|
|
|
|
|
|
### Important Distinction About Credentials
|
|
|
|
|
|
|
|
|
|
- One observed local repro failed with `CREDENTIAL_INVALID`, but that repro used a plain user bearer token where the runtime expects a dedicated issued `tool_credential` JWT.
|
|
|
|
|
- That credential failure is real for that local repro, but it is not sufficient to explain the main live failure by itself.
|
|
|
|
|
- The main live failure is that tool events are still missing from SSE/history even after router contract simplification and forced tool choice.
|
|
|
|
|
|
|
|
|
|
### Next Steps
|
|
|
|
|
|
|
|
|
|
1. Trace the live runtime path from worker tool execution to `PipelineStageEmitter` and event persistence.
|
|
|
|
|
2. Confirm whether tool calls are being executed in live runs but dropped before SSE/history.
|
|
|
|
|
3. Inspect the tool-result parsing path around `parse_tool_agent_output(...)` and emitter state handling.
|
|
|
|
|
4. After live tool events are visible, rerun the calendar live integration until the sequence is stable.
|
|
|
|
|
5. Do one more cleanup pass to remove any remaining non-essential compatibility or glue.
|
|
|
|
|