AltimateAI / AltimateAI/altimate-code
fix: system prompt tracing skips subsequent agents due to step counter not resetting
- 主要言語
- TypeScript
- スター
- 811
- フォーク
- 134
- 平均マージ
- 3日 2時間
- マージ済み PR(30日)
- 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 はまだ評価されていません。