# Inventory: 7520553 SMI Firmware surfaces

Status: superseded
Type: inventory
Updated: 2026-07-21
Next Action: none; retained as the July 21 pre-reconciliation surface snapshot
Parent: work/maps/map-smi-firmware-stabilization-and-qualification.md
Superseded By: work/inventories/inventory-smi-knowledge-surfaces-temporal-classification.md
Canonical Truth: README.md and docs/

## Scope

Observed project surfaces relevant to firmware implementation, build,
programming, runtime evidence, and remaining qualification.

## Summary

- Project: 7520553 firmware for SLM/GI ovens.
- Primary purpose: firmware for controller assemblies 1751136 and 1751219.
- Main code entry points: `src/Thread_*_entry.c`, especially SD, controller,
  HMI, USB, and configuration persistence modules.
- Validation commands: `script/check-*.ps1`, `script/test-*.ps1`, and
  `script/headless-e2-build.ps1`.
- Current ground action: finish service-469 export-history qualification on
  Controller A without disturbing normal logging.

## Surfaces

| Surface | Location | Kind | Observed Role | Status | Follow-Up |
| --- | --- | --- | --- | --- | --- |
| Project front door | `README.md` | docs | build, bench, checklist, and SD orientation | current | Add service 469/470 operator links later if desired |
| Release plan | `docs/firmware-00-04-13-plan.md` | plan/current truth | combined graph, export, and SD gates | active | Close only after manual and destructive gates pass |
| Release notes | `docs/firmware-00-04-13-release-notes.md` | docs | candidate changes and open gates | active candidate | Update after final qualification |
| Export fixture | `docs/sd-export-history-fixture.md` | docs | service 469 contract and recovery | implemented, qualifying | Complete year/90/89/delete sequence |
| Continuous endurance | `docs/sd-continuous-background-endurance-plan.md` | plan/history | service 470 design and dual-controller results | complete | Preserve as qualified history |
| Full-capacity format | `docs/sd-full-capacity-format-plan.md` | plan/current truth | destructive capacity matrix | implementation complete; qualification open | Obtain approved test media and run matrix |
| Configuration recovery | `docs/configuration-validation-and-recovery.md` | docs/current truth | fingerprint, fail-safe, persistence, pending faults | partial qualification | Run listed target fault matrix |
| SD evaluator | `docs/sd-card-endurance-evaluator.md` | docs/current truth | destructive service 472 and comparative rule | partial qualification | EDGE/Industrial/candidate repeats |
| Soak monitor | `docs/sd-autonomous-soak-monitor.md` | runbook-like docs | service 474 real-time monitoring | implemented | Use independently when required |
| SD operations | `docs/sd-card-operation-and-recovery.md` | docs | production storage behavior and recovery | current | Keep synchronized with qualified behavior |
| Operator checklist | `docs/firmware-00-04-13-interactive-checklist.html` | checklist UI | manual release evidence capture | current | Run fresh after image freeze |
| Draft results | `operator-results/firmware-00-04-13-checklist.json` | local evidence | current operator entries | incomplete | Do not treat as release signoff |
| SD implementation | `src/Thread_SdCard_entry.c`, `src/SdCardService.h` | code | logger, format, 469/470/472/474 workers | current candidate | Preserve normal-work priority and signature safety |
| HMI implementation | `src/HMI_MainEventHandler.c` | code | service screens, graph/export entry | current candidate | Complete manual visual matrix |
| Configuration implementation | `src/AppVeeprom.c`, `src/AppVariables.c` | code | redundant settings and defaults | current candidate | Complete destructive transition matrix |
| Automated checks | `script/check-*.ps1`, `script/test-*.ps1` | validation | source contracts and models | passing at last execution | Rerun on frozen candidate |
| Clean builds | `script/headless-e2-build.ps1` | build | isolated Debug/Release build and packaging | passing | Rerun after final source change |
| Bench tooling | `script/program-bench.ps1`, `script/jlink-hub/`, `script/bench/` | runtime/build | safe programming and evidence transport | current | Reconfirm cabling before destructive tests |
| Runtime evidence | `work/evidence/` | local evidence | controller snapshots and binary captures | present, not fully indexed | Preserve; classify per qualification campaign |
| Temporary 469 J-Link scripts | `script/jlink-*export-fixture*.jlink`, `script/jlink-load-control-a-service-469.jlink` | local diagnostics | current Controller A loading/monitoring | active temporary | Remove or promote to supported runbook tooling at closeout |

## Existing Work Signals

| Signal | Location | What It Suggests | Confidence | Route |
| --- | --- | --- | --- | --- |
| “Still required before production release” | `docs/firmware-00-04-13-plan.md` | release is not closed | high | project map/current docs |
| Mostly `NOT_RUN` and unsigned fields | `operator-results/firmware-00-04-13-checklist.json` | manual qualification is incomplete | high | checklist/evidence |
| “Remains pending” | `docs/sd-full-capacity-format-plan.md` | destructive media qualification is open | high | project map/current docs |
| Pending target cases | `docs/configuration-validation-and-recovery.md` | recovery work is partially qualified | high | project map/current docs |
| Comparative qualification pending | `docs/sd-card-endurance-evaluator.md` | evaluator/card qualification is open | high | project map/current docs |
| Dual-controller qualification results | `docs/sd-continuous-background-endurance-plan.md` | service 470 plan is complete | high | completed history |
| Live 469 counters and zero logger failures | Controller A/J-Link observations | fixture generation is active and normal logging healthy | high | current ground task |

## Backfill Decisions

| Candidate | Decision | Evidence | Reason |
| --- | --- | --- | --- |
| Project map | created | multiple dependent workstreams and mixed completion states | Provides one navigation surface |
| Existing-project inventory | created | broad docs/code/build/evidence surface | Prevents missed or falsely closed work |
| New workpackages | deferred | canonical plans already contain detailed transformations and gates | Avoid duplicating active truth before owner review |
| New tickets | not created | no newly observed discrete defect | Qualification gaps are not software bugs |
| New ADRs | not created | no unresolved implementation choice was identified | Do not invent decisions |
| New runbook | deferred | service docs already carry operator procedures | Promote only if repetition shows a gap |

## Observed Facts

- Service 470 passed both-controller start, background operation, power-cycle
  recovery, stop, ownership, retained evidence, and cleanup qualification.
- Service 469 is implemented, clean-built, loaded on Controller A, and actively
  generating a signed mirrored year fixture with zero observed normal-log, SD,
  or mirror failures.
- Debug and Release builds passed after the service-469 implementation.
- The main release plan explicitly retains manual graph/export and destructive
  SD gates.
- The draft operator checklist is not release evidence because most checks are
  unrun and signoffs are blank.

## Inferred Or Uncertain

- The exact approved card models and available expendable samples for the
  destructive matrix are not recorded in this workspace inventory.
- Whether service 469 should be loaded onto Controller B before release is not
  yet stated as an acceptance requirement.
- Temporary J-Link scripts may be deleted after qualification or promoted into
  supported bench tooling; this is a closeout choice, not current truth.

## Recommendations

- Finish the non-destructive service-469 sequence before any destructive media
  campaign.
- Freeze the final image hash, then create a fresh operator-results file and run
  the manual graph/export matrix on both controllers.
- Keep full-capacity, configuration-fault, and comparative evaluator campaigns
  visibly open until their stated evidence exists.
- Use the project map as the navigation surface; keep technical truth in docs.

## Verification

- [x] Project map links to this inventory.
- [x] Inventory covers docs, code, validation, build/runtime, planning, and evidence surfaces.
- [x] Inferred items are separated from observed facts.
- [x] Follow-up artifacts are recommended only when supported by evidence.
