Skip to content

Read non-Transit attachments in encrypted graphs - #102

Merged
RCmerci merged 1 commit into
mainfrom
codex/encrypted-raw-assets-pr-20261020
Oct 20, 2026
Merged

RCmerci merged 1 commit into
mainfrom
codex/encrypted-raw-assets-pr-20261020

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Encrypted graphs currently reject clear non-Transit attachment bytes at the AES-GCM envelope gate. Classify those bytes before bounded envelope parsing, then reuse the existing plaintext length/SHA-256 validation and unchanged safe cache publication.

JSON/Transit-looking candidates, including malformed/truncated envelopes, still use the existing rejection path. Invalid IV/ciphertext, parser errors, wrong keys, authentication errors, crypto exceptions and decrypted-checksum failures never fall back, even when the raw response checksum matches. JSON-looking raw files remain conservatively rejected. The new log is fixed path-selection text with no content, identifiers, hashes or credentials.

This is a minimal standalone port directly onto main: one commit, three files, no dependency on the separate attachment-diagnostic work. It does not add the diagnostic carrier, shape/format/header observers or typed failure channel, and does not change graph flags, upload, transport, retry, cache policy, spec interfaces, Dune or dependencies.

Validation on final head c9339d45f0efc7c96f39627754a8071afaa98931:

  • dune build -j1 --display=quiet @all and complete forced dune runtest: 21 Alcotest suites / 976 cases, plus standalone boundary checks.
  • All 7 public codec cases pass; the new behavior was first observed failing in 2 cases against main. Coverage includes raw binary/text/empty success, limits/checksum, encrypted success, malformed/truncated candidates, authentication/exception failure, leading whitespace/BOM and hostile nesting.
  • Independent read-only review passed, no evidenced P1/P2 findings.

Device evidence applies to earlier Build57 (0d05d1a951f5ccf3ea2c1053401e9629c67be712), which installed and launched with the same compatibility behavior plus additional diagnostic work. It is not device validation of this standalone PR head. Successful re-download of the original failed attachment remains unconfirmed. No iPhone operation or Apple app rebuild was performed for this split; the earlier device route remains experimental (cross_abi_validated=false).

Port the compatibility behavior directly onto main without the unselected asset-diagnostic infrastructure. Clear non-Transit bytes use existing plaintext limits/checksum and unchanged safe publication; Transit candidates and crypto failures never fall back.

Keep path evidence fixed and payload-free. Add public codec regressions for success, malformed/truncated candidates, authentication, limits, checksum and exception boundaries.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T11:52:25.405322Z c9339d4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@RCmerci
RCmerci merged commit 627e993 into main Oct 20, 2026
2 checks passed
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