Stream Skill installation without default byte caps - #1592
Conversation
858c13b to
e8f86d3
Compare
e8f86d3 to
e44b81b
Compare
e44b81b to
f56f974
Compare
|
Merge queue CI: failure — run 35073797936, attempt 1.
The run summary lists reused suites and executed checks. A green PR check alone does not mean queue validation has passed. |
|
Merge queue CI: success — run 35073511089, attempt 1. The run summary lists reused suites and executed checks. A green PR check alone does not mean queue validation has passed. |
|
Merge queue CI: success — run 35080696517, attempt 1. The run summary lists reused suites and executed checks. A green PR check alone does not mean queue validation has passed. |
Large Skill packages now stream into managed staging without default byte caps. GitHub workers share download slots and retry transient failures; incremental scanning and hashing keep the Gateway event loop responsive.
Scope
Scope boundary: streaming GitHub and ClawHub downloads, staging workers, scanner boundaries, and regression coverage. Explicit aggregate download limits now apply while chunks arrive, even when upstream sizes are missing or understated. Oversized manifests are rejected before reading, and long-line scanning preserves word boundaries.
Branch
Base branch: main
Target exception: N/A
The source-selection prerequisite #1591 is already merged. This branch includes current main; #1593 and #1594 follow separately.
Issue
Linked issue: None
If None, reason: improve the existing Community Skill installation path and fix its streaming edge cases.
Release Note
Release note: large Community Skills install without the former default byte ceiling while explicit limits and safety checks remain enforced. No version metadata change.
Tests
Ruff: full source and tests passed.
Pytest: updated streaming, scanner, management, and CI-planner regression gate passed (see current CI for platform results).
Build: WebUI build passed on the combined reviewed stack; this PR does not change WebUI sources.
Regression tests: added for unknown/understated aggregate sizes, retry budget accounting, oversized manifests, worker execution, and long identifier boundaries.
Notes: previous PR-head CI results are superseded by the checks on this updated head. Full Linux/Windows shards and the three-platform Skill contract job must be judged from the new CI run. Default tests remain offline, deterministic, credential-free, and fork-safe.
Queue validation also exposed existing compaction fixtures that assumed the former len//4 token fallback. The same five failures reproduced on main with the current conservative UTF-8 estimator. Synthetic inputs now remain within the intended provider budgets, and the affected cases explicitly exercise fallback mode; all original behavioral assertions remain enforced. The complete affected file passed 52 tests. Production compaction budgets are unchanged.
Maintainer Live Check
Maintainer live check: no
Surface: N/A
Safety
Path, link, special-file, compression-ratio, entry-count, and manifest guards remain enforced. Cancellation settles workers before cleanup. Retry truncation releases only that file's byte reservation. Portable paths and existing Windows mode behavior are preserved. No secrets, private transcripts, local artifacts, or machine-specific paths are included.
Third-Party Origin
Third-party origin: none
Original implementation; no third-party code copied.