Skip to content

개선(deps): Bump pyproc from 0.0.14 to 0.0.22 - #116

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

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

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.22.

Changelog

Sourced from pyproc's changelog.

0.0.22 - 2026-08-15

Added

  • The owned CPython WASI kernel now powers the default product and pyproc/wasi. bootCpythonWasiKernel opens a worker-owned CPython WASI kernel with Promise-first commands, ordered output events, retry identity, generation fences, structured terminal errors, hard interrupt truth, and idempotent close. Root boot(), WebComputer, and installed Control compose the same verified engine through KernelFactory and KernelMachine.
  • ValueEnvelope v1 removes live Python objects from the v2 value boundary. Finite scalars, bigint, bytes, lists, canonical string maps, verified artifact spill, and generation-bound application references cover kernel values and the v2 ASGI and IPC seams with explicit limits.
  • Kernel checkpoint v2 keeps reactive memory ownership inside the WASI worker. Engine and environment-bound descriptors seal opaque full or 64KiB page-delta artifacts, reject busy or incompatible boundaries before restore, compact at bounded depth, and fence generations.
  • KernelVfs v1 adds immutable roots and crash-consistent OPFS volumes to the owned kernel. Intent, marker, HEAD CAS, adoption recovery, owner epochs, typed devices, and checkpoint root pairing reject partial objects, stale writers, forbidden resources, and corrupt candidates.
  • Hostcall ABI v1 connects the static CPython module to an authority broker. A dedicated SAB record and worker-only atomic wait carry byte requests through /hostcall; stable receipts prevent duplicate external sends, preserve uncertain outcomes, bound streamed responses, and block unsafe checkpoints. Core no-op, clock, entropy, and terminal providers ship behind the same authority boundary.
  • Product host capability ports extend the owned kernel without browser handles in Python. Explicit HTTP credit streams, socket relay, process, GPU, clipboard, framebuffer, and ASGI opcodes share destination-aware authority, exact effect boundaries, receipt replay, cancellation truth, and checkpoint resource classification through injected adapters.
  • PyProc Eyes now returns task-conditioned situations. The existing automation.observe operation accepts representation: "apx.situation" and typed focus requirements. It returns a canonical SituationCapsule with explicit known, conflicted, unknown, and stale claims, bounded probes, and broker-issued affordances.
  • Proof-carrying actions bind authority to observed state. JavaScript and Python clients expose situate() and actAffordance(). An actionContext binds the capability to its session, situation, world, document epoch, action, risk, destination, expiry, and expected transition, and stale bindings fail before the effect.
  • Verified Change Loop turns repository experience into a replayable verdict. Strict Experience Contracts, exact environment observation, deterministic structural and behavioral rules, bounded perceptual review, atomic Evidence Packs, comparison, and effect-free replay are available through Control, MCP, JavaScript, Python, and CLI entrances.
  • Hibernating Machine Fleet bounds live execution owners. createMachineFleet in pyproc/machine registers durable Web Computers, issues owner-epoch leases, admits only within a hot limit, commits and verifies exact generations before terminating adapters, and cold-resumes in fresh Workers. WebComputer.suspend() and resume() expose the same single-computer lifecycle. Unsafe effects, stale leases, commit failures, environment drift, and cleanup failures fail closed.
  • Execution Memory makes exact execution state the handoff unit. An opt-in Control manifest adds immutable session revisions, compare-and-swap HEAD, real .pymachine capture, SituationCapsule and Automation Recording boundaries, Evidence Pack-gated completion, retention reachability, and signed handoff with separate permission approval. JavaScript, Python, MCP, and direct pyproc/control registry paths share the same revision digest.
  • Rehearse-Commit Transactions separate preparation from one-shot external effects. Exact intents, effect-free rehearsal receipts, externally signed approval grants, durable commit leases, terminal effect results, and Evidence Pack-gated receipts share one immutable revision chain. JavaScript, Python, MCP, Control, and CLI entrances use the same fail-closed coordinator and never resend after the durable sending boundary.
  • Transactional AppSpace pairs cooperative application state with the Python Machine. Exact app identity,

... (truncated)

Commits
  • 0a47a0a 수정: Windows Execution Memory 경로 권한 정규화
  • b4a76dc 문서: 0.0.22 최종 수정 계약 기록
  • 4049b5d 테스트: Windows 설치 MCP 검증 이식성 강화
  • b353fb8 수정: MCP long poll 종료 경계 완결
  • f10d0aa 수정: 네이티브 입력 줄바꿈 계약 고정
  • a312e78 수정: Windows 성능 게이트 변동폭 반영
  • 2268455 수정: 교차 플랫폼 릴리스 게이트 복구
  • 5a554a4 기능: 독립 CPython 커널 제품 전환 완성
  • 5269943 기능: 증거 운반 Motor 완성
  • 65235b2 실험: Windows Motor 네이티브 경로를 실기로 검증
  • 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.22.
- [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.22)

---
updated-dependencies:
- dependency-name: pyproc
  dependency-version: 0.0.22
  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 09:51
@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.22 는 landing 이 사용하는 공개 API 를 제거한 breaking 릴리즈다.

호환성 게이트 4 개(gate-a, gate-b, landing, compatibility)가 전부 실패했고 원인은 타입 해석 단계다.

Module '"pyproc"' has no exported member 'PyprocMachine'
Module '"pyproc"' has no exported member 'ReactiveController'
Module '"pyproc"' has no exported member 'AsgiServer'
Module '"pyproc"' has no exported member 'Runtime'
Module '"pyproc"' has no exported member 'WheelCache'
'indexURL' does not exist in type 'CpythonWasiBootOptions'

경계는 0.0.21 과 0.0.22 사이다. 0.0.21 을 올린 #113 은 같은 게이트 4 개가 전부 통과했다.
CPython WASI kernel 교체가 들어간 지점과 일치한다.

이 버전으로 올리려면 버전 숫자 교체가 아니라 landing 의 pyproc 호출부 마이그레이션이 필요하고,
UI 변경이므로 렌더 눈검수까지 동반해야 한다. 별도 작업으로 다룬다.

dependabot 설정에 ignore 는 걸지 않는다. ignore 는 보안 업데이트에도 적용되어 해당 패키지의
보안 패치 경로를 함께 닫는다(이번에 nanoid 경보에서 실측). 소음보다 보안 경로를 우선한다.

@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.22 branch August 19, 2026 13:26
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