Problem
The ESP32 embed-processing path extracts a filesystem path from each MaterializedLnk cache object, but drops the lease object immediately. _lnk_leases is declared for lifetime retention yet the created lease is not appended, so cache cleanup/eviction can invalidate a materialized .lnk path while the consuming build step still expects it to exist.
Source
Unresolved CodeRabbit thread on merged PR #119:
#119 (comment)
A current-main audit found no duplicate issue and confirmed the retention gap remains.
Acceptance criteria
- Retain every
MaterializedLnk in _lnk_leases for the full ESP32 embed-processing operation.
- Add a regression that proves the materialized cache lease remains alive while its extracted path is consumed.
- Release leases normally when the operation ends.
Problem
The ESP32 embed-processing path extracts a filesystem path from each
MaterializedLnkcache object, but drops the lease object immediately._lnk_leasesis declared for lifetime retention yet the created lease is not appended, so cache cleanup/eviction can invalidate a materialized.lnkpath while the consuming build step still expects it to exist.Source
Unresolved CodeRabbit thread on merged PR #119:
#119 (comment)
A current-main audit found no duplicate issue and confirmed the retention gap remains.
Acceptance criteria
MaterializedLnkin_lnk_leasesfor the full ESP32 embed-processing operation.