feat(ledger): 고정 지출 — 매월 지정일 가계부 자동 기록 차량 할부·보험·통신비 등 고정 지출을 한 번 등록하면 매월 지정일에 가계부에 자동 기록된다. 미사용 스캐폴드였던 FixedExpense 모델을 실제 기능으로 구현. - 무기한/회차(N개월 후 종료) 지원, 진행 중 할부는 남은 회차로 입력 - 과거 소급 차단: startMonth는 서버가 이번 달로 고정(이미 마감된 과거 월 왜곡 방지) - 자동 생성 멱등: 생성월(soft-delete 포함) 존재검사로 중복 차단. 가계부에서 그 달 행을 지워도 되살아나지 않음(deletedAt: undefined로 확장 필터 우회) - 이중 트리거: cron(매일) + 등록/수정 직후 즉시 생성. 미래 dayOfMonth는 보류 - KST 기준 도래월 계산 + dayOfMonth 말일 클램프(2월 31일 → 28일) - 가계부 목록에 '고정' 뱃지, /ledger/fixed 관리 화면(등록/수정/활성토글/2단계 삭제) - 핵심 로직 lib/fixedExpenseGen.ts 순수 함수 추출, vitest 12건으로 불변식 고정 Constraint: 자동 생성은 멱등이어야 하며, 사용자가 삭제한 달은 재생성하지 않는다. Confidence: high Scope-risk: module Reversibility: moderate Directive: 배포 후 crontab에 generate-fixed-expenses 일일 호출 추가 필요. CRON_SECRET 사용. Tested: tsc·build EXIT 0, vitest 120건(신규 12건) 통과, 실DB 스모크로 생성/멱등/삭제후 비재생성 검증. Not-tested: 관리 화면 실기기 시각 확인은 배포 후. cron 실제 트리거는 배포 후 1회 수동 확인 예정. Related: docs/specs/2026-06-09-fixed-expense-design.md 🐙 Autopus