⚠️ WHAT WAS REMOVED FROM HERE, AND WHAT WAS KEPT — measurement split an inventory
line that announced "local images chain, 0 callers, delete".
Removed on 08/08/2026, RESTORED on 04/09/2026 — and the removal's own motive is what
restored it.getLocalImage(id) went because it was redundant with the base64 data-URL
storeImageLocally also wrote into the POI's data: two read paths for one role, one never
taken. That data-URL is now GONE — it was the defect, since it put the whole photo inside
the feature's attribute and shipped it to the server inside the create. With the value in
the attribute reduced to an opaque token, this read is no longer a second path: it is the
ONLY one, and without it storeImageLocally becomes exactly the write-only store the
paragraph below says must not exist.
🛑 Kept, and the bet held — but not by the announced sprint. The motive was
that the PRODUCER (storeImageLocally, repaired: the blob and uploaded: 0) is
alive, and that removing its readers would do two damages:
storeImageLocally would become write-only — written bytes nothing could
re-read;
the local_images store would have no purge left, while a live writer
feeds it. Same error as removing the quota pre-check because its shell was
dead, and on a field device the quota decides everything.
⚠️ THIS BLOCK SAID "none of the four has a production caller" and "all four are
RESERVED for an upcoming batch, with addpoi/image-upload.ts →
retryPendingUploads()" UNTIL 08/08/2026 — three statements, none yet true.
① The targeted batch closed on 05/08 without them: nothing had wired that
chain. ② A LATER batch is what made it live, under another name and in another
package — editor/persistence/image-store.ts → retryPendingImages(), armed by
initImageUpload(). ③ addpoino longer exists (merged into editor).
State measured on 08/08/2026 — and this is where damage no. 2 had happened
from the other end:
Member
Reachable through
getPendingImages · updateImageUploadStatus
editor (retryPendingImages), wired
deleteLocalImage
relayed on GeoLeaf.Storage.DB — public surface, not dead
cleanUploadedImages
0 callers, 0 relay, 0 exposure until 08/08 — the purge existed and nobody could call it — relay added since
The missing relay is in place, and retryPendingImages calls the purge after each
acknowledgement. The bet therefore holds — but it took three sprint closures for
someone to check that it did.
⚠️ WHAT WAS REMOVED FROM HERE, AND WHAT WAS KEPT — measurement split an inventory line that announced "local images chain, 0 callers, delete".
Removed on 08/08/2026, RESTORED on 04/09/2026 — and the removal's own motive is what restored it.
getLocalImage(id)went because it was redundant with the base64 data-URLstoreImageLocallyalso wrote into the POI's data: two read paths for one role, one never taken. That data-URL is now GONE — it was the defect, since it put the whole photo inside the feature's attribute and shipped it to the server inside the create. With the value in the attribute reduced to an opaque token, this read is no longer a second path: it is the ONLY one, and without itstoreImageLocallybecomes exactly the write-only store the paragraph below says must not exist.🛑 Kept, and the bet held — but not by the announced sprint. The motive was that the PRODUCER (
storeImageLocally, repaired: the blob anduploaded: 0) is alive, and that removing its readers would do two damages:storeImageLocallywould become write-only — written bytes nothing could re-read;local_imagesstore would have no purge left, while a live writer feeds it. Same error as removing the quota pre-check because its shell was dead, and on a field device the quota decides everything.⚠️ THIS BLOCK SAID "none of the four has a production caller" and "all four are RESERVED for an upcoming batch, with
addpoi/image-upload.ts→retryPendingUploads()" UNTIL 08/08/2026 — three statements, none yet true. ① The targeted batch closed on 05/08 without them: nothing had wired that chain. ② A LATER batch is what made it live, under another name and in another package —editor/persistence/image-store.ts→retryPendingImages(), armed byinitImageUpload(). ③addpoino longer exists (merged intoeditor).State measured on 08/08/2026 — and this is where damage no. 2 had happened from the other end:
getPendingImages·updateImageUploadStatuseditor(retryPendingImages), wireddeleteLocalImageGeoLeaf.Storage.DB— public surface, not deadcleanUploadedImagesThe missing relay is in place, and
retryPendingImagescalls the purge after each acknowledgement. The bet therefore holds — but it took three sprint closures for someone to check that it did.