LabKit MATLAB Workbench

history

Electrochem Apps stop reading portable references

id: LK-20260716-electrochem-source-boundary
date: 2026-07-16
sequence: 92
type: refactor
compatibility: compatible
component: `labkit_ChronoOverlay_app` | `1.4.2 -> 1.4.3`
component: `labkit_CIC_app` | `1.4.2 -> 1.4.3`
component: `labkit_CSC_app` | `1.4.2 -> 1.4.3`
component: `labkit_EIS_app` | `1.4.2 -> 1.4.3`
component: `labkit_VTResistance_app` | `1.4.2 -> 1.4.3`
scope: Electrochemistry
scope: Runtime source boundary

Context

The Electrochem Apps already delegated portable source creation, save-time rebasing, and load-time relinking to Runtime V2. Their session factories, source loaders, actions, and presenters nevertheless read the runtime's nested path field directly. CIC and VT Resistance also carried duplicate local path extraction functions.

Decision and rationale

Use the public Runtime source-path accessor at every App boundary. This keeps lazy-loading and batch-selection policies App-owned while removing knowledge of the portable-reference storage schema.

Changes

User and data impact

File selection, project reopen/relink, calculation, preview, and export behavior are unchanged. App code now expresses only its workflow use of paths; Runtime V2 owns how those paths are stored and resolved.

Compatibility and migration

No project schema or saved source record changed. Existing projects require no migration and remain compatible with the same UI 7 contract range.

Validation

The Electrochem unit and hidden-GUI suites cover project reconstruction, DTA loading, selection, plotting, computation, export, and saved-state workflows. Package and version guardrails verify the shared API and component metadata.

Evidence

Known limitations and follow-up

Other App families still contain direct reads and will migrate in their own behavior-tested commits before a repository-wide no-leak guard is enabled.