8000 docs: 세븐일레븐 실행 런타임 복구 절차 by hmmhmmhm · Pull Request #250 · hmmhmmhm/daiso-mcp · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion docs/seveneleven-stock-recovery-20261008.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,23 @@ CU·GS25·세븐일레븐 공통 중계 예산은 분당 69회, 일당 100,000

`tests/services/seveneleven/inventory-bounded.test.ts`는 직접·중계 단일 점포 호출,
거리순 제한, 0·미확인 구분, 개별 실패 보존, 직접·중계 429 중단을 검증합니다.
이 문서는 로컬 코드 복구를 기록하며 운영 배포나 운영 호출의 추가 성공을 주장하지 않습니다.

## Mac 실행 런타임에 따른 403·502

같은 Mac, URL, 본문, 모바일 헤더로 비교했을 때 Node 24.15.0은 HTTP 403과
Incapsula HTML을 반환했으며, Node 25.9.0은 HTTP 200 JSON을 반환했습니다.
설치된 중계 검증기에 정상 JSON을 넣으면 200이므로 이 장애는 응답 스키마 불일치가
아니었습니다. 실행 버전에 따른 접근 차이는 확인했지만 TLS 지문 등 내부 차단 원인은
확정하지 않았습니다. 원본 HTML은 정상 재고로 해석하지 않으며 중계의 502로 전달됩니다.

복구 시 셸의 `node --version`만 확인하지 말고 LaunchAgent `ProgramArguments[0]`의
실행 파일로 같은 요청을 확인합니다. 인증·원장·환경 파일을 보존하고 plist를 백업한 뒤,
검증된 실행 파일로 변경합니다. 운영은 Node 25.9.0으로 바꾼 뒤 공개 재고 응답에서
`stockAvailable: true`, `stockError: null`을 확인했습니다. 이는 점검 시점의 결과이며
향후에도 특정 버전이 항상 허용된다는 뜻은 아닙니다.

변경 전 새 실행 파일로 중계 모듈을 로드해 호환성을 확인합니다. launchd는 `bootout`
후 기존 프로세스가 종료되기 전에 `bootstrap`하면 일시적으로 오류 5를 반환할 수
있습니다. 종료 상태를 확인하고 재등록한 다음 건강 응답과 CU·GS25·세븐일레븐·CGV를
확인합니다. 건강 응답 200만으로 외부 재고 성공을 판단하지 않습니다. 실행 파일이
패키지 관리자 갱신으로 사라지지 않도록 경로와 버전을 운영 기록에 남깁니다.
Loading
0