Skip to content

소스 전수 조사 · 검증 체계 제안 · 워크플로우 도식 - #21

Merged
dongglehada merged 4 commits into
mainfrom
docs/architecture-survey
Aug 22, 2026
Merged

dongglehada merged 4 commits into
mainfrom
docs/architecture-survey

Conversation

@dongglehada

Copy link
Copy Markdown
Contributor

변경 사항

Swift 코드는 한 줄도 안 바꿨습니다. 소스 전체를 훑고, 앞으로 리팩터링을 논의할 때 쓸 문서를 만들고, 규칙을 넷 손봤습니다.

조사는 서브에이전트 넷을 병렬로 돌렸습니다(사용자 허가). 넷이 54만 토큰을 쓰고 요약만 돌려줬습니다 — 직접 읽었으면 그게 전부 본 컨텍스트에 쌓여서 이후 모든 턴이 다시 읽었을 겁니다. R9가 세 버전 연속 0%였던 이유와 그 해법이 여기 있습니다.

새 문서

문서 무엇이 있나
docs/architecture/CURRENT.md 지금 구조. 레이어별 현황, 결합이 센 다섯 곳, 품질 기준선 13개
docs/architecture/PATTERNS.md 쓸 수 있는 설계 13가지 비교 — 장단점·비용·되돌리기 난이도·적합도
docs/verification.md 검증을 넷으로 나누자는 제안. "테스트만으로는 왜 부족한가"
docs/review-criteria.md 사람이 봐야 하는 코드와 안 봐도 되는 코드
docs/workflow.md 프롬프트 하나가 도는 순서 도식 + 단계별 근거

조사에서 나온 것 중 가장 중요한 사실 하나를 적으면 이겁니다. 테스트를 쓸 수 있는 코드와 없는 코드가 이미 폴더로 갈려 있습니다 — 테스트 타깃이 Shared/만 컴파일하기 때문입니다. 그래서 어떤 패턴을 고르든 "테스트하려면 Shared/로 내려야 한다"가 먼저입니다. 새 레이어 이름을 붙일 필요가 없습니다.

새 도구 (초안이지만 실제로 돕니다)

  • tools/quality_baseline.py — 품질 기준선을 센다. 리팩터링 전후 비교용
  • tools/artifact_check.sh — entitlements·plist·앱과 위젯 버전 일치 검사

두 번째 것은 v1.3.0에서 사람이 잡은 버그 두 개를 커밋 시점에 잡았을 도구입니다.

규칙 변경

내용 왜
R1 확장 고친 뒤 증상이 똑같으면 다음 가설 전에 그 코드가 도는지부터 확인 스와이프 삭제를 세 번 연속 헛짚었다
R2 단서 예외를 썼으면 무엇을 얻었는지 PR에 적는다 PR 스크린샷 예외가 실제 버그를 잡았다. 목표 0을 기계적으로 밀 수 없다
R9 개정 조사·감사·전수 훑기는 묻지 않고 위임 "사용자 요청 시에만"이 규칙의 실행 자체를 막고 있었다
R11 신설 진단용 코드는 // TEMP: 표식 달고 커밋 전에 걷는다 탐침 하나가 커밋될 뻔했다

문서 모순 정리

조사가 찾아낸 것들입니다. 테스트 개수(108 → 112), README의 CI 설명(Catalyst 누락), report 스킬의 낡은 R9 기록 자리, RELEASING의 PATCH 절 이름, BACKLOG의 TEST_HOST 오기와 이미 해소된 수출 규정 항목.

스크린샷 / 영상

UI 변경 없음.

체크리스트

  • 빌드 통과 — Swift 변경이 없어 빌드를 다시 돌리지 않았습니다. 직전 커밋(V1.3.0)에서 세 타깃 전부 통과했습니다
  • 관련 테스트 통과 — 112건 (직전 실행). 이 PR은 코드가 없어 새 테스트도 없습니다
  • 화면 확인 필요 없음
  • 불필요한 로그/주석 제거 — tools/quality_baseline.py로 // TEMP: 0건 확인

확인한 것

  • 새 스크립트 둘을 실제로 돌려서 결과를 확인했습니다. artifact_check.sh는 서명된 Catalyst 산출물까지 검사해 통과했습니다.
  • 그 과정에서 BACKLOG가 틀렸다는 것을 발견했습니다 — 수출 규정 키가 이미 들어가 있었습니다. [x]로 고쳤습니다.
  • 문서에 적은 숫자는 전부 스크립트나 조사 결과에서 가져왔고, 사람이 센 값과 스크립트가 센 값이 다른 항목은 둘 다 적고 왜 다른지 밝혔습니다.

위임했으면 쌌을 곳

이번엔 실제로 위임했습니다. 네 갈래(Features / Shared / Common·위젯 / 워크플로우·하네스)로 나눠 병렬로 돌렸고, 실측은 .claude/agents/README.md에 적었습니다.

다음에 더 위임할 만한 곳: 문서 모순 찾기. 이번엔 워크플로우 조사에 얹어서 했는데, 그것만 따로 도는 감사 에이전트가 있으면 매 릴리스에 돌릴 수 있습니다.

관련 이슈

없음 (V1.3.0 후속)

dongglehada and others added 4 commits August 22, 2026 06:14
소스 전체(106파일 13,964줄)를 네 갈래로 나눠 조사하고, 그 결과로 앞으로의 논의에
쓸 문서를 만들었다. 조사는 서브에이전트 넷을 병렬로 돌렸고 54만 토큰을 썼는데
요약만 돌아왔다 — 직접 읽었으면 그게 전부 본 컨텍스트에 쌓였을 것이다.

새 문서
- docs/architecture/CURRENT.md — 지금 구조. 레이어별 현황, 결합이 센 다섯 곳,
  품질 기준선 13개. 가장 중요한 사실은 "테스트를 쓸 수 있는 코드와 없는 코드가
  이미 폴더로 갈려 있다"는 것 (테스트 타깃이 Shared/만 컴파일한다)
- docs/architecture/PATTERNS.md — 쓸 수 있는 설계 13가지를 장단점·비용·되돌리기
  난이도·적합도로 비교. 결정은 안 했다
- docs/verification.md — 검증을 넷으로 나누자는 제안(기능·계약·환경·품질)과
  "테스트 코드만으로는 왜 부족한가". v1.3.0에서 잡힌 버그 넷 중 테스트로 잡을 수
  있었던 것이 0개다
- docs/review-criteria.md — 사람이 봐야 하는 코드와 안 봐도 되는 코드. 두 축은
  "기계가 말해주나"와 "되돌리기 쉬운가"
- docs/workflow.md — 프롬프트 하나가 어떤 순서로 도는지 도식 + 단계별 근거,
  그리고 근거가 없는 칸 여섯 개

새 도구 (초안이지만 실제로 돈다)
- tools/quality_baseline.py — 품질 기준선을 센다. 리팩터링 전후 비교용
- tools/artifact_check.sh — entitlements·plist·앱과 위젯 버전 일치 검사.
  v1.3.0의 버그 두 개를 이것 하나가 잡았을 것이다
- .claude/agents/ — surveyor·test-author 정의와 근거. 쓸지는 아직 안 정했다

규칙
- R1 확장: 고친 뒤 증상이 똑같으면 다음 가설 전에 그 코드가 도는지부터 확인한다
- R2 단서: 예외를 썼으면 무엇을 얻었는지 PR에 적는다
- R9 개정: 조사·감사·전수 훑기는 묻지 않고 위임한다. "사용자 요청 시에만"이
  규칙의 실행 자체를 막고 있었다 (M14가 3버전 연속 0%)
- R11 신설: 진단용 코드는 // TEMP: 표식을 달고 커밋 전에 걷는다

문서 모순 정리 — 테스트 개수(108→112), README의 CI 설명(Catalyst 누락),
report 스킬의 낡은 R9 기록 자리, RELEASING의 PATCH 절 이름, BACKLOG의
TEST_HOST 오기와 이미 해소된 수출 규정 항목.

Swift 코드는 한 줄도 안 바꿨다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
위험이 낮은 것부터 다섯 단계로 나눴다. 1단계는 코드를 한 줄도 안 옮기고
이미 Shared/에 있는데 테스트가 없는 아홉 개에 테스트만 붙이는 것이다 —
위험이 0이고, 그것만으로 다음 단계가 훨씬 안전해진다.

지표 정의에 M16·M17·M18을 추가하고, 고쳐야 하는 정의 넷(M15·M6·M11·M4)을
표로 적었다. 넷 다 v1.3.0에서 "지표가 규칙과 다른 것을 본다"가 드러난 것들이다.

백로그에 권한 파일 정리를 넣었다 — AI가 자기 권한 파일을 못 고치므로
사람이 해야 하는 항목이다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 요청이다. 이 프로젝트의 문서는 남에게 보여주는 산출물이 아니라
다음 세션의 사람과 AI가 읽는 것이다. 한 번 읽고 이해가 안 되면 안 읽히고,
안 읽히는 규범은 규칙으로 작동하지 않는다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
조사 결과를 읽고 고를 수 있게 한 장으로 정리했다. 세 부분이다 —
알고 있어야 하는 것(결정이 아닌 사실), 결정해야 하는 것 여섯, 지금은
안 정해도 되는 것.

결정마다 선택지·장단점·권고·언제 정해야 하는지를 붙였고, 아무것도
안 했을 때 무엇이 쌓이는지도 적었다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dongglehada
dongglehada merged commit 9450657 into main Aug 22, 2026
1 check passed
@dongglehada
dongglehada deleted the docs/architecture-survey branch August 22, 2026 11:05
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