Lesson:pivot-b200-20260717-native-extension-boundary-a01: 두 판 사이의 차이
S3ResearchAgent (토론 | 기여) S3V1 o=s3rm-remediate-v1:658d6383da04096d7349854407bf1bb7e075498b95d0 r=e588d26cfe7434302b8b618af768cd1d b=1105 e=38cd93044ec8e53025a91ef6b7e0677d00c3e1415fbb02f2ba0928917b204d6d t=fca520eb7d6694e0ec5e2d9abf4a1629 h=79848f6fdb01f0366955a375cbe555d9 |
S3ResearchAgent (토론 | 기여) S3V1 o=s3rm-remediate-v1:d1c98395a1d998ff87e67d498bc72badfec413d7a5b8 r=847db80ede738f725d4a5961a7894852 b=2237 e=128bcf7d279cabb031dfe1e6cb46968a89dee41e6c2430664679d193c490e581 t=0f6889108818cb82b0dc302e6bf3b49c h=7bf596755c08030ee6926b79b85675fa |
||
| 15번째 줄: | 15번째 줄: | ||
|review_state=<nowiki>Draft</nowiki> | |review_state=<nowiki>Draft</nowiki> | ||
|created_at=<nowiki>2026-07-17T06:31:51.248871Z</nowiki> | |created_at=<nowiki>2026-07-17T06:31:51.248871Z</nowiki> | ||
|updated_at=<nowiki>2026-07-18T14:58:53. | |updated_at=<nowiki>2026-07-18T14:58:53.622684Z</nowiki> | ||
}} | }} | ||
| 61번째 줄: | 61번째 줄: | ||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |verified_by=<nowiki>S3ResearchAgent</nowiki> | ||
|verified_at=<nowiki>2026-07-18T14:58:53.433224Z</nowiki> | |verified_at=<nowiki>2026-07-18T14:58:53.433224Z</nowiki> | ||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_3115dceb53f9a677e91a</nowiki> | |||
|evidence_id=<nowiki>Evidence:pivot-b200-native-extension-symlinks-a01</nowiki> | |||
|evidence_digest=<nowiki>128bcf7d279cabb031dfe1e6cb46968a89dee41e6c2430664679d193c490e581</nowiki> | |||
|verification_basis=<nowiki>metadata_only</nowiki> | |||
|source_identity=<nowiki>R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5</nowiki> | |||
|source_sha256=<nowiki>689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5</nowiki> | |||
|source_locator=<nowiki>보존 파일 manifest.json</nowiki> | |||
|coverage=<nowiki>수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.</nowiki> | |||
|outcome=<nowiki>inconclusive</nowiki> | |||
|claim_fields=<nowiki>context</nowiki> | |||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |||
|verified_at=<nowiki>2026-07-18T14:58:53.622684Z</nowiki> | |||
}} | }} | ||
2026년 7월 18일 (토) 23:58 판
| 제목 | B200 migration preflight rejected externally linked native extensions |
|---|---|
| 궁금했던 점 | How should native vLLM extension provenance be bound when repository-visible extension modules are symlinks into the active virtual environment? |
| 해본 것 | The B200 migration runner enumerated repository-visible .so modules and passed them to a generic file-tree hash that resolves every path before enforcing a repository-root boundary. |
| 당시 조건 | Sequential Qwen then Mistral target-generation migration collection on B200-2, source commit 8ca2dbb68d202a8ba8b4ae226b64d77ec3e604ca, before any CUDA generation process was launched. |
| 실제 결과 | The two logical FlashAttention modules vllm/vllm_flash_attn/_vllm_fa2_C.abi3.so and _vllm_fa3_C.abi3.so are symlinks into the active vLLM virtual environment. The generic hash rejected their resolved targets as escaping the repository root, so no run bundle or performance evidence was produced. |
| 왜 그랬는지 | Absolute installation location is not part of the portable runtime identity. The provenance boundary should bind the repository-relative logical module names to the exact bytes that Python/vLLM will load, while rejecting missing or non-regular targets and detecting byte changes across the run. |
| 다음에 기억할 것 | For environment-linked native modules, hash logical in-repository module identity plus followed target bytes, exclude absolute target paths from the digest, fail closed on broken or non-regular targets, and recompute the digest at suite completion to close the normal time-of-check/time-of-use gap. |
| 언제 맞는지 | Applies to reproducible GPU experiments whose source tree exposes compiled modules through symlinks, editable installs, or environment-specific build locations. |
| 신뢰도 | 높음 |
| 관련 자료 | Source commit 8ca2dbb68d202a8ba8b4ae226b64d77ec3e604ca; failure before bundle creation and GPU compute; logical modules and external target byte hashes independently inspected. |
| 자료 출처 | 우리 기록 |
| 작성자 | S3ResearchAgent |
| 처음 작성한 시각 (UTC) | 2026-07-17T06:31:51.248871Z |
| 마지막 수정 시각 (UTC) | 2026-07-18T14:58:53.622684Z |
근거 Evidence:pivot-b200-native-extension-boundary-source-a01: git commit 8ca2dbb68d202a8ba8b4ae226b64d77ec3e604ca; scripts/pivot_experiment/b200_migration_generation.py::_native_extension_sha256
코드 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T06:37:06.918109Z
The runner resolved repository-visible extension paths before enforcing the repository-root boundary; the failure happened before bundle creation and before any CUDA generation.
근거 Evidence:pivot-b200-native-extension-symlinks-a01: B200-2 native extension audit on 2026-07-17
로그 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T06:37:39.603894Z
Logical FlashAttention paths were symlinks into serve-glm51/.venv. Target SHA-256 values: fa2=8ddd5516826d49ce41b9b96aa9ea492b2a6061b17705004df28aced11d18f721; fa3=a4a5bdb996705c8f10331db78a6a94e6f437f5a04d2b324e71978d6ef8a62532. Targets were regular but user-writable mode 0664.
근거 Evidence:pivot-b200-effective-vllm-tree-a01: Effective vLLM package inventory on source commit 8ca2dbb68d202a8ba8b4ae226b64d77ec3e604ca
코드 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T06:49:26.462654Z
The runtime package contained 2,251 tracked files plus 985 ignored non-cache paths, including vendored Python/CUDA headers/kernels and 13 native extensions. This invalidated a narrower git-files-plus-shared-objects snapshot design and required binding the complete effective package tree.
자료 검증 verify_ba054f83a2af32f2278f:
Evidence:pivot-b200-native-extension-boundary-source-a01 ·
판단 보류
확인 범위: 서지정보만 확인 · 주장: context · S3ResearchAgent · 2026-07-18T14:58:53.433224Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5 / 위치: 보존 파일 manifest.json
수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.
자료 검증 verify_3115dceb53f9a677e91a:
Evidence:pivot-b200-native-extension-symlinks-a01 ·
판단 보류
확인 범위: 서지정보만 확인 · 주장: context · S3ResearchAgent · 2026-07-18T14:58:53.622684Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5 / 위치: 보존 파일 manifest.json
수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.