Commit fd28fc5
committed
검증: check sandbox 지원 경계를 실제 실행으로 확정
상황:
기존 feasibility 검증기는 브라우저 격리와 Windows broker가 없다는 정적 문구만 반환해 어떤 check가 Web에서 강한 증거가 될 수 있는지, 어느 실패가 Local 전환 조건인지 증명하지 못했다. 현재 browser runtime은 외부 CDN core를 먼저 가져오며 launcher에는 AppContainer broker 구현이 없어서 계획 문구가 아니라 실제 엔진·운영체제·소스 상태를 함께 측정할 필요가 있었다.
변경:
Chromium 149.0.7827.55, Firefox 151.0, WebKit 26.5에서 opaque-origin sandbox iframe을 엔진별 5회 생성해 origin, opener, storage, network, top navigation, WASM, blob module Worker, frame cleanup과 fresh counter를 검사했다. Windows 11 build 26200의 AppContainer·restricted token·Job Object API, 목표 Win10 22H2 build 19045 부재, launcher broker 파일 부재를 probe에 포함했다. pyproc pin과 25개 asset manifest SHA-256, core index와 cache/integrity 설정도 기록하고 browser output·variable strong subset, behavior localRequired, Local Windows·cold/warm offline unsupported 결정을 JSON SSOT로 고정했다. artifact ownership 생성물을 동기화하고 제품 계약과 학습 계획을 이 결정에 맞춘 뒤 완료된 05-check-sandbox-feasibility 계획과 부모 참조를 삭제했다.
영향:
Web 후보 A는 connect-src none에서 network-first Python core를 부팅할 수 없어 채택되지 않으며 Chromium의 opaque frame blob module Worker 실패도 숨기지 않는다. 지원되지 않는 behavior와 Windows Local strong completion은 provisional executor 성공으로 승격되지 않고 후속 runtime enforcement 전까지 pending-implementation-workstream으로 남는다. 따라서 feasibility 자체는 실제 부정 결과까지 종료됐지만 구현되지 않은 보안 경계를 제품 지원으로 과장하지 않는다.
검증:
uv run python -X utf8 tests/product/verifyCheckSandboxFeasibility.py 통과(completionEligible=true). Chromium p50/p95 78/79ms, Firefox 141/234ms, WebKit 125/141ms를 실측했다. 관련 pytest 23개가 통과했고 tests/run.py gate docs와 plan-quality, genProductContracts --check, 삭제 plan 참조 검색, git diff --check가 통과했다.1 parent ced7811 commit fd28fc5
14 files changed
Lines changed: 374 additions & 91 deletions
File tree
- contracts
- editor/src/lib/generatedContracts
- launcher/codaro-launcher/src/generated_contracts
- mainPlan/astryx-product-experience
- 00-product-contract
- 01-prd-improvement-loop
- 05-check-sandbox-feasibility
- 02-learning-method
- src/codaro/generatedContracts
- tests/product
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
49 | 57 | | |
50 | 58 | | |
51 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
Lines changed: 0 additions & 68 deletions
This file was deleted.
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
42 | 41 | | |
43 | 42 | | |
44 | | - | |
| 43 | + | |
45 | 44 | | |
46 | 45 | | |
47 | 46 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments