Skip to content

개선(deps): Bump pyproc from 0.0.14 to 0.0.23 - #118

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/pyproc-0.0.23
Closed

개선(deps): Bump pyproc from 0.0.14 to 0.0.23#118
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/npm_and_yarn/pyproc-0.0.23

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 19, 2026

Copy link
Copy Markdown
Contributor

Bumps pyproc from 0.0.14 to 0.0.23.

Changelog

Sourced from pyproc's changelog.

0.0.23 - 2026-08-16

Added

  • The installed package is now the default engine entrance. Root open() and boot(), createWebComputer, Control, and the package-owned engine catalog converge on one exact installed product without deep imports.
  • Browser eyes and hands now carry bounded proof through document change. Paged semantic inventory, durable locators, action convergence, occlusion handling, document replacement, 20-cycle resource cleanup, and a headed hardware receipt for compute and rendered pixels run through exact packed-product gates.
  • A reproducible data engine ships beside the default core engine. pyproc/wasi exposes its exact manifest and a profile-selected package-owned catalog. The static pyproc.data/2 module executes float64 SIMD oracles. NumPy 2.5.1 is built from its exact sdist as 13 static modules and survives process clone and Machine image revival. The build-sealed thread capability reports the actual worker-process boundary. SciPy, pandas, Polars, shared-memory threads, and arbitrary native wheels remain explicit absences.
  • Browser storage failures are explicit and recoverable where bytes still exist. Persistence receipts, quota rollback, eviction witnesses, and OPFS generation recovery distinguish best-effort durability from silent first boot while preserving the last valid state.
  • Source-pinned ripgrep and local Git are resident Machine tools. Isolated WASI workers run ripgrep 15.1.0 over bounded snapshots and libgit2 1.9.7 over compare-and-swap KernelVfs transactions. Main and cloned Python kernels call the same argv-only catalog through pyprocTools and receive the same receipts.
  • An optional source-pinned Node guest joins Python and Linux in one Web Computer. createWebComputer({ node }) creates nodeOs and nodeDisk, verifies Node source identity and every declared V86 boot asset before engine construction, and carries all configured guests in one signed .webmachine. The exact packed product runs Node crypto and filesystem work, rejects a changed boot image before active replacement, and restores all three guests. A separate reproducible Buildroot release carries the image, source, configuration, SBOM, complete legal material, and two-build byte-identity receipt.

Fixed

  • Successful Control startup now clears its timeout timer immediately, so a completed product lifecycle does not wait for an obsolete process timer.
  • Chromium profile cleanup now waits for stable absence after Windows pending deletion, and POSIX launches use an isolated process group that is terminated as a whole. A remaining exact profile becomes a structured failure.
  • Digest-locked Python wrapper sources are checked out as LF on every platform, so fresh Windows runners verify the same supply-chain bytes as Linux and repository builds.
  • The data engine builder copies target module sources before the native bootstrap but applies its SIMD Setup.local only to the WASI target build, keeping host GCC free of target-only flags.
  • V86 inspection reports readiness only after the engine event. A pre-ready timeout no longer calls unsafe partial-instance stop or destroy methods, while a ready instance retains the full drain, flush, and destroy path.
  • V86 verified asset descriptors are closed and type-exact. The default Node loader accepts only same-origin credential-free URLs, refuses redirects and unbounded response bodies, enforces declared lengths, hashes independent bytes, and returns WEB_MACHINE_ASSET_INTEGRITY on mismatch.
  • WebComputer.bootAll() now rolls every partial guest back to stopped when one configured guest fails. If cleanup also fails, an AggregateError retains the original boot failure and every cleanup failure.
  • The TypeScript V86 block mode now names the implemented ata and filesystem values rather than stale names.
  • V86 text display accepts the engine's transient 256-row boot geometry and reports only genuinely invalid updates as errors, so a normal Linux boot returns errors: 0 instead of accumulating clipped VGA cells.

Compatibility

... (truncated)

Commits
  • 4fb4d4e fix: data 엔진 host bootstrap을 분리한다
  • c98d9e4 fix: 브라우저 재시작 process 경계를 통일한다
  • 33ec5cb fix: 교차 플랫폼 수명주기 정리를 고정한다
  • 5a15a97 feat: 재현 가능한 Node 게스트를 제품화한다
  • 99e7c91 fix: Node 게스트 재현 빌드 경로를 고정한다
  • d9539c7 공급망: Node 전체 재현 빌드 상한을 보정
  • a87eaac 공급망: Node 재현 빌드 시간 예산을 현실화
  • 6c6f179 공급망: Node guest의 crypto 기반을 고정
  • ecb6915 공급망: Node 프로필의 C++ 선택을 바로잡음
  • cff07a5 공급망: Node Buildroot 재현 프로필을 고정
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pyproc](https://github.com/eddmpython/pyproc) from 0.0.14 to 0.0.23.
- [Release notes](https://github.com/eddmpython/pyproc/releases)
- [Changelog](https://github.com/eddmpython/pyproc/blob/main/CHANGELOG.md)
- [Commits](eddmpython/pyproc@v0.0.14...v0.0.23)

---
updated-dependencies:
- dependency-name: pyproc
  dependency-version: 0.0.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: landing. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 19, 2026
@dependabot
dependabot Bot requested a review from eddmpython as a code owner August 19, 2026 14:00
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 19, 2026
@eddmpython

Copy link
Copy Markdown
Owner

머지하지 않고 닫는다. pyproc 0.0.23 은 0.0.22 와 같은 breaking 이고, 범위가 타입뿐 아니라 boot 런타임 계약까지다.

landing job (svelte-check) 15 errors:

landing/src/lib/notebook/engine/pyprocCheckpointStore.ts:1:15  Module '"pyproc"' has no exported member 'PyprocMachine'.
                                              :1:30  ... 'ReactiveController'.
landing/src/lib/notebook/engine/kernel/asgiSeam.ts:5:15  ... 'AsgiServer'.
                                                  :5:47  ... 'Runtime'.
landing/src/lib/notebook/engine/pyodideWorker.ts:19:7  ... 'PyprocMachine'.
                                                 :20:7  ... 'Runtime'.
                                                 :21:7  ... 'WheelCache'.
                                                 :202:3 'indexURL' does not exist in type 'CpythonWasiBootOptions'.

gate-a (공개 machine 계약 스모크):

[pyproc-smoke] FAIL: 공개 machine 계약 검증 실패
PyProcError: CPython WASI boot does not accept option(s): indexURL, loadPyodide, stdout
    at boot (node_modules/pyproc/index.js:30:11)

0.0.21 은 같은 게이트 4 개가 전부 통과했으므로 경계는 0.0.21 과 0.0.22 사이다. 버전 숫자를 올리는
일이 아니라 landing 의 pyproc 호출부 마이그레이션이며, UI 변경이라 렌더 눈검수까지 동반해야 한다.
pyproc 저장소에 소비자 피드백으로 접수해 두었다.

닫아도 다음 버전으로 다시 열리는 것을 이미 확인했다(#116 0.0.22 를 닫자 #118 0.0.23 이 열렸다).
그래서 이번에는 PR 을 닫는 것으로 끝내지 않고 npm 정기 버전 범프 자체를 중단한다. 보안 업데이트는
그대로 흐른다. 상세는 곧 올라갈 dependabot.yml 커밋에 적는다.

@eddmpython eddmpython closed this Aug 19, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/pyproc-0.0.23 branch August 19, 2026 14:34
eddmpython added a commit that referenced this pull request Aug 19, 2026
증상. 정기 범프 PR 이 매일 열리는데 대부분 머지할 수 없다. #116(pyproc 0.0.22)을 닫자
#118(0.0.23)이 즉시 열렸다. 같은 breaking 이라 닫아도 다음 버전으로 반복된다.

원인. 세 가지가 겹쳐 npm 정기 범프의 실익이 사실상 0 이다.

1. 머지율이 낮다. dependabot PR 66 건을 생태계별로 세면 npm 24 건 중 머지 1 건(4.2%),
   pip 20 건 중 5 건(25.0%), uv 9 건 중 2 건(22.2%)이다. 유일하게 머지된 npm PR #64 는
   28 분 뒤 핫픽스 68697bd("사이트 빌드 복구 ... Deploy Site red")을 불렀다.
2. 루트 package.json 의 overrides 11 개를 dependabot 이 갱신하지 않는다. 그 패키지의 정기
   범프는 lockfile 불일치로 `npm ci` 에서 죽는다(#115 svelte 5.56.3 vs 5.56.9).
3. pyproc 은 0.0.22 부터 landing 이 쓰는 공개 표면이 사라져 머지 자체가 불가능하다.

이 저장소는 이미 같은 결론에 도달한 적이 있다. 2026-07-09 커밋 4fe3a31
"개선: dependabot 정기 버전 범프를 pip 로 한정" 이 같은 근거를 적어 두었다. 다만 그 구현이
`allow: [pyproc]` 이었고, allow 는 정기 범프뿐 아니라 보안 업데이트도 막는다. nanoid high
경보가 닫히지 못한 원인이 그것이었다.

변경. npm 블록을 `open-pull-requests-limit: 0` 으로 바꿨다. github-actions 블록이 이미 쓰는
형태이고, 공식 문서가 이 용도를 명시한다. `open-pull-requests-limit` 제목에는 version 아이콘만
붙고 본문에 "Security update pull requests are not subject to this limit and do not count
toward it" 이라고 적혀 있으며, "If you only require security updates and want to exclude
version updates, you can set open-pull-requests-limit to 0" 이 권장 수단으로 제시된다.

직전 커밋 f1a35ef 에서 넣었던 `ignore` 를 제거한다. 그때 "version-update:semver-* 는 정기
갱신에만 적용되므로 보안 업데이트는 major 라도 흐른다" 고 적었으나, 공식 문서를 원문으로
확인한 결과 그 서술의 근거가 없다. `ignore` 는 version 아이콘과 shield 아이콘을 둘 다 달고
있고 문서는 "will prevent security and version updates for those dependencies" 라고 쓴다.
"update-types only affects version updates, not security updates" 라는 예외 문장은
`allow` 절 안에만 있으며 `ignore` 쪽에는 대응 문장이 없다. 근거 없는 가정으로 보안 경로에
필터를 걸어 두었던 것이라 걷어낸다.

같은 커밋에서 판단한 group 제거는 유지한다. 다만 그때 적은 원인("workspace 묶음 PR 결함")은
이미 그 커밋에서 override 미갱신으로 정정했다.

pip 블록은 그대로 둔다. 머지율이 npm 의 6 배이고 pyproject 상한 완화는 CI 가 `pip install -e .`
신선 해석으로 검증한다. 실제로 openai 상한 완화 PR(#114)은 그 게이트가 회귀를 잡아냈다.

결과. 세 생태계 모두 allow 와 ignore 가 없어 보안 업데이트가 막히지 않는다. 정기 범프는 pip
에서만 열린다. npm 의존성을 올리는 일은 렌더 눈검수를 동반한 별도 작업으로 다룬다.

검증. YAML 파싱으로 세 블록의 limit(pip 2, github-actions 0, npm 0)과 allow·ignore 부재를
확인했다. dependabot 계약 테스트 15 건 통과.

가드. 계약 테스트가 npm 블록에 `open-pull-requests-limit: 0` 이 있고 `groups:` 와 `ignore:` 가
없는지 검사한다. 전체 파일에 `allow:` 가 없는지도 계속 검사한다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant