AltimateAI / AltimateAI/altimate-code

fix: system prompt tracing skips subsequent agents due to step counter not resetting

オープン
#291 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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 はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。