generated from john/python-template
Plans the next two releases following the V4.6 architecture remediation. Documentation only - no code or schema changes. V4.7 is an architectural cleanup and evidence-model re-alignment release, scoped from measurements taken against the live database: - job_source and execution_attempt duplicate the same evidence. Measured 77/77 identical on raw_transcription, ai_metadata vs normalized_metadata, and raw_api_response vs sdk_response_snapshot. job_source is stripped to its original junction role plus queue state (9 columns -> 4); all evidence reads move to execution_attempt. - job_source is stripped rather than deleted because it is also the work queue: rows are created PENDING before any provider call, and cancellation writes a terminal state with no provider call at all. An append-only evidence table cannot express either. - JobSourceStatus.CANCELLED is added so cancellation stops overloading FAILED plus free text, which retires job_source.error_detail. This absorbs the dual-spelling fix [45], since both rewrite the same persistence. - ProcessingArtifact is removed. Two rows exist against 77 successful transcriptions, so the subsystem has effectively never run. Orientation normalization moves to ingest, where it is applied once and needs no derivative. - Orientation normalization itself is retained: 58 of 79 stored images carry EXIF orientation 3, and their raw decoded pixels are genuinely inverted. Rotation switches to quantization-table reuse, measured better than the current quality=95 settings on both fidelity (51.5-55.0 dB PSNR vs 50.0-53.5) and size (-6% vs +38%). - The planned services/artifacts.py extraction is cancelled. The cluster is deleted rather than moved, establishing a delete-before-refactor ordering. V4.8 parks feature work: pan and zoom, homepage gallery, multi-portrait support, image descriptions, and the model-performance rollup, which stays gated on the V4.7 run-time measurement fix. Co-authored-by: Copilot App <[email protected]>