chore(jarca-ledger): finalize approved batch docs, dashboard, and CI smoke updates

This commit is contained in:
Jarca
2026-06-30 16:06:47 +09:00
parent 67d8d4871b
commit 4929e52189
75 changed files with 8367 additions and 252 deletions
@@ -0,0 +1,28 @@
# BAT-003 Implementation
## 코드 변경
- `jarca_ledger_mcp/db.py`
- schema version 7
- `accounts.statement_status TEXT NOT NULL DEFAULT 'unknown'`
- 기존 DB용 additive column migration
- `jarca_ledger_mcp/service.py`
- `VALID_STATEMENT_STATUSES` 및 reconciliation 대상 상수
- `create_ledger_account`에 `statement_status` 입력 추가
- `update_ledger_account` 신규 추가
- `get_balance_reconciliation_report` 신규 추가
- `jarca_ledger_mcp/server.py`
- `create_ledger_account` signature 확장
- `update_ledger_account`, `get_balance_reconciliation_report` MCP tool 추가
- `dashboard/app.py`
- 계좌 화면에 statement 상태 표시/수정 UI 추가
- 최소 잔액대조 결과 표 추가
- `tests/test_service.py`
- schema version 7 반영
- statement status validation 및 balance reconciliation 테스트 추가
## 운영 안전
- 운영 DB 변경 전 dcy-002 백업 절차를 먼저 수행한다.
- 검증 DB에서 preview/reconcile 후 운영 DB에 반영한다.
- restore는 사용자의 명시 승인 없이 실행하지 않는다.
@@ -0,0 +1,25 @@
# BAT-003 Statement-unavailable 수동 증빙 및 잔액대조
- Profile: batch-lite
- Status: release-candidate
- Included REQ: REQ-003
- Discovery: dcy-003
- Owner: 렛저장인
- Date (KST): 2026-06-29
## 목표
statement 파일이 없거나 일부만 import 가능한 계좌를 `statement_status`로 구분하고, 수동 실행 가능한 잔액대조 report 및 계좌 화면 최소 UI를 제공한다.
## 산출물
- `accounts.statement_status` additive migration
- service 계좌 update 및 잔액대조 report
- MCP tool surface 추가
- dashboard 계좌 화면 표시/수정/대조 결과
- REQ-003 및 운영 문서 갱신
- pytest 기반 regression 검증
## 범위 제한
자동 스케줄링/알림, 전용 워크벤치 전체 신설, 자동 확정 mutation, 사용자 승인 없는 restore는 포함하지 않는다.
@@ -0,0 +1,35 @@
# BAT-003 Verification
## 검증 계획
1. Python 문법 검증
- `python3 -m py_compile jarca_ledger_mcp/db.py jarca_ledger_mcp/service.py jarca_ledger_mcp/server.py dashboard/app.py tests/test_service.py`
2. 대상 테스트
- `python3 -m pytest tests/test_service.py -q`
3. 전체 테스트
- 가능하면 `python3 -m pytest -q`
## Acceptance Mapping
- AC-1/2: `test_health_check_initializes_db`, `test_invalid_statement_status_rejected`
- AC-3/4: `test_statement_status_account_update_and_balance_reconciliation`
- AC-5: dashboard py_compile 및 계좌 page 코드 검증
- AC-6: server py_compile 및 tool 함수 추가 확인
- AC-7: REQ/batch/data-model/interface/runtime/runbook 문서 갱신
## 결과
최종 검증 결과(2026-06-29 KST):
- `python -m py_compile dashboard/app.py jarca_ledger_mcp/service.py jarca_ledger_mcp/server.py jarca_ledger_mcp/db.py` — PASS
- `pytest tests/test_service.py tests/test_categorization.py tests/test_uncategorized_workbench.py -q` — PASS (`12 passed`)
- `pytest -q` — PASS (`28 passed, 4 skipped`)
- Streamlit `AppTest.from_file('dashboard/app.py')` with synthetic temp DB and `?page=계좌` — PASS; account page rendered without exceptions and exposed `잔액대조 실행`.
검증 중 발견/수정:
- `tests/test_ledger_categories.py`의 schema version 기대값이 이전 버전 `6`으로 남아 있어 `7`로 갱신했다.
남은 범위 외 항목:
- dcy-004/dcy-005 문서는 현재 작업 범위가 아니므로 구현을 시작하지 않았다.