9차 D-1 N1(고르기 한 번이 안 남아 "남은 충돌 1개" 로 멈춤)을 앱 안 임시 로그 (커밋하지 않고 잰 뒤 되돌림)와 함께 되풀이했다. - 61회 · 누름 366번: 병합 · cherry-pick × 9차 간격(1.0/1.3초) · 0.1초 - 끝나지 않은 회차 0, 꺼져 있던 누름 0 - 앱 로그 Take 372번 모두 정할 필요가 있는 충돌 줄에서 시작, 남은 충돌이 매번 하나씩 줆(헛돈 0) - Take 뒤 [다음 충돌] 처리 전에는 Take 단추가 꺼져 있다. 9차 시험 도구가 "꺼져서 안 누름"(Click 의 False)을 버린 것으로 보인다 - 시험 도구를 고침(scratch) 제품 코드 변경 없음. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
56 lines
4.5 KiB
Markdown
56 lines
4.5 KiB
Markdown
# 10차 진행 기록 (2026-09-17 ~)
|
|
|
|
지시서: [../작업지시/10차.md](../작업지시/10차.md)
|
|
|
|
## A-1. 네 칸에서 충돌을 차례로 고르는데 한 번이 남지 않아 "남은 충돌 1개" 로 멈췄다 (2026-09-17, 완료 · 고치지 않음)
|
|
|
|
**61번 되풀이해도 다시 나지 않았다.** 앱은 누른 것을 모두 받아 처리했다. 짚이는 원인은 시험 도구 쪽이라 제품 코드는 바꾸지 않았고, 시험 도구를 고쳤다.
|
|
|
|
### 무엇으로 쟀나
|
|
|
|
- 앱에 **임시 로그**를 넣었다(`[A1측정]`, 잰 뒤 `git checkout` 으로 되돌리고 다시 빌드 — 남은 줄 0 · 경고 0 · 오류 0).
|
|
[다음 충돌] 이 불릴 때 캐럿 · 고른 줄 · 옮겨 간 줄, Take Mine / Theirs 가 불릴 때 고른 줄(충돌인지 · 정할 필요가 있는지 · 주석 줄인지) · 남은 충돌 수(전 · 후),
|
|
그리고 Take 단추가 꺼지는 순간(CanExecute 가 거짓)의 고른 줄.
|
|
- 되풀이 스크립트(`d10-a1.ps1`): 새 저장소 → 병합 또는 cherry-pick([모든 브랜치]) → `Motion/Unit0.cs` 와 `Weld/Unit1.cs`(둘 다 충돌 6개)를 **편집을 버리고 번갈아 다시 열며**
|
|
[다음 충돌] → Take Theirs / Take Mine 번갈아 여섯 번. 누르기 직전에 단추가 켜져 있었는지를 적고(꺼져 있으면 누르지 않고 "꺼짐"), 앱 로그로 Take 가 몇 번 불렸는지 센다.
|
|
- 누름 간격 두 가지: **9차와 같은 간격**(다음 충돌 뒤 1.0초 · Take 뒤 1.3초 — 9차 `Click` 의 0.6초 대기 포함) · **0.1초**(사람이 빠르게 누르는 쪽).
|
|
|
|
### 결과
|
|
|
|
| 묶음 | 되풀이 | 누름(다음 충돌 · Take) | 앱이 받은 Take | 끝나지 않은 회차 | 꺼져 있던 누름 |
|
|
|---|---|---|---|---|---|
|
|
| 병합 · 9차 간격 | 7 + 14 = 21 | 126 · 126 | 126 | 0 | 0 |
|
|
| 병합 · 0.1초 | 20 | 120 · 120 | 120 | 0 | 0 |
|
|
| cherry-pick · 9차 간격 | 10 | 60 · 60 | 60 | 0 | 0 |
|
|
| cherry-pick · 0.1초 | 10 | 60 · 60 | 60 | 0 | 0 |
|
|
| **합계** | **61** | 366 · 366 | **366** | **0** | **0** |
|
|
|
|
앱 로그 전체(시작 표시 62개 · 첫 병합 묶음 8회차는 고르기 뒤 자동 조작 오류로 끊김 — 아래):
|
|
|
|
| 확인 | 값 |
|
|
|---|---|
|
|
| Take 시작 · 끝 | 372 · 372 |
|
|
| 충돌이 아닌 줄(정할 필요 없음 · 주석 줄)에서 시작한 Take — **헛돈 Take** | **0** |
|
|
| Take 한 번에 남은 충돌이 정확히 하나 줄지 않은 것 | **0 / 372** |
|
|
| [다음 충돌] 이 정할 필요가 없는 줄로 간 것 | 0 / 372 |
|
|
|
|
### 알게 된 것
|
|
|
|
- **Take 처리 중에 고른 줄이 잠깐 바뀐다.** Take Theirs 는 주석 줄을 끼워 넣고 편집기 글을 다시 채우는데, 그 사이 고른 줄이 다음 행 → 0행 → 끼워 넣은 주석 줄로 옮겨 가며
|
|
Take 단추가 꺼진다(로그 "CanTakeTheirs=false sel=0"). 모두 **한 번의 명령 실행 안에서** 일어나서(시작 · 끝 기록 사이) 다른 누름이 끼어들 틈은 없다.
|
|
끝나면 고른 줄은 주석 줄이라 Take 두 단추가 꺼진 채로 있고, [다음 충돌] 을 눌러야 다시 켜진다.
|
|
- 그래서 **Take 뒤 [다음 충돌] 이 처리되기 전에 Take 단추를 보면 꺼져 있다.** 9차 시험 도구의 `Click` 은 단추가 그 순간 꺼져 있으면 **누르지 않고 False 를 돌려주는데,
|
|
9차 스크립트(`ResolveAll`)는 그 값을 버렸다.** 기계가 바빠 [다음 충돌] 처리가 늦으면 고르기 한 번이 말없이 빠진다 — 9차 D-1 N1 의 "로그 10줄 · 남은 충돌 1개" 와 모양이 같다.
|
|
사람이 누르면 흐린 단추를 누른 것이라 아무 일도 안 일어난 것이 보이고, "남은 충돌 1개" 와 [다음 충돌] 로 남은 곳을 찾는다.
|
|
- 9차 첫 회차는 앱 로그가 없어 이것이 원인이었다고 **확정하지는 못했다.** 다만 앱 쪽에서는 61회 동안 누름을 놓치거나 헛돈 적이 없다.
|
|
|
|
### 고친 것 (시험 도구)
|
|
|
|
- `d7lib.ps1` `ResolveAll` — Take 누름이 꺼져 있어 안 눌리면 1.2초 기다렸다 한 번 더 누르고, 그래도 안 되면 결과에 "(못 누름)" 을 남긴다. 말없이 빠지지 않는다.
|
|
- 제품 코드 변경 없음. 하네스는 그대로(22벌 1,122건).
|
|
|
|
### 시험 도구 쪽 (제품 결함 아님)
|
|
|
|
- 첫 병합 · 9차 간격 묶음이 8회차에서 UI 자동화 조회 오류(`ElementNotAvailableException`, 화면 요소 훑기 중)로 끊겼다. 모자란 만큼 14회를 더 돌렸다.
|
|
- 되풀이 스크립트 매개변수 `$Tag` 가 `WithSettings` 의 `$tag` 와 겹쳐(PowerShell 은 대소문자를 가리지 않는다) `$Label` 로 바꿨다 — 9차 A-2 와 같은 실수.
|