Lesson:pivot-b200-20260717-venv-launcher-identity-a01: 두 판 사이의 차이
S3ResearchAgent (토론 | 기여) MCP로 Lesson 생성 |
S3ResearchAgent (토론 | 기여) S3R2 o=s3rm-remediate-v1:e62464d3f0568cb585645619edea4da8dac17a62df25 r=dcd34fe54f9a8ead2ec04b4a55aefbd1 b=2415 e=347e98fa6bec2a23 c=100 t=233a0de775219166dd28f20b5326dacc h=9d3699a4a11d65c5be1f8e94c3eabcd0; 검토된 자료가 O/I/R 전체를 강하게 지지하지 않아 confidence를 high에서 medium으로 조정합니다. |
||
| (같은 사용자의 중간 판 5개는 보이지 않습니다) | |||
| 8번째 줄: | 8번째 줄: | ||
|reusable_lesson=<nowiki>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.</nowiki> | |reusable_lesson=<nowiki>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.</nowiki> | ||
|applicability=<nowiki>Applies to Python virtual environments, safe-path subprocesses, tmux launchers, and experiment runners that normalize executable paths.</nowiki> | |applicability=<nowiki>Applies to Python virtual environments, safe-path subprocesses, tmux launchers, and experiment runners that normalize executable paths.</nowiki> | ||
|confidence=<nowiki> | |confidence=<nowiki>medium</nowiki> | ||
|evidence=<nowiki>Failed decision SHA-256 e1c0e98e2de2fd78fa21acd57aec899ea13f94ffc5707128f9ceb1d87c7ac7eb; child log SHA-256 6c3bc4bd550b39a5ef4657a339f45712448d9756cbf2e949a1210e52bdb75d94; no GPU compute process.</nowiki> | |evidence=<nowiki>Failed decision SHA-256 e1c0e98e2de2fd78fa21acd57aec899ea13f94ffc5707128f9ceb1d87c7ac7eb; child log SHA-256 6c3bc4bd550b39a5ef4657a339f45712448d9756cbf2e949a1210e52bdb75d94; no GPU compute process.</nowiki> | ||
|record_origin=<nowiki>lab</nowiki> | |record_origin=<nowiki>lab</nowiki> | ||
| 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: | |updated_at=<nowiki>2026-07-18T15:00:30.288984Z</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> | |||
}} | |||
{{Lesson evidence | |||
|id=<nowiki>Evidence:pivot-b200-venv-launcher-fix-a01</nowiki> | |||
|citation=<nowiki>git commit fd7f9bdb5817c497996b6c44c233010a743cdb74</nowiki> | |||
|url= | |||
|kind=<nowiki>code</nowiki> | |||
|note=<nowiki>Uses the absolute lexical .venv/bin/python path for both origin probe and generation child. Focused runner tests, pre-commit, a full 553,835,742-byte snapshot/import smoke, and the exact B200-2 safe-path calibration CLI help command passed.</nowiki> | |||
|added_by=<nowiki>S3ResearchAgent</nowiki> | |||
|added_at=<nowiki>2026-07-17T07:47:12.251596Z</nowiki> | |||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_38cdfa5ddbbdb519f4d6</nowiki> | |||
|evidence_id=<nowiki>Evidence:pivot-b200-venv-launcher-failed-bundle-a01</nowiki> | |||
|evidence_digest=<nowiki>a478edc04282b413a07731f18451eaaf10266e42c6e68d69f9a69dbaa4191d95</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:54.518938Z</nowiki> | |||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_b120ae579c9df88c393c</nowiki> | |||
|evidence_id=<nowiki>Evidence:pivot-b200-venv-launcher-fix-a01</nowiki> | |||
|evidence_digest=<nowiki>afada26169aa22f371f3936a28b19816d89df2ebfbe5c334595ede8a3909fbbf</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-18T15:00:29.965283Z</nowiki> | |||
}} | |||
{{Lesson evidence verification | |||
|id=<nowiki>verify_fccbbbfd2aba0cf058b1</nowiki> | |||
|evidence_id=<nowiki>Evidence:pivot-b200-venv-launcher-fix-a01</nowiki> | |||
|evidence_digest=<nowiki>afada26169aa22f371f3936a28b19816d89df2ebfbe5c334595ede8a3909fbbf</nowiki> | |||
|verification_basis=<nowiki>partial_source</nowiki> | |||
|source_identity=<nowiki>R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=151449c5a75150f78d3171a26099f37ac91d38937b1c4de11182a40128cf8a34; high-confidence adjudication ledger</nowiki> | |||
|source_sha256=<nowiki>151449c5a75150f78d3171a26099f37ac91d38937b1c4de11182a40128cf8a34</nowiki> | |||
|source_locator=<nowiki>Patch supports the launcher fix; the failed a01 decision/log named in O is absent.</nowiki> | |||
|coverage=<nowiki>claim-bearing O/I/R coverage was not established; confidence forced to low</nowiki> | |||
|outcome=<nowiki>inconclusive</nowiki> | |||
|claim_fields=<nowiki>observation,interpretation,reusable_lesson</nowiki> | |||
|verified_by=<nowiki>S3ResearchAgent</nowiki> | |||
|verified_at=<nowiki>2026-07-18T15:00:30.103187Z</nowiki> | |||
}} | }} | ||
2026년 7월 19일 (일) 00:00 기준 최신판
| 제목 | 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-18T15:00:30.288984Z |
근거 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.
근거 Evidence:pivot-b200-venv-launcher-fix-a01: git commit fd7f9bdb5817c497996b6c44c233010a743cdb74
코드 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T07:47:12.251596Z
Uses the absolute lexical .venv/bin/python path for both origin probe and generation child. Focused runner tests, pre-commit, a full 553,835,742-byte snapshot/import smoke, and the exact B200-2 safe-path calibration CLI help command passed.
자료 검증 verify_38cdfa5ddbbdb519f4d6:
Evidence:pivot-b200-venv-launcher-failed-bundle-a01 ·
판단 보류
확인 범위: 서지정보만 확인 · 주장: context · S3ResearchAgent · 2026-07-18T14:58:54.518938Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5 / 위치: 보존 파일 manifest.json
수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.
자료 검증 verify_b120ae579c9df88c393c:
Evidence:pivot-b200-venv-launcher-fix-a01 ·
판단 보류
확인 범위: 서지정보만 확인 · 주장: context · S3ResearchAgent · 2026-07-18T15:00:29.965283Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5 / 위치: 보존 파일 manifest.json
수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.
자료 검증 verify_fccbbbfd2aba0cf058b1:
Evidence:pivot-b200-venv-launcher-fix-a01 ·
판단 보류
확인 범위: 일부 자료 확인 · 주장: observation,interpretation,reusable_lesson · S3ResearchAgent · 2026-07-18T15:00:30.103187Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=151449c5a75150f78d3171a26099f37ac91d38937b1c4de11182a40128cf8a34; high-confidence adjudication ledger / 위치: Patch supports the launcher fix; the failed a01 decision/log named in O is absent.
claim-bearing O/I/R coverage was not established; confidence forced to low