Finish in-progress pipeline_runner.py digitize implementation (work-tree has uncommitted 229-line diff) #94
Labels
No labels
blocked:children
blocked:depends-101
blocked:depends-103
blocked:depends-104
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:preflight
bug
chore
feature-request
in-progress
lint-cleanup
needs-decompose
performance
quality
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch#94
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Status: Uncommitted work in
/home/b/Projects/easystitch-serviceworking tree.git diff pipeline_runner.pyshows +229/-9 lines sitting dirty since at least 2026-06-27 04:11. Not on any branch tip, not pushed.What was started:
ImageDecodeError,ImageTooLargeError(carriesactual_bytes/max_bytes)._ensure_easystitch_importable()- lazy import check forsrc.main_pipelinewith a clearImportErrorpointing at the editable install._decode_image_b64(image_b64, max_bytes)- strict base64 decode (validate=True) with size cap.models:DigitizeStats,Point,Region as ServiceRegion,StitchObject as ServiceStitchObject.logger = logging.getLogger(__name__)module-level logger.What is missing:
tests/unit/test_pipeline_runner.pylast modified 2026-06-23, predates this work).app.pystill serves/v1/digitizeas a stub (digitize_stub) at line 112 - the new pipeline is not wired in.max_bytessource TBD).Why file instead of just committing:
run_pushwill scoop this up asApply changes from kilo-gsd.py run for ... #NNon the next easystitch dispatch, with a misleading commit message tying unrelated cleanup to whatever issue happens to dispatch next. That's exactly the failure mode this issue is meant to prevent._decode_image_b64(size cap,validate=True, error types) is currently unenforced and will rot.Suggested scope (proposed, not decided - confirm before dispatch):
_decode_image_b64+ the typed errors as-is or simplify.tests/unit/test_pipeline_runner.pycases for: valid b64 round-trip, invalid b64 ->ImageDecodeError, oversize payload ->ImageTooLargeError, missing easystitch -> clearImportError.pipeline_runner.PipelineRunnerintoapp.pydigitize_stub(or replace the stub) once #16 lands its endpoint contract.max_bytes- likely a newsettings.max_image_bytesinconfig.py.feat/pipeline-runner-digitize), not directly on main.Repro: