Skip to content

Commit d896a13

Browse files
committed
일몰: wheel 자산을 정식 위치로 옮기고 wasiPackages를 회수한다
이 폴더는 증거도 실행 자산도 아닌 **데이터 위치**였다. wasiGate.html이 `../attempts/wasiPackages/`를 wheel 디렉터리로 읽는다. 실험 수명주기 폴더가 게이트의 입력 경로였던 셈이다. wheel을 tests/browser/wasiWheels/로 옮기고 받는 법(pip download 레시피)과 두 wheel을 고른 이유(단일 모듈과 중첩 패키지로 두 경로를 가드한다)를 그 폴더 README로 승격했다. 파일 자체는 여전히 미추적이다(서드파티 배포 바이트는 이 레포의 자산 정책 밖이고, 없으면 게이트가 SKIP을 출력에 남긴다). gitignore 규칙과 그 주석도 함께 옮겼다. 이것으로 attempts 일몰이 7건이 됐다. 남은 8개는 규칙상 지울 수 없다: 전부 종결되지 않은 캠페인이다(진행 중 판정이거나 북극성의 열린 다음 수이거나 09와 10이 쓸 실측 자리다). 검증: npm test 3357 passed 0 failed, wasi 게이트 exit 0
1 parent 7b91094 commit d896a13

5 files changed

Lines changed: 34 additions & 61 deletions

File tree

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ tests/browser/*.wasm
2525
tests/webMachine/fixtures/v86/assets/
2626
# Web Computer 제품 실행 자산. catalog와 준비 스크립트만 추적한다.
2727
apps/webComputer/assets/
28-
# wasiPackages probe의 순수 파이썬 wheel(재현: pip download, README 레시피). 레포 자산 0.
29-
tests/attempts/wasiPackages/*.whl
28+
# WASI 레인의 순수 파이썬 wheel(재현: pip download, 그 폴더 README 레시피). 레포 자산 0.
29+
tests/browser/wasiWheels/*.whl
3030
# 자가 호스팅 엔진 배포판(scripts/fetchEngine.mjs가 준비, 약 509MB). 레포 자산 0.
3131
vendor/
3232
# Buildroot 자체 guest 빌드 작업공간과 산출물. recipe/config/manifest 계약만 추적한다.

mainPlan/11_attemptsSunset/README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
| stateKernel | `src/state/objectModel.js`, `tests/run.mjs` | 살아 있음(10이 쓸 자리) |
1818
| wasiPackages | `tests/browser/wasiGate.html` | 승격 필요 |
1919

20-
**종결 6건**: `externalS1`(지식이 benchmarking.md에 승격돼 있었다)과 `branchFleet`(주석의 경로 인용을
20+
**종결 7건**: `externalS1`(지식이 benchmarking.md에 승격돼 있었다)과 `branchFleet`(주석의 경로 인용을
2121
사실 서술로 바꿔 승격했다. 숫자는 주석에 남고 과정은 git 이력이 보존한다), `engineContract`
2222
(WASI 매핑표를 그것을 쓰는 살아 있는 캠페인 enginePort로 옮기고 주석 인용을 사실 서술로 바꿨다),
2323
`numericShard`(게이트가 이 폴더의 probe를 helper 공유의 두 번째 증인으로 읽고 있었다. 삭제되는
@@ -27,9 +27,13 @@
2727
안의 페이지를 러너가 전부 열어야 하는데, WebGPU probe는 헤드리스에 어댑터가 없어 그 조건을
2828
만족할 수 없기 때문이다), `socketBridge`(**CI 레인이 이 폴더의 릴레이를 실행 자산으로 쓰고
2929
있었다.** `relay.mjs``tests/browser/socketRelay.mjs`로, 수동 probe 4개와 워커 자산 2개를
30-
`tests/manualProbes/`로 옮겼다).
30+
`tests/manualProbes/`로 옮겼다), `wasiPackages`(**게이트가 이 폴더를 wheel 자산 경로로 읽고
31+
있었다.** 자산을 `tests/browser/wasiWheels/`로 옮기고 받는 법 레시피를 그 폴더 README로 승격했다.
32+
gitignore 규칙도 함께 옮겼다).
3133

32-
**결론: 나머지 8개는 지금 지울 수 없다.** 이유가 폴더마다 다르지 않다:
34+
**결론: 남은 8개는 규칙상 지울 수 없다.** 전부 종결되지 않은 캠페인이다(진행 중 판정이거나
35+
북극성의 열린 다음 수이거나 09와 10이 쓸 실측 자리다). 규칙은 '종결 시 삭제'이므로 이들을 지우는
36+
것은 규칙 위반이지 미완료가 아니다. 이유가 폴더마다 다르지 않다:
3337
출하 코드와 문서가 그 폴더의 probe를 "실측 정본"으로 인용하고, 북극성 원장은 `gpuCompute`
3438
probe 파일을 축 증거로 등재하고 있다. 규칙은 "종결 시 폴더째 삭제하고 지속 계약만 docs에
3539
남긴다"인데, 지금 상태는 **지속 계약이 아니라 실측 자체가 삭제 대상 폴더에 산다.**

tests/attempts/wasiPackages/README.md

Lines changed: 0 additions & 53 deletions
This file was deleted.

tests/browser/wasiGate.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ <h1>pyproc WASI 게이트 - 승격된 WasiSession 실배선</h1>
6969

7070
// 5) 패키지 설치: 순수 파이썬 wheel을 라이브 세션에 installWheel -> import(브라우저판 pip).
7171
// 단일 모듈(six) + 중첩 패키지(packaging, stdlib만 의존하는 실 작업)로 두 경로를 가드한다.
72-
// wheel 자산은 wasiPackages 캠페인에 있다(미추적). 없으면 SKIP. 재현: 그 README 레시피.
73-
const wheelDir = "../attempts/wasiPackages/";
72+
// wheel 자산은 미추적이다(서드파티 바이트). 없으면 SKIP. 받는 법은 그 폴더 README에 있다.
73+
const wheelDir = "./wasiWheels/";
7474
const sixResp = await fetch(wheelDir + "six-1.17.0-py2.py3-none-any.whl").catch(() => ({ ok: false }));
7575
const pkgResp = await fetch(wheelDir + "packaging-26.2-py3-none-any.whl").catch(() => ({ ok: false }));
7676
if (sixResp.ok && pkgResp.ok) {
@@ -83,7 +83,7 @@ <h1>pyproc WASI 게이트 - 승격된 WasiSession 실배선</h1>
8383
const pg = await s.run("from packaging.version import Version\nprint(Version('2.0') > Version('1.9.9'), Version('1.9.9').micro)");
8484
check("installWheel(중첩 패키지 wheel: packaging) -> 실작업", pg.trim() === "True 9", `설치 ${timings.installMs}ms`);
8585
} else {
86-
check("SKIP: wheel 자산 없음(tests/attempts/wasiPackages README 레시피)", true);
86+
check("SKIP: wheel 자산 없음(tests/browser/wasiWheels README 레시피)", true);
8787
}
8888
// 정직한 경계(재구성): "C 확장 불가"가 아니라 "동적은 불가, 정적은 이미 됨".
8989
// (a) 동적 C 확장(.so를 런타임에 dlopen)은 불가 - WASI엔 dlopen이 없다. EXTENSION_SUFFIXES는

tests/browser/wasiWheels/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# WASI 레인의 순수 파이썬 wheel
2+
3+
`tests/browser/wasiGate.html``installWheel` 경로를 검증할 때 읽는 자산이다. 파일 자체는
4+
저장소가 나르지 않는다(`.gitignore`): 서드파티 배포 바이트라 이 레포의 자산 정책 밖이다.
5+
없으면 게이트가 SKIP으로 넘어가고, 그 사실이 출력에 남는다.
6+
7+
## 받는 법
8+
9+
```bash
10+
pip download six==1.17.0 packaging==26.2 --only-binary=:all: --no-deps -d tests/browser/wasiWheels
11+
```
12+
13+
단일 모듈(`six`)과 중첩 패키지(`packaging`) 둘을 두는 이유는 두 경로가 다르기 때문이다:
14+
전자는 `.py` 하나, 후자는 디렉터리 트리이고 stdlib만 의존해 실제 작업(버전 비교)을 돌린다.
15+
16+
## 자산 정책
17+
18+
wasm(WLR 3.12, 26MB) + shim은 enginePort(enginePort 캠페인)에서 참조(레포 미추적). wheel은 이 폴더에 두되 미추적(gitignore `*.whl`). wasiGate가 same-origin으로 읽고, 없으면 SKIP(자산 없어도 게이트 green). 재현:
19+
20+
```
21+
python -m pip download six==1.17.0 packaging==26.2 --no-deps --only-binary=:all: -d tests/attempts/wasiPackages/
22+
```

0 commit comments

Comments
 (0)