fix(update): avoid size failures and memory spikes in Git updates (#1…

fix(update): avoid size failures and memory spikes in Git updates (#154042)

* fix(update): allow Git updates with packs larger than 256 MiB

Remove the fixed candidate pack read cap while retaining safe file opening, pre-admission staging, pack retention, and recovery. Replace the removed size-refusal regression with a missing-pack failure case.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

* fix(update): allow Git updates with packs larger than 256 MiB

Worked on by:
- @steipete

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
OpenClaw-Publication: f454e568-0c25-4240-9b70-4f7f24e78b66

* perf(update): pass staged Git packs directly to the importer

Pin the safely opened pack and inherit its descriptor as Git stdin instead of retaining a whole-pack Buffer or piping its bytes. Dispose the descriptor on success, admission refusal, and failure before inspection cleanup; preserve Git-owned pack retention and rollback.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

* test: import task identifier serialization from its owner

Repair the existing TS2459 baseline failure after the codec extraction in #153838. Same bounded import repair is tracked in #154048; required to validate the updater change without bypassing the core-test gate.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

* fix(update): avoid size failures and memory spikes in Git updates

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: 98c11030-6751-4eb1-b910-cb8cba79fe98

* test(update): preserve native inputs in regression fixtures

Forward the complete process command contract, including inherited stdin descriptors. Isolate fixture Git identities from managed command-scoped configuration and environment overrides while preserving exact committer assertions. Verified the original bad-pack-header control and all 260 updater/recovery tests.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(update): avoid size failures and memory spikes in Git updates

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: 6f76a7bc-27ba-44cc-9a0f-82fe3ca6c303

* chore(process): document native stdin descriptor assertion

Place the existing Execa descriptor invariant directly above the assertion with the required SAFETY marker. Reproduced the exact CI assertion-ratchet failure, then verified the unchanged guard passes; runtime behavior is unchanged.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

---------

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论