Four errors found during review of the published prototype are corrected:
- A named-pipe image could block the CLI indefinitely. JSON and image reads now verify regular-file descriptors and enforce their byte limits during the read.
- Very large calibration integers could raise an uncaught
OverflowError. Calibration is converted and checked explicitly; invalid values produce a structured rejection with exit 2 and no output report. - Small projective coefficients were accepted as affine and silently ignored by
point mapping. Input matrices now require the exact row
[0, 0, 1]. - ROIs outside preview crops could be absent from the displayed image without a specific warning. Each preview now reports incomplete ROI visibility and requires an explicit acknowledgment before approval.
Nine regression/coverage cases extend the suite to 90 tests. The unchanged synthetic exercise still checks explicit decisions, export, re-import, stale inputs and edited output against independently authored expected geometry.
Existing decisions are stale after this update: both the tool version and source hashes change. Generate a new report and decision. Researcher acceptance, VALIS integration and external-viewer interoperability remain unvalidated.
Initial public synthetic ROI review, explicit decisions, bound export and local profile re-import. The published artifacts are retained as a historical snapshot.