AltimateAI / AltimateAI/altimate-code
fix: system prompt tracing skips subsequent agents due to step counter not resetting
- 主要語言
- TypeScript
- 星號
- 811
- 分支
- 134
- 平均合併
- 3 天 2 小時
- 30 天內合併 PR
- 50
描述
### What does this PR do?
Follow-up from PR #287. The `if (step === 1)` guard in `packages/opencode/src/session/prompt.ts` traces the system prompt only on the first step, but the comment claims "Agent switches re-enter loop() with step reset to 0" — this is incorrect. The `step` variable is initialized once and increments continuously; it is never reset on agent switches.
**Current behavior:** Only the first agent's system prompt is traced. If a session switches agents mid-conversation (e.g. builder → analyst), the second agent's system prompt is never logged.
**Expected behavior:** Each agent's system prompt should be traced once when it first becomes active.
### Possible fixes
1. Track the last-traced agent and re-trace when the agent changes:
```typescript
if (step === 1 || lastUser.agent !== previouslyTracedAgent) {
Tracer.active?.logSpan({...})
previouslyTracedAgent = lastUser.agent
}
```
2. Or fix the comment to accurately describe the current behavior (trace first agent only).
### Priority
Low — tracing/observability only, no functional impact on tool execution or user experience.
貢獻指南
評估
這個 Issue 還沒有評估資料。