fix(opencode): 샌드박스 시작 실패를 공급자 장애와 구분 - #1954
Conversation
샌드박스 판정과 공급자 오류를 구분하고 독립 취약점 보고를 보존한다. 기존 CI 작업에 실행 회귀 검증과 AGENTS 재발 방지 절차를 연결한다. Commit-Message-Assisted-by: Codex (OpenAI) Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
최종 head STRIX_TEST_PROCESS_TIMEOUT_SECONDS=3 STRIX_TEST_FAKE_SLEEP_SECONDS=5 bash scripts/ci/test_strix_quick_gate.sh
이는 셸 회귀 검증 영수증이며 실제 Strix 보안 스캔 성공이 아닙니다. 본문의 전체 Python 검사 11개 실패와 기존 actionlint/ShellCheck 진단은 그대로 남아 있습니다. Draft·미병합 상태를 유지합니다. |
|
Read-only exact-head RCA for the two current failures on
Neither source vulnerability nor dispatch authorization rejection is established. Both central runs exist at protected workflow source |
변경 내용
#1953의 후속 소비자 수정입니다. 해당 PR에서 추가한 샌드박스 시작 오류를 OpenCode가 게이트웨이 장애나 애플리케이션 취약점으로 잘못 보고하지 않도록 했습니다.
Strix 실행·재시도·모델 선택, Noema, 권한 허용 목록, 규칙 집합, 승인 정책은 수정하지 않습니다. 기존 일반 공급자 진단의 오래된 정책 문구를 전면 개편하는 작업도 이번 범위가 아닙니다.
소스와 검증
Head:
f45b44e4a7f9be76bf5122ba724dacbaa7facb10Base:
43024633eba9d96b0456970391360da5a171fbda(#1953 병합). 구현 커밋53added6뒤 최신 main을 일반 병합했으며 강제 push는 사용하지 않았습니다.테스트 먼저 진행했습니다. 최초 기능 반례 6개, CI 경로 누락 2개, 독립 검토의 같은 줄 복합 오류 2개가 각각 수정 전에 실패했습니다. 최종 새 회귀 테스트는 16/16 통과합니다.
최종 head에서 77 passed, 1 skipped, 1.57초입니다. 제외된 1개는 이 호스트에 LLVM 19 도구가 없는 경우의 기존 플랫폼 검사입니다.
bash -n과git diff --check는 통과했습니다. 독립 읽기 전용 검토의 같은 줄 신호 누락 지적을 재현·수정했고, 후속 소스 검토에서 추가 지적은 없었습니다. 이는 GitHub의 독립 승인 증거가 아닙니다.전체 검사는 실패 상태입니다
최종 head의
python -m pytest -q -W error와 같은 명령의GITHUB_ACTIONS=true실행은 각각 11 failed, 2933 passed, 1 skipped, 21 subtests passed입니다. 다섯 기존 테스트 파일의 동일 실패 11개를 수정 전fb2ae81dbeaacb0c630e51e9d772c6919fa220cf에서도 별도로 재현했습니다. Noema HTTP 응답 정리의 ResourceWarning 등이 포함되며, 기존 실패라는 이유로 통과 처리하거나 경고를 숨기지 않았습니다.전체 actionlint 검사도 실패했습니다. 기존 base와 후보의 진단 본문을 위치 정보만 정규화해 비교했으며 동일합니다: SC2012 1개, SC2016 25개, SC2129 1개, SC2221 1개, SC2222 1개. 주 셸 도구의 ShellCheck SC2016 진단도 base에 존재합니다. 린터를 끄거나 규칙을 추가로 제외하지 않았습니다.
이 검증은 기존 프로젝트 격리 Python 환경을 재사용했으므로 새 lock 설치 검증이 아닙니다. 실제 공급자 호출, 배포, 현재 head의 호스팅된 보안 검사 통과를 입증하지 않습니다. 전체 셸 회귀 검사의 최종 결과는 별도 댓글로 보완합니다.
JUnit SHA-256:
5ece5c53a69efda0f88b98201cf294dcd664ba221706901fb7ab287aa63f1d1358a02d2f5e9566d147690c329f9beb0d4cc647cdc14732b36d4aff85bc0f314bd484752329831625711dd00ad94988cd96409f3860cb862ea9bceab90a1534aeDraft를 유지합니다. 전체 실패와 기존 린터 진단을 해소하고, 변경되지 않은 정확한 head의 필수 검사와 독립 승인을 확인하기 전에는 병합하지 않습니다. 로컬 회귀 통과는 Strix 운영 복구나 조직 작업 적체 해소 완료를 뜻하지 않습니다.