fix: harden artifact ingestion boundaries - #1692
Conversation
Review findings
Separately, GitHub currently reports this draft as conflicting/dirty and one commit behind |
659fe06 to
989831d
Compare
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
|
Re-reviewed exact head The P1 archive-budget issue remains: TAR inspection drains/decompresses before byte/entry reservation, and ZIP enumerates all entries before reservation. The P2 lifecycle issue remains: a stale/no-op receive returns without appending but still refreshes ticket expiry. The associated test blobs are also unchanged, so required extractor-level bounded-read and fake-timer no-op-expiry regressions are still absent. The branch is now mergeable, but these findings still block readiness. |
|
Addressed both blocking findings in
Validation: |
[P2] Do not refresh an existing ticket on idempotent preflightThe ignored-chunk paths now correctly avoid refreshing expiry, but Refresh only when creating a ticket (or otherwise never for idempotent preflight reuse), and add a fake-timer regression that begins, appends partial data, advances near expiry, repeats preflight, then proves the original deadline removes the ticket. |
Summary
This is separate from #1678, which changes MCP protocol behavior and does not overlap these files.
Validation
VITEST_MAX_WORKERS=2 pnpm check:affected --run— all runnable checks passedpnpm audit --prod --audit-level high— no known vulnerabilitiesCloses #1685
Closes #1687
Closes #1688