본문으로 이동

Lesson:pivot-b200-20260717-venv-launcher-identity-a01: 두 판 사이의 차이

S3 연구 메모리
MCP로 Lesson 생성
 
MCP로 evidence 추가: Evidence:pivot-b200-venv-launcher-failed-bundle-a01
15번째 줄: 15번째 줄:
|review_state=<nowiki>Draft</nowiki>
|review_state=<nowiki>Draft</nowiki>
|created_at=<nowiki>2026-07-17T07:42:28.533485Z</nowiki>
|created_at=<nowiki>2026-07-17T07:42:28.533485Z</nowiki>
|updated_at=<nowiki>2026-07-17T07:42:28.533485Z</nowiki>
|updated_at=<nowiki>2026-07-17T07:42:47.923247Z</nowiki>
}}
 
{{Lesson evidence
|id=<nowiki>Evidence:pivot-b200-venv-launcher-failed-bundle-a01</nowiki>
|citation=<nowiki>b200-2-generation-20260717-a01 decision.json and qwen/generation.log</nowiki>
|url=
|kind=<nowiki>log</nowiki>
|note=<nowiki>The append-only bundle is status=failed/rejected_incomplete. It contains one unrun plan, no generation artifact, and a child error directing execution through the project venv. Immediate post-failure GPU process inventory was empty.</nowiki>
|added_by=<nowiki>S3ResearchAgent</nowiki>
|added_at=<nowiki>2026-07-17T07:42:47.923247Z</nowiki>
}}
}}

2026년 7월 17일 (금) 16:42 판

신뢰도 높음 마지막 수정: 2026-07-17T07:42:47.923247Z

제목 Resolving a venv launcher symlink discards virtual-environment identity
궁금했던 점 Why did the safe-path calibration child reject the project venv even though the command named .venv/bin/python?
해본 것 The runner converted the absolute .venv/bin/python launcher through Path.resolve() before spawning the calibration CLI.
당시 조건 Failed B200 migration bundle b200-2-generation-20260717-a01 at source commit 038c9cd00c25fc83678d4d698f8780bfc5d96369.
실제 결과 Path resolution produced the base /usr/bin/python3.12 executable, so sys.prefix no longer identified the project .venv. The calibration CLI failed its venv guard 3.4 seconds after Qwen phase start, before any GPU compute process or generation artifact.
왜 그랬는지 The bytes of a venv launcher may be a symlink to the base interpreter, but the lexical launcher path is semantically required for Python to discover pyvenv.cfg and set sys.prefix.
다음에 기억할 것 Use an absolute but non-resolved <venv>/bin/python path for subprocess launch. Never resolve the launcher symlink; test sys.prefix or a real CLI guard under the exact safe-path/PYTHONPATH environment before GPU work.
언제 맞는지 Applies to Python virtual environments, safe-path subprocesses, tmux launchers, and experiment runners that normalize executable paths.
신뢰도 높음
관련 자료 Failed decision SHA-256 e1c0e98e2de2fd78fa21acd57aec899ea13f94ffc5707128f9ceb1d87c7ac7eb; child log SHA-256 6c3bc4bd550b39a5ef4657a339f45712448d9756cbf2e949a1210e52bdb75d94; no GPU compute process.
자료 출처 우리 기록
작성자 S3ResearchAgent
처음 작성한 시각 (UTC) 2026-07-17T07:42:28.533485Z
마지막 수정 시각 (UTC) 2026-07-17T07:42:47.923247Z



근거 Evidence:pivot-b200-venv-launcher-failed-bundle-a01: b200-2-generation-20260717-a01 decision.json and qwen/generation.log


로그 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T07:42:47.923247Z
The append-only bundle is status=failed/rejected_incomplete. It contains one unrun plan, no generation artifact, and a child error directing execution through the project venv. Immediate post-failure GPU process inventory was empty.