Skip to content

docs(e2e): web_fetch_get 이 https 만 받는다는 전제를 정정한다 (#129 완화) - #133

Closed
dlddu wants to merge 1 commit into
mainfrom
reconcile/rct_20260912-0011-session-platform-docs-impl
Closed

dlddu wants to merge 1 commit into
mainfrom
reconcile/rct_20260912-0011-session-platform-docs-impl

Conversation

@dlddu

@dlddu dlddu commented Sep 12, 2026

Copy link
Copy Markdown
Owner

#129validateFetchTarget 을 평문 http 까지 넓히면서, docs/test/e2e.md현재형으로 들고 있던 전제 「도구는 https 만 받는다」가 거짓이 됐다. #129 는 자기 축에서는 완결돼 있다(코드·docs/session-mcp-tool-surface.md 표·R4 산문·전용 테스트가 한 커밋에서 함께 움직였다) — 다만 한 글자도 만지지 않은 이 파일이 같은 사실을 반대로 적고 있었다. 이 PR 은 그 전제 문장만 고친다.

정합성 task: rct_20260912-0011 (tbm_session-platform-docs-impl, dlddu/reconciler)

무엇이 거짓이었나

validateFetchTarget 은 이제 이렇다(data-plane/cmd/agent/session_mcp_tools.go, 054aac9):

if parsed.Scheme != "https" && parsed.Scheme != "http" {
	return "", fmt.Errorf("url must be http or https, got %q", parsed.Scheme)
}

고친 두 자리 (docs/test/e2e.md, 둘 다 충실도 절)

무엇이 거짓이었나 어떻게 고쳤나
218<!-- fidelity:blockers -->FETCH-ORIGIN 『무엇이 막는가』가 「도구는 https 만 받는데(validateFetchTarget),」로 시작해 차단 논거의 첫 고리를 그 전제 위에 세운다 그 절을 걷고, 셀 끝에 ⚠️ 전제 정정(무엇이 언제 왜 거짓이 됐는지 + url must be http or https)과 인계 문장을 붙였다
243 — 모킹 예외 원장의 APPROVAL-GATEWAY 대조 괄호 「(https 강제는 도구의 대상 URL 쪽이다)」가 같은 전제를 현재형으로 재진술한다 괄호를 현재 사실(http·https 를 함께 받는다)로 고쳐 문장 끝으로 옮겼다. 그 행의 결론(게이트웨이 대역이 평문 HTTP 인 것은 의도다)은 그대로 선다

판정은 뒤집지 않았다. 평문 http 가 열렸으니 FETCH-ORIGIN 차단이 풀렸다고 단정하지 않는다 — 그 행의 판정(없음)·『해소 시』의 「남은 선택 셋」 재판정은 그 표의 ⚠️ 주석이 tbm_session-platform-e2e-mock-policy 에 귀속시킨 몫이다. 이 PR 이 적는 것은 그 재판정의 입력이 달라졌다는 사실까지다: 「인클러스터 원본은 https 여야 한다」는 고리가 끊기면서 검증할 인증서가 애초에 없는 평문 http 원본이 선택지에 들어왔다. 여전히 참인 나머지(MCP 컨테이너에 CA 를 넣을 자리가 없다 — helperPodSpec 의 env 6개)는 손대지 않았다.

판정·코드 위치·리터럴·소관·선행·재검토 시점 칸은 한 글자도 바뀌지 않는다.

검증

정적 게이트 4종을 CI 와 같은 명령으로 로컬 재현 — 전부 rc=0:

게이트 결과
python3 scripts/check-fidelity-allowlist.py rc=0 · 차단 요인 1건 … 착수 가능 0건(선행 없음 + 소관 '이 모델') — 정정 전과 동일
python3 scripts/check-render-fidelity.py rc=0
python3 scripts/check_comment_policy.py rc=0 (전체 지문 불변 — 주석 0줄 변경)
./scripts/e2e/check-scenario-mapping.sh rc=0 · 시나리오 37 = 매칭 27 + 예외 3 + 구현 대기 0 + 저작 대기 7 + 공백 0

fidelity 의 회계가 불변인 것이 「칸을 건드리지 않았다 = 판정을 뒤집지 않았다」의 기계적 증거다.

docs/** 만 만지므로 e2e.yml(kind SUT)은 path 필터에 걸리지 않아 돌지 않는다 — 체크 목록에 없는 것이 정상이다.

범위 밖 (의도적으로 남김)

같은 전제를 현재형으로 들고 있는 자리가 둘 더 있으나, 둘 다 실행 중인 자매 PR #127 의 열린 hunk 와 행 단위로 겹쳐 이 PR 에서 집지 않았다:

#127 이 착지하면 겹침이 사라지므로 후속 슬라이스가 그 둘을 집는다. docs/doc-tracker.md 의 날짜 붙은 변경 이력 행(2026-09-04 (3))은 그 시점의 스냅샷이라 거짓으로 세지 않으며, 새 이력 행도 더하지 않았다(#1272026-09-12 (5) 를 점유 중).

되돌리기

docs 1파일 +2/−2. 불가역 지점 0 — revert 커밋 하나로 원상 복구된다.

docs/test/e2e.md 의 두 자리가 validateFetchTarget 을 'https 만 받는다'로
현재형 단언하고 있었다. #129(054aac9)가 그 함수를 http·https 로 넓히면서
그 전제가 거짓이 됐고, 그 커밋은 이 파일을 만지지 않았다.

- 218행 FETCH-ORIGIN 차단 요인 행: 거짓 전제 절을 걷고, 전제 정정 사실과
  '재판정의 입력이 달라졌다'는 인계를 같은 셀에 남긴다. 판정/소관/선행/
  재검토 시점 칸은 건드리지 않는다 - 해소 방향 재판정은 이 hunk 의 몫이
  아니라 tbm_session-platform-e2e-mock-policy 의 몫이다.
- 243행 APPROVAL-GATEWAY 모킹 예외 행: 같은 전제를 재진술하던 대조 괄호를
  현재 사실로 고친다.

정합성 task: rct_20260912-0011
@dlddu-k3s-homelab-k3s-mcp

Copy link
Copy Markdown
Contributor

내용은 이미 main 에 있습니다 — 레코드만 열려 있어 닫습니다.

이 PR 이 넣는 2줄(docs/test/e2e.mdfidelity:blockers FETCH-ORIGIN 행과 APPROVAL-GATEWAY 행)은 ba67081 (docs(e2e): web_fetch_get 이 https 만 받는다는 전제를 정정한다 (#129 완화) (#133)) 으로 착지했고, 지금 main 에서 두 줄 모두 축자로 1건씩 확인했습니다. 실행자가 squash 커밋을 얹으면서 PR 레코드를 닫지 않은 형태입니다.

열어 두면 PR 상태를 신선도 판단에 쓰는 도구가 「아직 안 들어갔다」로 오독하므로 닫습니다. 브랜치 자체는 merge-base 가 419eb2e 로 낡아 main 대비 diff 가 크게 보이지만, 실제로 이 PR 이 도입하는 변경은 위 2줄뿐입니다.

reconciler tbm_session-platform-docs-impl / rct_20260913-0002 실행 단계에서, 그 계획의 executionGuide §4.3 이 실행자에게 지시한 정리입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant