docs(test): 시나리오 ↔ e2e 매칭 공간을 Playwright 단독으로 축소, 유예 표로 통합 - #132
Merged
dlddu-k3s-homelab-k3s-mcp[bot] merged 1 commit intoSep 12, 2026
Merged
dlddu-k3s-homelab-k3s-mcp[bot] merged 1 commit into
dlddu-k3s-homelab-k3s-mcp[bot] merged 1 commit into
Conversation
시나리오 ↔ e2e 매칭 단위를 `control-plane/test/e2e_*_test.go` + `web/e2e/*.spec.ts`
합집합에서 **web/e2e 최상위 *.spec.ts 단독**으로 좁힌다. 정합성 모델
tbm_session-platform-scenario-e2e 의 2026-09-12 개정에 맞춘 등재 이관이다.
등재 구조
- 「구현 대기」·「저작 대기」 두 표를 「유예」 하나로 합쳤다. 둘은 사유가 다를 뿐
답하는 질문("지금 매칭 파일을 둘 수 없다")이 같다 — 사유를 표의 칸으로 내리면
표 하나로 족하고, 세 표 사이의 3중 겹침 검사도 한 쌍으로 줄어든다.
- 유예 34행 = 이관 27(Go 가 검증을 들고 있음) + 미저작 7(개정 전 저작 대기).
어느 쪽인지는 `현행 대체 검증` 칸이 말한다 — 채워져 있으면 이관, `없음`이면 미저작.
- 불변식: (시나리오 - 예외 - 유예) = (매칭 파일 + 공백). 37 = 0 + 3 + 34 + 0.
Go 선언의 지위 변경 (규칙 6)
- control-plane/test 의 `// 검증 시나리오:` 헤더는 **그대로 둔다.** 다만 이제
매핑이 아니라 그 시나리오의 **현행 대체 검증** 선언이다.
- 게이트가 그 선언과 유예 표의 `현행 대체 검증` 칸을 diff 로 대조한다. 선언이
낡아도, 표가 낡아도 빨개진다. 지우는 편보다 정보가 남고 검사가 강하다.
여정 spec
- web/e2e/journeys/** 는 계속 매칭 단위 밖이지만 사유가 바뀌었다. 「주검증을 더
날카로운 Go 파일이 소유한다」는 매칭 공간 축소로 소멸했고, 이제 이들은 승격
재료다 — 유예 행을 집을 때 규칙 2 에 맞춰 시나리오 단위로 쪼개 최상위로 올린다.
게이트: rc=0 (37 = 0 + 3 + 34 + 0). 주석 원장·충실도 허용목록·gofmt 무영향.
dlddu-k3s-homelab-k3s-mcp
Bot
deleted the
reconcile/playwright-single-matching-space
branch
September 12, 2026 13:35
dlddu
pushed a commit
that referenced
this pull request
Sep 13, 2026
#132(b772cb3)가 `docs/test/e2e.md` 의 시나리오↔e2e 매핑 표를 **Playwright 단독으로 축소**하면서 Go 행 전체를 유예 표로 옮겼고(-286/+196), 같은 PR 이 `scripts/e2e/check-scenario-mapping.sh` 도 다시 썼다. #134 는 이 브랜치와 무관한 파일만 건드린다. 해소: 충돌은 `docs/test/e2e.md` 한 파일 · 매핑 블록 한 곳뿐이다. - 매핑 블록은 **main 판(빈 표)을 그대로 취했다** — 이 브랜치가 고치려던 「시나리오 7」 행이 #132 로 **표에서 사라져** 고칠 대상이 없다. - 나머지 4개 hunk(AC-F4 규범 갱신 · AC-F5 후반 착지 · 이유 (2) 해소 · 「남은 미검증 분기」 두 행 제거)는 충돌 없이 그대로 산다. 증거: 매핑 게이트 출력이 main 과 **바이트 동일**(매핑 축 무접촉). 코드 8파일은 이 머지로 한 바이트도 움직이지 않았다. 정적 게이트 4종 rc=0, 양 모듈 gofmt/vet(3태그)/test rc=0.
This was referenced Sep 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
정합성 모델
tbm_session-platform-scenario-e2e가 2026-09-12 에 매칭 공간을 Playwright 단독으로 좁혔다. 이 PR 은 그 개정을 등재 SSOT(docs/test/e2e.md)와 게이트에 반영한다. 테스트 코드는 한 줄도 바뀌지 않는다 — 등재와 검사만 옮긴다.매칭 단위
control-plane/test/e2e_*_test.go)web/e2e/*.spec.ts, 최상위)「구현 대기」 + 「저작 대기」 → 「유예」
두 표는 사유가 다를 뿐 답하는 질문이 같다 — "지금 매칭 파일을 둘 수 없다". 사유를 표의 칸으로 내리면 표 하나로 족하고, 세 표 사이의 3중 겹침 검사도 한 쌍으로 줄어든다.
유예 34행의 구성:
현행 대체 검증칸이 그 파일을 지목한다. 그중 8행은 pod 파일시스템·프로세스 트리·remotecommandexec 의존이라 브라우저로도 HTTP 로도 관측되지 않는다 — 예외 전환 후보로 표시했고, 어느 쪽인지는 그 행을 집는 슬라이스가 판정한다.현행 대체 검증은없음. 선행·근거 칸은 그대로 옮겼다.불변식:
(시나리오 − 예외 − 유예) = (매칭 파일 + 공백)→ 37 = 0 + 3 + 34 + 0.현행 대체 검증칸이 채워져 있으면 이관,없음이면 미저작이다. 이관 27 은 커버리지 구멍이 아니다 — 검증은 돌고 있고 매칭 공간 밖에 있을 뿐이라, 해제는 새 검증을 발명하는 일이 아니라 옮겨 적는 일이다.Go 헤더 선언의 지위 (규칙 6)
control-plane/test의// 검증 시나리오:헤더를 지우지 않았다. 이제 매핑이 아니라 그 시나리오의 현행 대체 검증 선언이고, 게이트가 선언과 유예 표의현행 대체 검증칸을 diff 로 대조한다.처음에는 헤더를 지우는 쪽으로 짰다가 되돌렸다. 29줄을 지우면 주석 판정 원장(
docs/comment-policy/ledger.md)의 행 6개가 어긋나 재판정이 필요한데, 그 원장은 자매 모델 소관이고 PR #127 이 같은 파일을 건드리는 중이라 3자 충돌이 된다. 대조 방식은 그 충돌을 피하면서 정보도 남기고 검사도 더 강하다 — 선언이 낡아도, 표가 낡아도 빨개진다.음성 테스트 2건으로 확인했다: 표의 경로를 틀리게 바꾸면 diff 가 잡고, 유예 행을 지우면 대조·집계·공백 셋이 동시에 빨개진다.
여정 spec
web/e2e/journeys/**는 계속 매칭 단위 밖이지만 사유가 바뀌었다. 개정 전 사유는 「각 시나리오의 주검증은 더 날카로운 Go 파일이 소유하므로 중복을 피한다」였고, 그 사유는 매칭 공간 축소로 소멸했다. 이제 이들은 승격 재료다 — 유예 행을 집을 때 규칙 2(파일 1개 = 시나리오 1개)에 맞춰 시나리오 단위로 쪼개 최상위로 올리고, 내용이 다 빠져나가면 그 파일을 제거한다. 어느 행이 어느 여정 spec 을 재료로 삼는지는 유예 표의근거칸이 지목한다(j3·j5·j6-stream-recovery·session-deletion 5행).게이트
로컬 전수 실행 —
check-scenario-mapping.shrc=0,check_comment_policy.pyrc=0,check-fidelity-allowlist.pyrc=0,gofmt -l빈 출력. Go 파일 미변경이라go vet계열은 무영향이다.범위 밖
tbm_session-platform-e2e-mock-policy도 Go 스위트를 참조한다. 별도 개정이 필요하며 이 PR 에 넣지 않았다.