Skip to content

Bound Jira attachment transfers and recover missing native files (JVNAUTOSCI-2737) - #605

Merged
witbrock merged 1 commit into
mainfrom
task/JVNAUTOSCI-2737-attachment-transfer-budget
Sep 11, 2026
Merged

witbrock merged 1 commit into
mainfrom
task/JVNAUTOSCI-2737-attachment-transfer-budget

Conversation

@witbrock

Copy link
Copy Markdown
Member

Large Jira attachments could time out or exhaust memory while their base64 payload crossed MCP. A failed first download also left an imported-activity checkpoint that caused later imports to skip filling the native attachment file.

The proxy now uses a private temporary directory and a bounded streamed transfer, verifies the returned size and hash, and cleans up the file before returning the established payload. Account checks and caller cancellation remain in place. Reruns reconcile checkpointed attachments against their actual native file bindings, fill missing files in place, and preserve attachment identity, annotations, timestamps and any existing or concurrently added file.

Validation: 133 targeted tests pass, with no new Ruff findings. The previously failing 55,905,562-byte presentation transferred in 5.7 seconds with a measured 0.29 GiB process-family peak. Its complete issue import succeeded with a 0.908 GiB peak. Canonical original/native-file read-back then succeeded with Jira credentials disabled and a 0.952 GiB peak. Both used isolated recovery windows. All three attachment hashes matched their retained originals.

Only code, tests and the migration guide are included. Captured Jira/project documents and export data remain outside the repository. The broader JVNAUTOSCI-2737 migration, final reconciliation and cutover remain in progress.

@witbrock
witbrock merged commit 2fdac81 into main Sep 11, 2026
2 checks passed
@witbrock
witbrock deleted the task/JVNAUTOSCI-2737-attachment-transfer-budget branch September 11, 2026 01:29
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