Create REL-001 as the first explicit StagePilot release-stage document for the accumulated app-service baseline through dcy-015.
8.3 KiB
REL-001 Initial Jarca Ledger service baseline
- Release ID: REL-001
- Status: draft
- Profile: app-service
- Created At (KST): 2026-07-12 20:30 KST
- Release Lead: dev-butler
- Repository:
genichin/jarca-ledger-mcp - Target branch:
main - Baseline commit at draft:
a3a680d00b8302a29657fa9a893de3486f76e755
1. Purpose
This is the first explicit StagePilot release document for Jarca Ledger. Earlier delivery work was merged and operated directly by the lead without a separate release SDLC document. This release starts the release-stage record now that the project has grown enough to require explicit rollout, rollback, and post-release evidence.
REL-001 establishes the current Jarca Ledger service baseline, including the MCP service, Streamlit dashboard, operational safety flows, import provenance policy, review/reconciliation workbench, Docker service topology, and the completed first-pass 월정산 dashboard.
2. Included batches
| Batch | Status at draft | Included REQ | Discovery | Summary |
|---|---|---|---|---|
| BAT-001 | release-candidate | REQ-001 | dcy-001 | Category rule operations DB-path consistency and delete exposure |
| BAT-002 | release-candidate | REQ-002 | dcy-002 | Operational safety backup / restore / validation DB workflow |
| BAT-003 | release-candidate | REQ-003 | dcy-003 | Statement-unavailable manual evidence and balance reconciliation |
| BAT-004 | release-candidate | REQ-004 | dcy-004 | Browser / Streamlit E2E evidence recovery |
| BAT-005 | release-candidate | REQ-005 | dcy-005 | Dashboard operations hub, liquidity, monthly cashflow |
| BAT-006 | release-candidate | REQ-006 | dcy-006 | pytest / AppTest / smoke CI automation |
| BAT-007 | release-candidate | REQ-007, REQ-008 | dcy-007 | MCP response contract versioning and CI required checks |
| BAT-008 | release-candidate | REQ-009, REQ-010 | dcy-008 | Asset snapshots, manual assets, net-worth read model |
| BAT-009 | release-candidate | REQ-011, REQ-012 | dcy-009 | Manual asset CRUD and month-end snapshot close alignment |
| BAT-010 | release-candidate | REQ-013, REQ-014 | dcy-010 | Backend core layering and MCP/Streamlit adapter seam realignment |
| BAT-011 | release-candidate | REQ-015 | dcy-011 | Transactional write service split |
| BAT-012 | release-candidate | REQ-016 | dcy-011 | Import pipeline split |
| BAT-013 | release-candidate | REQ-017 | dcy-011 | Advanced finance workflow service split |
| BAT-014 | release-candidate | REQ-018 | dcy-011 | Adapter surface narrowing and baseline refresh |
| BAT-015 | release-candidate | REQ-019 | dcy-013 | Docker network MCP deployment and operating DB migration |
| BAT-016 | release-candidate | REQ-020 | dcy-012 | Review decision persistence and reconciliation workbench |
| BAT-017 | release-candidate | REQ-021 | dcy-014 | Import provenance and sensitive-data policy |
| BAT-018 | merged | REQ-023 | dcy-015 | 월정산 dashboard shell, KPI, cashflow, budget sections |
| BAT-019 | merged | REQ-024 | dcy-015 | 월정산 operational blockers, import/account, asset status sections |
| BAT-020 | merged | REQ-025 | dcy-015 | 월정산 evidence, next actions, docs, verification hardening |
Inclusion note
The StagePilot draft-release baseline expects release-candidate batches. BAT-018 through BAT-020 are already merged because PR #6 and confirm-req-implemented completed before release-stage documentation was introduced. REL-001 treats those merged batches as release-ready because they have stronger merge-backed evidence than a local release-candidate state.
3. Release profile decision
- Selected profile:
app-service - Reason: the included scope covers a live MCP service, Streamlit dashboard, Docker deployment topology, database-backed workflows, and operational runtime checks. This is heavier than
docs-onlyortooling.
4. Scope summary
REL-001 releases the accumulated Jarca Ledger baseline through dcy-015:
- Ledger data model and operational safety workflows
- Category rule and reconciliation operations
- Import provenance and sensitive-data protections
- MCP response contracts and CI regression gates
- Streamlit dashboard core operations pages
- Asset snapshot and manual asset flows
- Docker network MCP and dashboard service topology
- Review decision / reconciliation workbench
- Monthly settlement read-only dashboard first-pass flow
5. Explicitly out of scope
- New monthly settlement close persistence beyond existing approved capabilities
- New PDF / Excel / Markdown export for monthly settlement
- New MCP finance-agent monthly settlement summary tool
- New finance-domain policy decisions outside implemented REQs
- Database migration beyond the already merged/deployed baseline
6. Rollout plan
- Confirm release document content and included batch set.
- Run final local release gates from
main:ruff check .pytest -qscripts/ci_dashboard_http_smoke.py- Docker compose configuration validation, if deployment rollout is requested.
- Confirm GitHub Actions status on the current
maincommit. - For service rollout, rebuild/restart the Synology Docker service stack using the existing runbook:
docker compose config --quietdocker compose builddocker compose up -d --no-build jarca-ledger jarca-ledger-dashboard
- Verify app-service runtime health:
jarca-ledgercontainer state and healthjarca-ledger-dashboardcontainer state and health- MCP tool discovery /
ledger_health_check - Dashboard HTTP smoke against
http://192.168.55.253:40059
- If checks pass, proceed to
confirm-releaseand then capture post-release feedback.
7. Rollback plan
- If release confirmation fails before deployment, leave this document in
draftand record blockers. - If service rollout fails after deployment attempt:
- stop the failed containers with
docker compose stop jarca-ledger jarca-ledger-dashboardif needed; - redeploy the last known-good image or previous git commit from the Synology deployment working copy;
- preserve
/volume1/docker/jarca-ledger/dataand do not delete the production SQLite database; - verify
ledger_health_checkand dashboard HTTP health after rollback.
- stop the failed containers with
- If a data-safety issue is suspected, stop write-capable flows first, preserve the DB volume, and run backup/restore validation before further writes.
- Document rollback evidence in the release feedback section or a follow-up release feedback artifact.
8. Verification checklist
Repository / CI
git status --short --untracked-files=nois clean for tracked files.origin/mainmatches the intended release commit.- GitHub Actions on the intended
maincommit are successful. ruff check .passes locally.pytest -qpasses locally.scripts/ci_dashboard_http_smoke.pypasses locally.
App-service runtime
docker compose config --quietpasses.jarca-ledgercontainer is running and healthy.jarca-ledger-dashboardcontainer is running and healthy.- MCP streamable HTTP endpoint responds at the configured
/mcppath. ledger_health_checksucceeds and points to the expected/data/ledger.sqlite3DB path.- Dashboard URL responds with HTTP 200.
- No sensitive local path/raw payload exposure is visible in dashboard smoke output.
StagePilot / documentation
- Included batch statuses are release-ready or stronger (
release-candidate/ merge-backedmerged). docs/srs/index.mdmarks included REQs asImplemented.docs/batches/index.mdand this release document agree on included batches.- Manual recovery exception for dcy-015 is visible in
.stagepilot/delivery/dcy-015_monthly-settlement/lead-manual-recovery-exception.md.
9. Known risks and notes
- This is the first explicit release document; earlier operational deployment happened outside release-stage SDLC.
- BAT-001 through BAT-017 remain
release-candidateand may have older evidence styles than the current harness. - BAT-018 through BAT-020 are merge-backed and include an explicit dcy-015 manual recovery exception trail.
- GitHub Project 4 updates may remain blocked until the local
ghtoken has Project scopes.
10. Current draft status
- Draft created: yes
- Confirmed: no
- Released/deployed by this release step: no
- Next step: run
confirm-releaseafter final release gates and rollout/rollback readiness review.