# Executive Directive: Mitigate the data-log graph zoom defect so operators can zoom in before nine hours of data have accumulated, without displaying fabricated samples or future data.

Status: completed
Type: idea-brief
Role: project-executive-directive-v1
Updated: 2026-10-01
Next Action: None for this directive; the linked MAP-0011 result and release are complete.
Readiness Review: performed by the receiving Plan Cycle; ask the CEO only about material ambiguity
Produces: MAP-0011

## CEO Directive

Mitigate the data-log graph zoom defect so operators can zoom in before nine hours of data have accumulated, without displaying fabricated samples or future data.

## Desired Outcome

Remove the artificial nine-hour wait before Graph Zoom In becomes available on a
new data log. Short logs should offer useful narrower views while time before
the first real sample remains empty and time after the newest persisted sample
does not appear as logged data. Preserve normal zoom, pan, and follow-newest
behavior for longer logs.

## Current Position

The nine-hour zoom threshold is removed in published SMI v00.05.02. On both approved controller assemblies, the owner verified the first + tap with a short real-data log and the three-field Graph date row. The exact final IMX installed through the normal updater and full post-install flash readbacks matched its qualified main image. Focused checks covered the short-history, zoom, pan, and follow-newest behavior. The release's 12 assets were independently downloaded and verified. See `work/evidence/smi-work5-publication-20261001.json` and the linked qualification record.

## Progress

- [x] Directive captured exactly in canonical project state.
- [x] Codex has delegated the directive into a bounded plan and execution chain.
- [x] The requested outcome has evidence and is reconciled.

Only check a milestone when canonical lifecycle state or linked evidence supports it. Codex updates
this section as work moves; the generated `work/100k.md` never guesses progress.

## Recommended Next Action

None for this completed directive. Preserve the published assets and qualification evidence.

## Why This Next

The verified v00.05.02 release and reconciled MAP outcome satisfy the accepted directive; new work requires new scope or contradictory evidence.

## Blockers

- None for this completed directive.

## Operator Needs

- None for this completed directive.

## Shared Release Target

Both accepted corrections are in the same qualified and published v00.05.02 image. The source, artifact hashes, controller evidence, and independently verified release assets are recorded in `work/evidence/smi-work5-publication-20261001.json`.

## Completion Condition

A focused correction removes the nine-hour threshold without fabricating
samples or future data. Verification covers short histories below the
threshold, the nine-hour boundary, mature logs, all zoom levels, pan limits,
and follow-newest behavior. Run the repository's focused graph checks and
canonical managed Debug rebuild, record the results, and reconcile the
directive's outcome before reporting completion.

## Authority And Delivery Boundary

- Preserve any endpoint, target, timing, non-goal, or authority language stated in the directive.
- The requested delivery target is one 00.05.02 SMI firmware release containing both fixes. Deployment and publication require their release qualification gates and explicit owner authorization.
- Interrupt only for a genuine material decision or authority boundary.

## Delegation Contract

Initial issuance is durable intake only. Tool Shed appends this Idea through canonical planning
order, checkpoints it, and stops so other directives may be captured first. Reissuing the exact
active directive delegates or resumes it when doing so will not preempt another working campaign.

The Plan Cycle interprets this directive, the Roadmap Cycle organizes it when needed, the Milestone
Cycle materializes bounded campaigns, Campaign Cycles execute, and Evidence/Outcome Cycles report
the result back to 100k. The CEO is not required to select those internal mechanics.

## Exploration Log

### 2026-09-30

- The owner requested a Tool Shed directive to mitigate the graph zoom defect.
- Source diagnosis: `initializeGraphTemp()` sets a 12-hour viewport ending at
  the newest record; `planZoomPanActions()` centers the six-hour zoom on that
  viewport and `considerAndPopulateAnyNewTime()` rejects its left edge until
  at least nine hours of records exist. No firmware change was made at intake.


## Verified release result

MAP-0011 removed the nine-hour Graph zoom threshold without fabricated samples or future data. Focused zoom/follow-newest checks and owner-observed first-tap and date-row checks passed on both controls. The shared exact firmware image was installed through the normal IMX updater on both, published in v00.05.02, and independently verified.

Release: https://github.com/Sheldon-Mfg-Inc/7520553_SMI_FW/releases/tag/v00.05.02. Exact-content four-job CI: https://github.com/Sheldon-Mfg-Inc/7520553_SMI_FW/actions/runs/36880599577. Independent download, checksum, and IMX identity evidence: `work/evidence/generated/00-05-02-graph-date-row-20261001/publication-verification.json`. This closes the firmware release obligation; customer rollout, ECO/BOM, and supplier approvals are separate.

## Investigation history retained at completion

The defect is diagnosed in `src/HMI_MainEventHandler.c`. Graph opens in a
12-hour view ending at the newest record, so its center is six hours behind
that record. Button Zoom In keeps the center while proposing a six-hour view;
its left edge is therefore nine hours behind the newest record. The planner
rejects any proposal whose left edge precedes the oldest record. The completed
`TKT-0007` addressed live follow-newest behavior, not this short-log bound.
Candidate `b7f9cd9fda8b` changes Zoom In to anchor the view at the newest real sample and permits empty time before the oldest sample. Focused graph checks and canonical clean Debug and Release builds passed. Controller A has less than nine hours of new data; the owner tapped Zoom In and observed the 12-hour view unchanged. A read-only live capture showed Zoom In possible, and the controller's built-in graph-review command sent the same HMI click signal and changed the view from 12 to 6 hours. The physical-button discrepancy remains unresolved, and target qualification is incomplete. Evidence: `work/evidence/hpt-log-store-circular-mirror/00-05-02-preflash-20260930/baseline.md` and linked captures.

The shared corrected candidate `00.05.02-f51d98e7ffec-b10533f2134c` retains that graph change and has exact full-flash readback on A and B. On B after first Format 2, the owner initially reported a no-response physical `+` tap and supplied a photo of the unchanged 12-hour axis. RAM showed the `+` widget visible/enabled and Zoom In planned as possible. The owner then reported physical zoom working; immediate RAM capture showed a one-hour view with only 11 minutes of real data, 49 minutes of blank prehistory, and the right edge exactly at the newest real sample. At that point the successful tap sequence and post-zoom photo had not yet been supplied. This is evidence that the nine-hour threshold is removed on target, while the initial no-response touch remains an observation to resolve. B physical evidence: `work/evidence/hpt-log-store-circular-mirror/00-05-02-preflash-20260930/baseline.md` and linked captures.

The owner clarified that B's `+` then `-` taps both worked after about a minute from the first tap, and supplied a one-hour-view photo. A independently reached a one-hour view with 55 minutes of real data after the same initial no-response interval. A's last recorded touch was just below the `+` button's clickable rectangle, while B's last successful touch was inside it; that suggests a possible edge miss but does not prove the cause of the delay. A centered tap immediately after reopening Graph was selected as the discriminating check.

That centered A check succeeded immediately: after reopening Graph, the first `+` tap changed 12 hours to six hours within seconds. RAM confirmed the six-hour view with blank prehistory, newest-real right edge, touch point `(278,443)` inside the `+` rectangle, GUIX focus on the button, and no retained input capture. Thus the corrected candidate does not require a one-minute startup wait. The earlier recorded A point `(269,477)` was outside the button and explains at least one missed tap. B's original missed touch was not coordinate-captured, so its exact cause remains unknown. Both controls have physically reached one-hour views before nine hours of data; the short-log target behavior is now supported, while remaining graph regression and release gates stay open.

The owner clarified that the initial no-response period involved multiple consecutive taps, only some of which may have missed the target. The available last-touch captures cannot explain every reported miss; no per-tap coordinates or click events were captured then. Preserve this intermittent touch observation without asserting a one-minute startup rule or an edge-only cause. Focused graph follow-newest, data-policy, and cache checks passed locally on 2026-09-30. The exact corrected candidate validated against HEAD, and the local release validation profile passed with Windows Python 3.11.2 and 3.13.1.

The owner additionally requested that Graph display its current time span on the right above the task bar. The agreed labels use spaces: `1 Hour`, `3 Hours`, `6 Hours`, `12 Hours`, and `24 Hours`. Candidate `00.05.02-f2ade7788c72-6e95dfb00673` was installed and exactly read back on A, but the owner rejected its label placement because `12 Hours` touches the task bar. The label must remain right-aligned and match the date to its left in font and vertical position. The revised source places it on the date row and shifts the otherwise overlapping rightmost date prompt left; target visual verification remains open.

The owner also reported roughly 10–12 consecutive apparently unresponsive `+`/`-` taps before zoom started working. A subsequent capture showed the last GUIX point `(282,455)` within the `+` button and Zoom In planned possible, while the graph was at 12 hours. The sequence of that recorded point is uncertain, but the repeated-tap report requires a touch-path check. Diagnostic counters in the revised source distinguish touches in the button rectangles, GUIX send failures, Graph click signals, and applied zoom actions. No behavioral workaround has been selected; controlled per-tap evidence is needed.

Revised candidate `00.05.02-aad189f42bf9-d1b73b38164d` passed clean managed Debug and Release builds, focused graph and format checks, and local release validation under Windows Python 3.11.2 and 3.13.1. Both controls had exact full-flash readback matching the same expanded image, unchanged valid CID and readable HPT card, and zero initial touch-loss counters. A's label aligned with the date row. B's label aligned too, but its Zoom In initially did not respond. Its live capture showed 28 in-bounds `+` DOWN/UP pairs and 28 Graph click signals, yet zero applied actions, with zero touch-message and GUIX send failures. Source order revealed that `appGraphTemp()` called `initializeGraphTemp()` and planned actions before `newGraphTempScreen()` set `Cache.followNewest=true`. On a fresh boot, the initial short-log Zoom In was therefore rejected until a later chart publication replanned it. This explains the earlier apparent wait without attributing it to touch loss.

Commit `a09c3c8bf30e3890780449ba229405fdb3bee2e7` sets follow-newest before the first action plan and adds a source-order regression check. Diagnostic candidate `00.05.02-a09c3c8bf30e-ab60c2b2295f` passed incremental managed Debug and Release builds and 16/16 follow-newest source invariants. It was programmed and exactly read back on A and B, with original valid CID, HPT_READY, and representative-sector read pass. The owner reports that each control now zooms on its first `+` tap after Graph opens with less than nine hours of data, and the label aligns with the date. Captures after further exploratory taps show one-hour views, matched in-bounds touch/click counts, and zero delivery failures. Clean rebuild, final package, release authorization, and publication remain. Exact evidence: `work/evidence/hpt-log-store-circular-mirror/00-05-02-preflash-20260930/release-readiness.md`.
