chore(jarca-ledger): finalize approved batch docs, dashboard, and CI smoke updates
This commit is contained in:
@@ -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 문서는 현재 작업 범위가 아니므로 구현을 시작하지 않았다.
|
||||
Reference in New Issue
Block a user