generated from john/python-template
V4.7 Phase 2: Evidence Model Simplification (part 2)
This commit is contained in:
+20
-6
@@ -23,6 +23,7 @@ from transcription.db import session as db_session_module
|
||||
from transcription.db import session_scope
|
||||
from transcription.db.models import Document
|
||||
from transcription.db.models import DocumentPerson
|
||||
from transcription.db.models import ExecutionAttempt
|
||||
from transcription.db.models import Job
|
||||
from transcription.db.models import JobSource
|
||||
from transcription.db.models import JobSourceStatus
|
||||
@@ -131,17 +132,30 @@ async def seed_job(app_client: tuple[FastAPI, TestClient]) -> Callable[..., Awai
|
||||
await session.flush()
|
||||
|
||||
if transcription_text is not None or error_detail is not None:
|
||||
outcome = JobSourceStatus.TRANSCRIBED if transcription_text is not None else JobSourceStatus.FAILED
|
||||
job_source = JobSource(job_id=job.id, source_id=source.id, status=outcome)
|
||||
session.add(job_source)
|
||||
await session.flush()
|
||||
|
||||
# V4.7: evidence lives on execution_attempt, not job_source.
|
||||
executed_at = datetime.now(UTC)
|
||||
session.add(
|
||||
JobSource(
|
||||
ExecutionAttempt(
|
||||
job_source_id=job_source.id,
|
||||
job_id=job.id,
|
||||
source_id=source.id,
|
||||
status=(
|
||||
JobSourceStatus.TRANSCRIBED if transcription_text is not None else JobSourceStatus.FAILED
|
||||
),
|
||||
attempt_number=1,
|
||||
status=outcome,
|
||||
provider="openrouter",
|
||||
model="google/gemini-2.5-flash",
|
||||
response_received=transcription_text is not None,
|
||||
sdk_response_snapshot=raw_api_response,
|
||||
normalized_metadata=ai_metadata,
|
||||
raw_transcription=transcription_text,
|
||||
error_detail=error_detail,
|
||||
ai_metadata=ai_metadata,
|
||||
raw_api_response=raw_api_response,
|
||||
started_at=executed_at,
|
||||
finished_at=executed_at,
|
||||
duration_ms=0,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user