Skip to content

Fix wrapped publisher content decoding - #197

Merged
yihanzhu merged 7 commits into
mainfrom
codex/construction-native-publisher
Aug 30, 2026
Merged

Fix wrapped publisher content decoding#197
yihanzhu merged 7 commits into
mainfrom
codex/construction-native-publisher

Conversation

@yihanzhu

Copy link
Copy Markdown
Owner

Closes #196

Follow-up to #192.

GitHub Contents API returns Base64 content with line breaks. This change removes permitted ASCII Base64 whitespace before decoding while preserving response validation and fail-closed invalid-data behavior.

Scope:

  • fix the publisher content decoder
  • cover line-wrapped and invalid Base64 responses

Targeted proof on the candidate:

  • publisher gate tests: 134 passed, 0 failed
  • ShellCheck 0.11.0: clean
  • diff and two-file scope checks: clean

@yihanzhu

Copy link
Copy Markdown
Owner Author

Codex reviewer (cross-vendor, read-only)

Reviewed-head: 30ed5c8
Reviewed-base: 3dbd969
reviewer: operator-default @ high

Posted verbatim by codex-review.sh (codex exec review --json --base refs/codex-review/197-96059/base in an isolated temp worktree, sandbox forced read-only). Comments only — Codex never pushes, approves, or merges.

The change correctly normalizes whitespace in GitHub's line-wrapped Base64 content before decoding. The added tests cover wrapped content and invalid Base64 without introducing observable regressions.

@yihanzhu

Copy link
Copy Markdown
Owner Author

One-time publisher recovery merge required

PR #197 is ready for squash merge.

  • exact head: 30ed5c8
  • exact base: 3dbd969
  • scope: two publisher files only
  • required ci: SUCCESS, run 33314034985, app 15368
  • final review: clean, comment 5468963455

The installed #192 gate fails before it can emit a connector request because its own GitHub-content decoder is the bug fixed here. Using another write path would violate the gate contract, so the construction publisher fails closed. Please squash-merge this exact unchanged repair once. After receipt verification, #195 will refresh onto the repaired main and normal automatic publishing will resume.

@yihanzhu
yihanzhu merged commit d705741 into main Aug 30, 2026
2 checks passed
@yihanzhu
yihanzhu deleted the codex/construction-native-publisher branch August 30, 2026 13:28
@yihanzhu

Copy link
Copy Markdown
Owner Author

Recovery merge receipt: reviewed head 30ed5c8 on base 3dbd969 squash-merged as d705741. Merge parent equals reviewed base; merge tree 66370a04fa19977ff9d4fb6c656eadd4d11dabd4 equals reviewed head tree; fetched main equals the merge commit. Installed gate blob is now 57de15b3dfe1993efb46bed671608389de66f278.

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.

Fix publisher decoding of wrapped GitHub content

1 participant