# Ticket: correct SD evaluator result JSON serialization

Status: superseded; historical service-472 result format
Type: ticket
Updated: 2026-09-23
Next Action: none; retained as history; any new execution requires a new explicit owner instruction
Campaign Reason: Historical record from campaign 014-complete-standalone-sd-qualifier-acceptance; retained independently after campaign closure and requires no separate owner-queue execution.
Campaign: standalone
Superseded By: work/checklists/checklist-hpt-media-2-autonomous-retail-card-qualification.md
Parent: work/wp/active/wp-sd-card-accelerated-endurance-evaluator-and-media-qualification.md

## Problem

Run 07949 produced complete, valid A/B evaluator files but its `.RESULT` file
was invalid JSON. The deployed small C formatting library emitted the literal
`lu` for `%llu`, shifted later arguments, and made the final counters unreliable
in that file. The preserved 72-byte target RAM snapshot remains authoritative.

## Implementation

`src/Thread_SdCard_entry.c` now converts each unsigned 64-bit free-space value
to decimal text without relying on unsupported `printf` length modifiers, then
uses `%s` in the bounded JSON formatter. The static evaluator check rejects a
return to `%llu` for this field.

Clean Debug and Release builds passed on 2026-07-14. Release S-record SHA-256:
`5D576BDE27C46C298DC4CD3CB8C3798D47FA3F71B265015A369426E0DD86FC82`.
Build evidence: `work/evidence/sd-followup-fixes-build-20260714.md`.

## Acceptance Criteria

- [x] 64-bit free-space values serialize without `%llu`.
- [x] Bounded output and file write/close/flush checks remain intact.
- [x] Automated evaluator checks pass.
- [x] Clean Debug and Release builds pass.
- [ ] A controller-written result parses as JSON on the host.
- [ ] Result counters agree with the target status snapshot and dataset.

## Owner-directed reconciliation — 2026-09-23

Reconcile stale active lifecycle to the previously documented superseded disposition; no new test or broader acceptance claim.

Authorization: Owner instruction in this conversation on 2026-09-23 to close/abandon the named work and mitigate older active records.

Previous header retained for evidence interpretation:

> Status: superseded; historical service-472 result format
> Next Action: carry machine-readable terminal-result requirements into HPT autonomous qualification

Earlier observations, unchecked historical criteria, and procedures below/above remain history. This administrative disposition does not qualify a new firmware candidate, physical card, thermal system, ECO, or release. Current 00.05.01 obligations in IDEA-0006, IDEA-0007, MAP-0009, and CAMP-0028 remain unchanged.
