releasedock

요약. releasedock: 자율 개선 회차 17회, 릴리즈 14건. 최근 릴리즈 v0.5.15 (자산 2개). 건강 C 14일: 릴리즈 14, 실패 0, 경고 2, 회귀 1

현황

저장소
https://github.com/hkjang/releasedock
마지막 회차
2026-09-10 15:54 KST — 🚀 릴리즈 merged PR #16, released v0.5.15
최근 릴리즈
v0.5.15 — released · 자산 2개 (이전 v0.5.14: 2개) 전체 릴리즈 →

회차 이력

일시프로젝트결과
2026-09-10 15:54releasedock배포 준비 완료 merged PR #16, released v0.5.15
5파일 +229/−47 · 테스트 2 — fix: keep the blank lines a deployment script printed in the run log
2026-09-10 01:17releasedock배포 준비 완료 merged PR #15, released v0.5.14
2파일 +180/−2 · 테스트 1 — fix: stop reporting every failed run insert as a busy target
2026-09-09 12:14releasedock배포 준비 완료 merged PR #14, released v0.5.13
6파일 +414/−7 · 테스트 2 — feat: show the other packages of the same upload on the run screen
2026-09-09 11:02releasedock배포 준비 완료 merged PR #13, released v0.5.12
4파일 +387/−21 · 테스트 2 — fix: write the uploaded package straight to its target directory
2026-09-09 02:46releasedock배포 준비 완료 merged PR #12, released v0.5.11
4파일 +138/−12 · 테스트 1 — fix: say when the run log view is cut short, and stop it rewinding to the first line
2026-09-08 22:07releasedock배포 준비 완료 merged PR #11, released v0.5.10
3파일 +239/−5 · 테스트 1 — fix: name the downloaded run log and say when it is cut short
2026-09-07 03:54releasedock배포 준비 완료 merged PR #10, released v0.5.9
10파일 +175/−13 · 테스트 1 — chore: release v0.5.9
2026-09-06 18:27releasedock검토 대기 guarded files, PR open PR #9
17파일 +156/−28 · 테스트 4 — chore: release v0.5.9
2026-09-05 06:55releasedock배포 준비 완료 merged PR #8, released v0.5.8
2026-09-04 14:58releasedock배포 준비 완료 merged PR #7, released v0.5.7
2026-09-04 14:39releasedock배포 준비 완료 merged PR #6, released v0.5.6
2026-09-04 00:33releasedock변경 없음 no change
2026-09-03 17:03releasedock배포 준비 완료 merged PR #5, released v0.5.5
2026-09-03 10:05releasedock병합 완료 merged PR #4, release missing
2026-09-03 04:36releasedock배포 준비 완료 merged PR #3, released v0.5.3
2026-09-02 22:19releasedock배포 준비 완료 merged PR #2, released v0.5.2
2026-09-02 16:07releasedock배포 준비 완료 merged PR #1, released v0.5.1

비용·사용량

최근 30세션
시각프로젝트단계시간비용토큰 입력/출력종료
15:49releasedock릴리즈6분34$1.331.2M / 13Ksuccess
15:43releasedockreview4분25$1.30939K / 14Ksuccess
15:39releasedock개선9분62$4.124.5M / 33Ksuccess
01:12releasedock릴리즈2분21$0.64492K / 6Ksuccess
01:09releasedockreview3분25$0.84618K / 9Ksuccess
01:06releasedock개선6분44$2.242.1M / 20Ksuccess
12:09releasedock릴리즈3분24$0.75600K / 6Ksuccess
12:05releasedockreview5분28$1.36814K / 18Ksuccess
12:00releasedock개선9분68$5.025.6M / 39Ksuccess
10:57releasedock릴리즈2분21$0.71538K / 7Ksuccess
10:54releasedockreview4분17$1.19746K / 16Ksuccess
10:49releasedock개선9분63$4.845.5M / 37Ksuccess
02:41releasedock릴리즈2분19$0.60423K / 5Ksuccess
02:38releasedockreview2분15$0.67365K / 8Ksuccess
02:36releasedock개선6분45$2.131.9M / 21Ksuccess
22:03releasedock릴리즈4분32$0.92785K / 8Ksuccess
21:59releasedockreview3분15$0.81525K / 10Ksuccess
21:56releasedock개선6분33$1.881.4M / 23Ksuccess
03:52releasedock릴리즈3분16$0.57333K / 5Ksuccess
03:48releasedockreview2분15$0.71484K / 7Ksuccess
03:46releasedock개선6분39$2.121.8M / 22Ksuccess
18:27releasedock개선8분70$3.504.1M / 26Ksuccess

아이디어 백로그 — 대기 6 / 전체 8

에이전트가 회차마다 재평가한다. 가치 높고 위험 낮은 대기 항목이 다음 회차 후보다.
아이디어가치/위험/크기상태메모갱신
CI 와 Makefile 에 go vet (또는 golangci-lint) 단계 추가3/1/S대기ci.yml 은 go test 만 돌리고 Makefile test 타깃도 마찬가지라 정적 검사가 매번 수동이다. 이번 세션도 직접 go vet 을 실행해 통과시켰다. 다섯 세션 연속 보류 중 — 순수 chore 라 기능 변경과 섞지 않는 것이 맞고, 다음에는 단독 PR 로 올릴 것.2026-09-10
전체 모드 릴리즈·프리셋 업로드도 스트리밍으로 전환3/4/L대기이번 세션에 코드를 읽고 재평가: M 이 아니라 L 이다. persistArtifactTx 는 릴리즈 행 FOR UPDATE 와 app_settings FOR SHARE 를 쥔 트랜잭션 안에서 파일을 쓴다. 지금은 ParseMultipartForm 이 만든 로컬 임시 파일에서 복사하므로 빠르지만, 요청 본문을 그대로 흘려보내면 다중 GB 업로드 시간 내내 트랜잭션이 열려 있어 idle-in-transaction 과 풀 고갈을 부른다. 게다가 createRelease 의 클라이언트는 deploymentProfileId·notes 를 파일 뒤에 보내므로 파일 앞에서 필드를 다 알 수 없다. 제대로 하려면 트랜잭션 밖에서 스테이징한 뒤 메타데이터 트랜잭션에서 rename 하도록 durability 경로를 재설계해야 한다.2026-09-10
진행 중 실행의 SSE 로그 중복 제거가 O(n^2)2/1/S대기SimpleRunDetailPage.tsx:185 의 스트림 수신부가 current.some((line) => line.id === parsed.id) 로 매 줄 전체 로그를 훑는다. 서버는 id 오름차순으로만 보내므로 마지막 줄의 id 비교로 충분하다. 커서 되감김을 고쳐 대량 재전송 자체는 사라졌지만 긴 실행에서는 여전히 누적 비용이 크다. 지금 코드 기준으로 여전히 유효함을 재확인했다.2026-09-10
uploadHasFailedPackages 가 묶음 식별자만 보고 실행자를 보지 않음2/3/S대기batch_id 는 클라이언트가 보내는 값인데 이 확인은 actor 로 좁히지 않아, 같은 값을 쓰는 다른 사용자의 실패한 실행이 남의 업로드의 미뤄 둔 단계를 붙잡을 수 있다. 다만 좁히는 방향은 안전 확인을 느슨하게 만드는 변경이라 위험이 있고, 브라우저가 만드는 식별자는 randomUUID 라 충돌 확률이 사실상 없다. 상세 화면의 형제 목록은 이미 actor 로 좁혀 두었다.2026-09-10
web/dist/assets/vendor 청크 617KB 분할로 폐쇄망 초기 로딩 개선2/3/M대기MUI 가 대부분이다. 이번 빌드에서도 617.30 kB(gzip 191.72 kB) 로 그대로다. 코드 분할은 라우팅 구조까지 건드려야 해 회귀 위험이 있고 폐쇄망은 대개 LAN 이라 체감 이득이 작다. 여러 세션 연속으로 보류됨.2026-09-10
로그 한도를 넘긴 줄의 UTF-8 문자가 중간에서 잘림1/1/S대기새로 확인함. append 의 payload[:allowed] 는 바이트 단위로 자르므로 한도를 넘는 줄의 마지막 글자가 반으로 끊긴다. payload 컬럼이 BYTEA 라 INSERT 는 성공하지만 화면과 내려받기에서 깨진 글자로 보인다. 한글 출력이 기본인 이 제품에서는 실제로 눈에 띈다. 실행당 한 줄뿐이라 영향은 작다. rune 경계까지 되감으면 되고, 한도 안내 행 바로 앞줄이라 눈에 잘 띄는 자리이기도 하다.2026-09-10
simpleRunLogger.append 가 빈 줄을 저장하지 않아 문단 구분이 사라짐2/1/S완료이번 세션에 구현. logBudget.take 에 store 반환값을 더해 빈 줄을 한 행으로 저장하되 1 바이트를 청구하고, 한도 도달 안내 행도 append 를 거쳐 system 예산과 log_bytes 에 반영되게 했다. 화면의 빈 span 이 높이 0 이라 실행 상세 로그 행에 minHeight 를 주었다. 단위 3건 + 통합 3건 추가, 되돌려 실패까지 확인.2026-09-10
로그 한도 도달 안내 행이 system 예산을 차감하지 않음1/1/S완료위 항목과 함께 처리. append(streamSystem, ...) 로 보내 예산·log_bytes 회계 안으로 들어왔다. system 행은 command 소진을 보고하지 않으므로 재귀하지 않는다.2026-09-10

교훈 (깨졌던 변경)

원장 (에이전트가 남긴 기록)

2026-09-02

2026-09-02

2026-09-03

2026-09-03

2026-09-03

2026-09-04

2026-09-04

2026-09-05

2026-09-07

← 대시보드 · 교훈 모음