Generate complete internal TIFF and JPEG scalar write operations - #768
Merged
swackhamer merged 4 commits intoSep 14, 2026
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
swackhamer
force-pushed
the
codex/writer-row-integration-20260914
branch
from
September 14, 2026 08:37
484cb94 to
68b30d5
Compare
swackhamer
added a commit
that referenced
this pull request
Sep 14, 2026
Reconcile squash-merged PR #768 using its shared source checkpoint 68b30d5. The net merge changes only its five CI, dump-mode, cache and test files; runtime Rust and generated writer operands remain unchanged. Full mode retains the newer native context and FindTagInfo warmup facts; reader-only mode omits them with the other writer facts. Validation: 31 native capture and full/tier-2 shell checks passed using canonical Perl. Workspace all-feature Clippy passed immediately before this merge; no Rust files changed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The generated writer helpers previously stopped before producing complete file edits. This change compiles source-selected scalar row operands and final TIFF encoding rules, then composes sanitization, inverse conversion, validation and encoding with the existing TIFF/JPEG byte-editing mechanisms. Nine admitted scalar identities can now complete internal insert, update, growth, shrinkage, deletion, defined-empty, UTF-8 and embedded-NUL operations without a handwritten tag lookup.
Writer capture now runs after detached reader capture. A constructor-mutation regression prevents native writer initialization from changing reader tables. Unsupported rows and unmodeled source behavior remain explicit in generated ledgers; most of this diff is generated data/evidence.
Validation:
generated_tiff_write_matrix.py: 432/432 internal operations match pinned ExifTool 13.59 across all nine final recipes, both name spellings, little/big-endian TIFF and existing-EXIF JPEG. Preservation checks cover unrelated fields and image bytes.d61404fb), preserving both recursive/preservation checks and complete TIFF widths. Rust runtime and generated operands are unchanged from the 432-case checkpoint; 17 native matrix/instrument tests passed with no skips on the combined tree. Independent review found no actionable issue in the composed writer pipeline.Public modify/remove/whole-map routing, new JPEG EXIF-block creation, other writer rule classes, manual-rule retirement and two-version read/write conformance remain unfinished. This PR does not claim public writer parity or an increased overall autogenerated percentage. All review findings must be addressed and all review threads resolved before merge.
The table-drift job also now uses an explicit reader-only dump for Tier-2-only regeneration. Those producers do not consume writer facts; full regeneration continues to capture them. The reader cache has a distinct name, preserving any full capture. A selected-native Exif-module probe produced an identical decoded reader projection (5,460,435 bytes full versus 483,639 bytes reader-only); writer-fact and invocation/cache regressions pass. This addresses unused capture overhead after two hosted runner shutdowns; memory pressure remains a plausible, unconfirmed cause. New hosted checks are required on the updated head.
CI continuation: tier-2 reader-only regeneration and drift verification now pass in 40 seconds. The subsequent full module-complete writer capture received SIGTERM on the 2x runner before final tests executed. Verify Generated Tables now uses the existing 4x runner class; the complete writer inventory and finite job timeout remain unchanged. The larger-runner check is pending, and the termination cause is not established.