Skip to content

Generate complete internal TIFF and JPEG scalar write operations - #768

Merged
swackhamer merged 4 commits into
refactor/tag-machineryfrom
codex/writer-row-integration-20260914
Sep 14, 2026
Merged

Generate complete internal TIFF and JPEG scalar write operations#768
swackhamer merged 4 commits into
refactor/tag-machineryfrom
codex/writer-row-integration-20260914

Conversation

@swackhamer

@swackhamer swackhamer commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

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:

  • Official regeneration of all 44 artifacts passed; all 153 decoded reader modules exactly match the saved control.
  • 1,004 distinct Python tests verified: full run passed 990 and skipped 14 due to a relative Perl path; an absolute-path replay passed all 14 and repeated one standalone Rust test.
  • Full Rust workspace tests with all features passed; workspace Clippy with warnings denied passed.
  • 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.
  • Rebased onto merged Inspect native JPEG EXIF creation defaults across releases #767 (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.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@swackhamer
swackhamer force-pushed the codex/writer-row-integration-20260914 branch from 484cb94 to 68b30d5 Compare September 14, 2026 08:37
@swackhamer
swackhamer merged commit 4498ae6 into refactor/tag-machinery Sep 14, 2026
6 checks passed
@swackhamer
swackhamer deleted the codex/writer-row-integration-20260914 branch September 14, 2026 10:33
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant