Repository navigation
[DONE] 정리 4단계를 PR 스물넷으로 나눈 계획서 — 같이 열릴 수 있는 PR 끼리는 파일이 안 겹친다 - #21
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SG78HSjf3bAZr3jNp6Jr4L
Splits rfc-cleanup.md §2.6 so no two PRs that can be open together edit the same file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SG78HSjf3bAZr3jNp6Jr4L
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SG78HSjf3bAZr3jNp6Jr4L
patternflow-bot
marked this pull request as ready for review
October 14, 2026 23:55
8 tasks done
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.
dev / https://claude.ai/code/session_01SG78HSjf3bAZr3jNp6Jr4L
정리 4단계(계약 벡터 다섯과 가상 패널)를 정찰해서 PR 스물넷으로 나눈 계획서를 썼다. 머지하면 k1(가이드의
DeviceSim보강)과 k2(가상 패널 뼈대)를 바로 맡길 수 있고, 둘이 머지되면 REST 부터 전송마다 갈래가 열린다. 정찰해 보니 RFC 가 말한web/src/lib/harness/는 없고 가이드의DeviceSim이 이미 펌웨어 규칙을 흉내 내고 있어서, 가상 패널은 그 위에 소켓을 붙이는 꼴로 잡았다.좋아지는 것: 없음
체크리스트
docs/rfc-cleanup.md§2.6 · §2.1 · §2.8–§2.13 과 §2.13 답 읽기docs/voice.md는 일하는 사이 dev 에 들어와([DONE] 영어는 README·조립 가이드 글투로, 한국어는 번역체를 피하는 기준으로 한 쪽에 적고, 쓰지 않는 말은 따로 목록으로 둔다 #18) merge 해서 그대로 따랐다DeviceSim, 포트, 의존성, 프리셋, CIdocs/investigations/2026-10-cleanup-step4-plan.md: 맨 위 표에 k · 고칠 파일 · 먼저 머지될 k · §2.13 번호docs/rfc-cleanup-progress.md표의 4단계 줄을 planned 와 계획서 링크로e3b977f, [DONE] 영어는 README·조립 가이드 글투로, 한국어는 번역체를 피하는 기준으로 한 쪽에 적고, 쓰지 않는 말은 따로 목록으로 둔다 #18 이 들어옴. 마지막 fetch 에서 Already up to date)한 일
docs/investigations/2026-10-cleanup-step4-plan.md(영어 295줄, 2·3단계 계획과 같은 꼴). 구현은 하지 않았다.DeviceSim에 소켓이 읽고 쓸 것(버스·레인 값, 손이 아닌 노브 움직임, 채널·레인 하나 풀기), k2 가상 패널 뼈대(start(), 수동 시계,/frame.png,/vp/*고정 경로, 전송을 붙이는 이음매, npm 이름 전부), k3 벡터 형식과 재생 라이브러리check:rest-vectorscheck:virtual-panel: 펌웨어 프리셋 34개가 가상 패널에서 예외 없이 돈다(calib은FIRMWARE_ONLY)AGENTS.md, k22 트리 지도 문서, k23 스펙이 스스로 어긋난 줄 고치기(창작자가 정한 줄만), k24 4단계 닫기check:ci와.github/는 아무도 안 고친다. 2단계 k1 러너가web/scripts/drift/의 파일을 저절로 돌리고, 2단계 k10 워크플로가 모든 PR 에서 엄격하게 돌린다.web/package.json은 k2 가 이름을 한 번에 다 넣고 뒤 PR 은 안 건드린다web/src/lib/harness/는 없다. 패턴은web/src/lib/pattern/harness.ts의PatternRuntime에서 돌고, 가이드의DeviceSim이 버스(클릭당 10, 250 ms 유예)·레인(500 ms 해제, 손 5초)·잠자기·선택을 이미 흉내 낸다. 다만 버스·레인 값을 밖에 안 보이고, 노브를 움직이는 길은 「손」(turn) 하나다/api/status의knobs는 손으로 돌린 클릭만 센다(patternflow.ino:1214). OSC 델타, MIDI CC 24–27, MQTTknob/N, 오디오d=는 거기 안 보인다. 그래서 벡터가 「패턴이 받은 것」을 읽는 고정 경로(/vp/state)를 따로 둔다rest-api.md가 스스로 어긋나는 곳이 여덟(HTTP 로 노브를 못 쓴다 vsPOST /api/params, select 가 바뀌기 전 상태를 준다 vs 예시, 오류는 JSON vs 일반 텍스트 404 등). 벡터는 그 경로를 정의한 절을 따른다param이 250 ms 안엔 안 풀림, 오디오a=-0.5가 다음 레인으로 밀림, 5초 손 붙잡기가 손 말고 모든 델타에 걸림 등. 벡터는 스펙대로, 차이는 PR 마다 「for an issue」 로http·dgram·net·crypto·zlib로 다섯 전송과 PNG 를 쓴다. lockfile 에ws는 다른 패키지가 끌고 온 것뿐이다26. 벡터 PR 이 찾은 펌웨어 차이를 누가 이슈로 여나(기본: 창작자가 PR 목록으로 원래 레포에) · 27. 스펙이 스스로 어긋나면 그 경로의 절이 이기나(기본: 예, k23 이 다른 줄을 고침) · 28. 5초 손 붙잡기: 스펙은 손, 펌웨어는 모든 델타(기본: 이슈, 스펙 유지) · 29. 같은 벡터를 실제 패널에도 돌릴까(기본: 이번 단계엔 안 함)
증거
web/src무변경이라 §2.1 의 빌드 · 웹 명령은 해당 없다.실행법
계획서만 있는 PR 이라 돌릴 것이 없다. 읽을 곳은
docs/investigations/2026-10-cleanup-step4-plan.md맨 위 「The PRs」 표다. 3단계가 닫히면(§2.12) 총괄이 k1·k2 를 먼저 맡긴다. k2 가 머지되면 k3·k5, 둘 다 머지되면 k4·k9·k13·k15·k19 가 열린다. 그 뒤엔 「merges after」 가 다 머지된 줄을 다섯 개 안에서 맡기면 된다.가정
/frame.png(k2), 다섯 전송(k4·k5, k9·k10, k13, k15·k16, k19), 하네스를 쓴다(k1, D1), 프리셋 전부 돌기(k8), 다른 크기는 §2.7 에서 한 줄(D1), 펌웨어 차이는 이슈(D9, 질문 26), 「done when」과 §2.12 셋째 관문 확인(k24). §2.13 답 3(REST 먼저)은 순서와 k4–k7 의 번호로, 답 4(메이저 업데이트 안 함)는 이 단계가 의존성을 아예 안 더하는 것(D2)으로 지켰다.web/src/lib/harness/는 없어서 실제 하네스(PatternRuntime)와DeviceSim을 쓰기로 했다. 그 폴더를 새로 만들거나 옮기지 않는다.CHANGELOG.md는 고치는 PR 이 없다. 각 PR 의 변경 줄은 본문## Changelog로 간다.AGENTS.md는 k21 하나만..github/는 고칠 일이 없어서 줄이 없다(2단계drift.yml이 모든 PR 에서 돈다).rN, 실수 반올림 규칙)엔 벡터를 안 만든다.docs/voice.md가 일하는 사이 dev 에 들어와([DONE] 영어는 README·조립 가이드 글투로, 한국어는 번역체를 피하는 기준으로 한 쪽에 적고, 쓰지 않는 말은 따로 목록으로 둔다 #18) merge 하고 그 글투를 따랐다: 절 사이 대시 없음, 금지어 없음, 굵은 글씨 없음, 여는 말·맺는 말 없음. 창작자는 대명사 없이 「the maintainer」, 질문의 기본값에서만 「you」.docs/investigations/의 다른 기록이 영어다.Changelog
Docs
docs/investigations/2026-10-cleanup-step4-plan.mdcuts §2.6 into twenty-four PRs, no two of which edit a file while both can be open, and records what scouting found: the virtual panel can be the guide'sDeviceSimbehind sockets,/api/statusshows no knob delta that arrives over OSC, MIDI, MQTT or the audio socket, andrest-api.mdcontradicts itself in eight places a vector has to choose between.🤖 Generated with Claude Code
https://claude.ai/code/session_01SG78HSjf3bAZr3jNp6Jr4L