fix: wire generated_by_model into observation write path

The generated_by_model column was added to the observations table in the
Phase 0 governance schema migration but never wired into the INSERT
statements. All 3,878+ observations in production have this field NULL.

This fix threads the model ID from each agent (SDKAgent, GeminiAgent,
OpenRouterAgent) through processAgentResponse() into storeObservation(),
storeObservations(), and storeObservationsAndMarkComplete().

Unblocks Thompson Sampling RFC (#1571) which needs {obs_type}:{model}
as the bandit arm key.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alessandro Costa
2026-04-04 21:25:18 -03:00
parent 811c94da36
commit c3e5f3a79e
5 changed files with 40 additions and 21 deletions
+7 -3
View File
@@ -175,7 +175,9 @@ export class GeminiAgent {
worker,
tokensUsed,
null,
'Gemini'
'Gemini',
undefined,
model
);
} else {
logger.error('SDK', 'Empty Gemini init response - session may lack context', {
@@ -248,7 +250,8 @@ export class GeminiAgent {
tokensUsed,
originalTimestamp,
'Gemini',
lastCwd
lastCwd,
model
);
} else {
logger.warn('SDK', 'Empty Gemini observation response, skipping processing to preserve message', {
@@ -298,7 +301,8 @@ export class GeminiAgent {
tokensUsed,
originalTimestamp,
'Gemini',
lastCwd
lastCwd,
model
);
} else {
logger.warn('SDK', 'Empty Gemini summary response, skipping processing to preserve message', {