-
Notifications
You must be signed in to change notification settings - Fork 3
plat 016
github-actions[bot] edited this page Sep 20, 2026
·
1 revision
| Coordination | Value |
|---|---|
| Assigned agent | Codex |
| Ticket state | runtime_reverify |
| Last synchronized | 2026-08-04 |
Claim this ticket in this file before implementation. During active work, update this fragment rather than the shared index; synchronize the index once at handoff, review, or completion.
- Priority: P1
- Owner: evaluation result/report serializer
-
Source finding:
HARNESS-EVAL-REPORT-ZERO-SCORE -
Source database:
Workflow/social-media/db/db.sqlite -
Recorded state:
external_action_required -
Problem: a real numeric score of
0is treated like an absent value and omitted fromevaluation_report.json. - Impact: the worst valid evaluation result can disappear, making reports, trend calculations, and Pulse evidence falsely incomplete or healthier than the producing evaluator actually reported.
-
Implementation: workflow and server report projections serialize Score
without
omitempty;score_captureddistinguishes a real zero from a missing score. Score/MaxScore usefloat64, so a valid 7.5 is no longer truncated to 7. SQLite persists the captured bit, and the evaluation UI renders only captured values as score badges. The server keeps this bit nullable so a historical report where it did not exist is not rewritten as explicit false and hidden by the UI. -
Verification (2026-08-04): focused Go tests cover missing, skipped, real
zero, and fractional extraction plus JSON/SQLite/API projection. Frontend
tests cover new and legacy reports and prove
0/10and7.5/10display while missing/skipped scores remain hidden. TypeScript compilation passes. -
Regression tests:
TestExtractEvalVerdictPreservesFractionalScore,TestEvaluationStepScoreSerializesGenuineZeroScore,TestEvaluationReportAPIProjectionPreservesZeroAndFractionalScores, and the frontendevaluationReport.test.tssuite. - Current state: implementation fixed; runtime reverify remains.
-
Acceptance: table-driven serialization covers
0, positive, negative, fractional,null, unavailable, and missing values. Numeric zero survives unchanged through persisted result, report JSON, API projection, and UI.
Auto-synced from docs/ on main. Edit there, not here.