Skip to content

fix(rig): fresh EC2 라운드를 첫 phase 에서 죽이던 결함 넷 (#743/#681, #744, #682, #683) - #750

Merged
Khyojae merged 2 commits into
mainfrom
fix/rig-fresh-ec2-blockers
Sep 15, 2026
Merged

Khyojae merged 2 commits into
mainfrom
fix/rig-fresh-ec2-blockers

Conversation

@Khyojae

@Khyojae Khyojae commented Sep 14, 2026

Copy link
Copy Markdown
Member

무엇

무인 EC2 라운드가 첫 phase 에서 죽거나 조용히 무효 판을 내던 스크립트 결함 넷. 전부 이슈에 적힌 「고칠 자리」 그대로다.

이슈 파일 변경
#743 (=#681) loadtest/aws/bootstrap.sh root authorized_keys 의 AMI 강제명령 줄(command="…exit 142")을 grep -v '^command=' 로 걷어낸 뒤 로그인 사용자 키를 합친다 — «추가» 가 아니라 «치환». 끝에 그 줄이 남으면 🔴 로 찍어 BOOTSTRAP_DONE 이 거짓말하지 않게
#744 loadtest/aws/run_all.sh phase_calibration ( cd "$ROOT/ai-server" && … ) 서브셸에서 rig 호출 — app.core.* import 가 되게. 넘기는 경로($FP_VENV·$CALIB_RIG·$CORES_RIG)는 전부 $ROOT 기준 절대경로라 cd 영향 없음
#682 loadtest/results/row-shape-frag-2026-08-24/q2_partition_rig.sh git update-index --chmod=+x (100644 → 100755). run_q2_blocks.sh 자체는 bash … 로 불려 그대로 둠(이슈 정정 그대로)
#683 loadtest/seed/seed_pose_data_bulk.sh cd "$(dirname "$0")/.." → ../.. — seed_k6_read_account.sh 등 같은 폴더의 다른 시더와 동일

확인한 것

열어 둔 것 (결정은 사용자)

#744 이슈의 두 번째 안 — phase 자체를 없애고 calibrate_box(cpu 축) 로 일원화 — 는 안 했다. 축 A·B 실측에서 infer 축이 보정값으로 못 쓴다고 나온 건 맞지만, phase 삭제는 aws/README.md §보정값·round-to-round-nonreproducibility.md §3 축 0 까지 같이 걷어내야 하는 별개 결정이라 이 PR 은 「부르면 돌아가게」까지만.

Closes #743
Closes #681
Closes #744
Closes #682
Closes #683

🤖 Generated with Claude Code

https://claude.ai/code/session_01CdSSkgTKQxwfjsohngq7xs

…ion cwd·q2 +x·seed .env 경로

- bootstrap.sh (#743, #681): AL2023·Ubuntu 이미지가 /root/.ssh/authorized_keys 에
  같은 키를 강제명령 접두(exit 142)로 미리 넣어 둔다. 뒤에 붙이기만 하면 sshd 가
  앞 줄을 먼저 매치해 root SSH 가 막힌다 — `^command=` 줄을 걷어낸 뒤 합친다(치환).
  끝에 그 줄이 남아 있으면 🔴 로 찍는다.
- run_all.sh phase_calibration (#744): profile_e2e_and_scaling.py 가 app.core.* 를
  import 하므로 cwd 를 ai-server/ 로 옮겨 부른다. 저장소 루트에서 부르면 워커가
  전부 ModuleNotFoundError 로 죽고 max() 가 빈 리스트에서 터진다 — 이 phase 가
  값을 낸 라운드가 없다(results/ 어디에도 scaling_1w.txt 가 없다).
- q2_partition_rig.sh (#682): 100644 → 100755. run_q2_blocks.sh 가 -x 를 검사한다.
- seed_pose_data_bulk.sh (#683): cd 가 loadtest/ 에 멈춰 .env 를 못 찾았다 — 다른
  seed 스크립트들과 같이 ../.. 로 저장소 루트까지 올라간다.

Closes #743
Closes #681
Closes #744
Closes #682
Closes #683

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CdSSkgTKQxwfjsohngq7xs
@coderabbitai

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: ec3059e9-2ad8-403a-a04d-a6aac5084323


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Khyojae

Khyojae commented Sep 14, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Khyojae added a commit that referenced this pull request Sep 15, 2026
…값이 못 되는 축이다 (#744) (#751)

09-02 에 «상설화» 했다던 `calibration` phase(R6 rig 의 1워커 판 → scaling_1w.txt)는
저장소 루트 cwd 에서 `app.core` 를 못 찾아 어느 라운드에서도 값을 낸 적이 없다 —
loadtest/results/ 어디에도 scaling_1w.txt 가 없다(#750 이 확인). 從이라 라운드를 안
막았고 ⚠️ 한 줄만 남겨서 아무도 몰랐다.

고치는 대신 지운다. 고쳐도 그 phase 가 내는 값(1스레드 추론 fps)은 calibrate_box 의
infer 축과 같은 종류인데, 축 A(08-26)·축 B(09-14) 실측이 «그 축은 보정값이 못 된다»
고 답했다 — 처리량비를 설명하는 건 파이썬 루프 원속도(cpu 축, 3%p 안)이고 infer 축은
같은 부팅 안에서도 5~12% 흔들린다. 보정값은 이미 preflight 의 calibrate_box 와
ROLE=ai-venv bootstrap 이 calibration.tsv 로 남기고 있다.

  run_all.sh      CALIB_RIG·TIMEOUT_CALIB 변수, phase_calibration 함수, 디스패치 삭제.
                  옛 레시피(축 B rig 등)의 PHASES 에 `calibration` 이 남아 있어도 라운드가
                  안 막히게 ⏭ 한 줄 + PHASE_LOG SKIP 행으로 받는다
  aws/README.md   «보정값(從 R11)» 절을 calibrate_box 기준으로 다시 씀 — 산출물 두 자리,
                  cpu 축이 인용 축, P6 도커 손 명령은 더는 불필요. 설정 표에서 두 변수 제거
  AWS-RIDE-ALONG  R11 행 정정 — «phase 로 상설화(09-02)» 는 값을 낸 적이 없었다
  설계 §2         «R6 rig 1워커 판이 정확히 이것이다» 문단에 정정 블록 — 보정 정의 자체가
                  틀린 축이었다. #498 ③(R6 79.9 fps 를 왜 못 쓰나)의 이유가 여기 있다

bash -n 통과. 실 EC2 는 안 돌렸다 — 지운 것이라 다음 라운드의 PHASE_LOG 에 `calibration
SKIP` 이 찍히는지(옛 레시피 사용 시)와 calibration.tsv 가 preflight 에서 생기는지로 확인.


Claude-Session: https://claude.ai/code/session_016Ams2Xf6XxkBp8Qs7bUXuG

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Khyojae
Khyojae merged commit c096b1f into main Sep 15, 2026
2 checks passed
@Khyojae
Khyojae deleted the fix/rig-fresh-ec2-blockers branch September 15, 2026 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment