moina

요약. moina: 자율 개선 회차 21회, 릴리즈 9건. 최근 릴리즈 v0.1.27 (자산 1개). 건강 D 14일: 릴리즈 9, 실패 3, 경고 5, 회귀 0

현황

저장소
https://github.com/hkjang/moina
마지막 회차
2026-09-12 19:44 KST — ❌ 실패 CI failed, PR open PR #19
최근 릴리즈
v0.1.27 — released · 자산 1개 (이전 v0.1.26: 1개) 전체 릴리즈 →

회차 이력

일시프로젝트결과
2026-09-12 19:44moina검증 실패 CI failed, PR open PR #19
17파일 +2095/−4 · 테스트 4 — feat: 관리자가 화면에서 방문 추적 스니펫을 붙일 수 있게 합니다
2026-09-11 06:14moina검토 대기 review held, PR open PR #18
41파일 +935/−90 · 테스트 없음 — docs: 화면 캡처가 실린 사용자·관리자 가이드 정본을 추가합니다
2026-09-10 20:48moina검토 대기 review held, PR open PR #17
3파일 +183/−7 · 테스트 1 — fix: EXIF로 돌려 찍은 사진의 표시 크기를 알려 줍니다
2026-09-10 20:41moina실행 오류 hold: budget
2026-09-10 14:22moina배포 준비 완료 merged PR #16, released v0.1.27
5파일 +49/−0 · 테스트 2 — fix: 첨부 이미지의 픽셀 크기를 미리 알려 Flow 레이아웃 밀림을 막습니다
2026-09-10 00:15moina검증 실패 CI failed, PR open PR #13
3파일 +135/−3 · 테스트 1 — fix: report the real pixel size of an uploaded WebP image
2026-09-09 09:10moina배포 준비 완료 merged PR #12, released v0.1.26
4파일 +62/−2 · 테스트 1 — fix: tell API clients how to re-upload a rejected HEIC photo as JPEG
2026-09-09 04:34moina배포 준비 완료 release-only, released v0.1.25
2026-09-09 02:12moina검증 실패 CI failed, PR open PR #11
6파일 +95/−7 · 테스트 2 — feat: tell iPhone users how to attach a HEIC photo as JPEG
2026-09-08 21:26moina릴리즈 진행 중 merged PR #10, release tag held (failed)
4파일 +160/−2 · 테스트 2 — fix: revalidate media instead of caching it for an hour
2026-09-07 09:49moina병합 완료 release-only, release skipped
2026-09-07 02:36moina병합 완료 merged PR #9, release blocked (secrets)
3파일 +76/−2 · 테스트 1 — fix: keep non-ASCII media filenames intact in Content-Disposition
2026-09-06 16:26moina병합 완료 merged PR #8, release blocked (secrets)
3파일 +49/−2 · 테스트 1 — fix: tell MP4 apart from other ISO Base Media uploads by brand
2026-09-05 05:15moina릴리즈 진행 중 merged PR #7, released v0.1.21, ASSETS MISSING
2026-09-04 09:27moina병합 완료 merged PR #6, release missing
2026-09-03 23:34moina변경 없음 no change
2026-09-03 15:48moina배포 준비 완료 merged PR #5, released v0.1.20
2026-09-03 09:09moina배포 준비 완료 merged PR #4, released v0.1.19
2026-09-03 03:22moina배포 준비 완료 merged PR #3, released v0.1.18
2026-09-02 21:08moina배포 준비 완료 merged PR #2, released v0.1.17
2026-09-02 14:48moina배포 준비 완료 merged PR #1, released v0.1.16

비용·사용량

최근 30세션
시각프로젝트단계시간비용토큰 입력/출력종료
19:42moinareview4분20$1.791.3M / 14Ksuccess
19:38moina개선25분85$11.6814.3M / 87Ksuccess
06:14moinareview5분42$2.712.8M / 18Ksuccess
06:09moina개선20분123$11.8115.9M / 64Ksuccess
20:48moinareview2분12$0.63367K / 8Ksuccess
20:45moina개선4분29$1.741.5M / 17Ksuccess
14:07moina릴리즈3분28$1.191.1M / 8Ksuccess
14:01moinareview5분27$1.34878K / 17Ksuccess
13:56moina개선6분45$2.372.3M / 21Ksuccess
00:10moinareview2분13$0.62296K / 9Ksuccess
00:08moina개선7분47$2.882.8M / 26Ksuccess
08:56moina릴리즈3분24$1.13822K / 8Ksuccess
08:47moinareview2분8$0.47190K / 6Ksuccess
08:45moina개선4분32$1.651.5M / 14Ksuccess
04:20moina릴리즈3분25$1.241.1M / 8Ksuccess
02:08moinareview2분19$0.98780K / 8Ksuccess
02:05moina개선5분50$2.292.3M / 19Ksuccess
21:24moina릴리즈3분25$1.16903K / 9Ksuccess
21:16moinareview3분22$0.96782K / 9Ksuccess
21:13moina개선4분43$2.041.9M / 17Ksuccess
09:49moina릴리즈2분16$1.02585K / 9Ksuccess
02:35moina릴리즈3분24$1.311.0M / 12Ksuccess
02:26moinareview2분10$0.46164K / 7Ksuccess
02:24moina개선4분31$1.551.4M / 15Ksuccess
16:26moina릴리즈3분25$1.31988K / 9Ksuccess
16:17moinareview2분10$0.54288K / 7Ksuccess
16:14moina개선5분36$1.531.2M / 17Ksuccess

아이디어 백로그 — 대기 12 / 전체 13

에이전트가 회차마다 재평가한다. 가치 높고 위험 낮은 대기 항목이 다음 회차 후보다.
아이디어가치/위험/크기상태메모갱신
방문 추적 카드가 실린 일반 설정 화면을 다시 캡처해 가이드 3.8절에 그림을 싣기3/1/M대기이번 회차는 새 route 없이 카드로 넣어 catalog·캡처 136장을 그대로 두었다. `make image` + docker PostgreSQL + `npm --prefix e2e run capture:web` 전체 재캡처가 필요하며 admin-settings 캡처는 카드가 접힌(꺼짐) 상태로 찍힌다.2026-09-12
deploy/docker-compose.offline.yml의 image 태그가 moina:v0.1.12로 고정돼 VERSION과 어긋남3/1/S대기배포 매니페스트의 버전 갱신은 릴리즈 세션의 일. 관리자 가이드 설치 절에 '태그를 반입한 버전으로 맞추라'고 적어 둠.2026-09-12
조용한 시간·Digest가 사용자별 시간대가 아닌 인스턴스 기본 시간대만 사용3/3/L대기사용자 설정·마이그레이션·UI가 모두 필요해 한 세션 범위를 넘음.2026-09-12
updatePost가 DB 오류를 409 not_editable로 보고해 원인을 감춤2/1/S대기posts.go의 UPDATE에서 err != nil과 RowsAffected()==0을 한 분기로 묶음. err는 500 storage_error로 분리해야 한다. 여전히 유효.2026-09-12
Makefile test가 CI와 달리 -race 미사용2/1/S대기make test는 go test ./...만 실행. 여전히 유효.2026-09-12
웹 앱이 EXIF로 회전된 사진의 자리 예약에 image-orientation을 명시하지 않음2/1/S대기.moin-media img에 image-orientation: from-image 한 줄 + 주석으로 전제를 고정할 가치. 여전히 유효.2026-09-12
Momento 프록시가 data-environment를 prd로 고정해 검증 인스턴스의 방문이 운영 통계에 섞임2/1/S대기표준 스니펫이 prd를 예시로 들어 그대로 두었다. 설정에 environment 한 필드를 더하면 된다.2026-09-12
safeFilename이 확장자와 판정한 MIME의 불일치를 그대로 둠2/2/S대기photo.png로 올린 JPEG이 filename=photo.png, mime_type=image/jpeg로 저장돼 다운로드 확장자가 내용과 어긋남. 여전히 유효.2026-09-12
업로드가 이미지 dimension만 읽어 동영상은 width·height가 항상 02/2/M대기MP4는 moov/tkhd에서 읽을 수 있으나 컨테이너 파싱 필요, WebM은 EBML. 여전히 유효.2026-09-12
방문 추적 차단 기록이 인스턴스 메모리에만 있어 다중 인스턴스에서는 신고를 받은 인스턴스에서만 보임2/2/M대기표준대로 메모리 고리 버퍼로 두었다. 다중 인스턴스 운영이 생기면 settings 알림처럼 pg_notify로 합치거나 짧은 TTL 테이블을 검토.2026-09-12
일간 Digest digestDue가 DST 전환일에 존재하지 않는 지역 시각을 time.Date 정규화에 맡김2/3/M대기기본 시간대 Asia/Seoul이라 국내 인스턴스는 영향 없음. 여전히 유효.2026-09-12
avatar 조회가 프로필 응답과 별도 요청이라 Flow 한 화면에 작성자 수만큼 미디어 요청이 발생2/3/M대기아바타는 바꾸면 ID가 바뀌므로 별도 라우트로 immutable 캐시 검토 가치. 여전히 유효.2026-09-12
캠페인 tracking-2026-09: 관리자가 화면에서 방문 추적 스니펫을 붙이는 체계(CSP nonce·정책 출처·차단 기록·Momento 같은 오리진 프록시)4/2/L완료backend/internal/analytics + httpapi/analytics.go, 일반 설정의 방문 추적 카드, 관리자 가이드 3.8절·PDF·OpenAPI. 기본값 꺼짐, 'unsafe-inline' 없음, 비화면 경로는 default-src 'none'.2026-09-12

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

2026-09-02

2026-09-02

2026-09-03

2026-09-03

2026-09-03

2026-09-04

2026-09-05

2026-09-07

2026-09-08

2026-09-09

2026-09-10

2026-09-11

2026-09-12

← 대시보드 · 교훈 모음