docs: confirm REL-001 release

Record app-service rollout evidence from Docker rebuild/redeploy, container health, MCP smoke, dashboard smoke, local gates, and CI before promoting REL-001 to confirmed.
This commit is contained in:
Jarca
2026-07-12 20:54:10 +09:00
parent ae24b75849
commit 9400c0178c
2 changed files with 92 additions and 22 deletions
+3 -1
View File
@@ -8,8 +8,10 @@
| REL ID | Profile | Status | Included Batch | Discovery/REQ Input | Link |
| --- | --- | --- | --- | --- | --- |
| REL-001 | app-service | draft | BAT-001~BAT-020 | REQ-001~REQ-025 implemented baseline through dcy-015 | [rel-001_20260712_initial-jarca-ledger-service-baseline.md](rel-001_20260712_initial-jarca-ledger-service-baseline.md) |
| REL-001 | app-service | confirmed | BAT-001~BAT-020 | REQ-001~REQ-025 implemented baseline through dcy-015 | [rel-001_20260712_initial-jarca-ledger-service-baseline.md](rel-001_20260712_initial-jarca-ledger-service-baseline.md) |
## Change Log
- 2026-07-12 20:30 KST: 첫 explicit release-stage 문서로 REL-001 draft를 생성했다. 기존 lead-direct release 운영을 StagePilot release 단계로 전환하기 위한 baseline release다.
- 2026-07-12 20:53 KST: Docker image rebuild/redeploy, container health, MCP smoke, dashboard smoke evidence를 근거로 REL-001을 confirmed 상태로 전환했다.
@@ -1,7 +1,7 @@
# REL-001 Initial Jarca Ledger service baseline
- Release ID: REL-001
- Status: draft
- Status: confirmed
- Profile: app-service
- Created At (KST): 2026-07-12 20:30 KST
- Release Lead: dev-butler
@@ -106,29 +106,29 @@ REL-001 releases the accumulated Jarca Ledger baseline through dcy-015:
### Repository / CI
- [ ] `git status --short --untracked-files=no` is clean for tracked files.
- [ ] `origin/main` matches the intended release commit.
- [ ] GitHub Actions on the intended `main` commit are successful.
- [ ] `ruff check .` passes locally.
- [ ] `pytest -q` passes locally.
- [ ] `scripts/ci_dashboard_http_smoke.py` passes locally.
- [x] `git status --short --untracked-files=no` is clean for tracked files.
- [x] `origin/main` matches the intended release commit.
- [x] GitHub Actions on the intended `main` commit are successful.
- [x] `ruff check .` passes locally.
- [x] `pytest -q` passes locally.
- [x] `scripts/ci_dashboard_http_smoke.py` passes locally.
### App-service runtime
- [ ] `docker compose config --quiet` passes.
- [ ] `jarca-ledger` container is running and healthy.
- [ ] `jarca-ledger-dashboard` container is running and healthy.
- [ ] MCP streamable HTTP endpoint responds at the configured `/mcp` path.
- [ ] `ledger_health_check` succeeds and points to the expected `/data/ledger.sqlite3` DB path.
- [ ] Dashboard URL responds with HTTP 200.
- [ ] No sensitive local path/raw payload exposure is visible in dashboard smoke output.
- [x] `docker compose config --quiet` passes.
- [x] `jarca-ledger` container is running and healthy.
- [x] `jarca-ledger-dashboard` container is running and healthy.
- [x] MCP streamable HTTP endpoint responds at the configured `/mcp` path.
- [x] `ledger_health_check` succeeds and points to the expected `/data/ledger.sqlite3` DB path.
- [x] Dashboard URL responds with HTTP 200.
- [x] 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-backed `merged`).
- [ ] `docs/srs/index.md` marks included REQs as `Implemented`.
- [ ] `docs/batches/index.md` and 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`.
- [x] Included batch statuses are release-ready or stronger (`release-candidate` / merge-backed `merged`).
- [x] `docs/srs/index.md` marks included REQs as `Implemented`.
- [x] `docs/batches/index.md` and this release document agree on included batches.
- [x] 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
@@ -140,6 +140,74 @@ REL-001 releases the accumulated Jarca Ledger baseline through dcy-015:
## 10. Current draft status
- Draft created: yes
- Confirmed: no
- Released/deployed by this release step: no
- Next step: run `confirm-release` after final release gates and rollout/rollback readiness review.
- Confirmed: yes
- Released/deployed by this release step: yes
- Next step: monitor post-release behavior and run `capture-release-feedback` when operational observations are available.
## 11. Confirmation and deployment evidence
- Confirmed At (KST): 2026-07-12 20:53 KST
- Confirmed By: dev-butler
- Release commit before confirmation-doc update: `ae24b758492a44f1b9168243c4336f612475de53`
- GitHub Actions run: `29191002538`, conclusion `success`
- Docker image rebuilt: `jarca-ledger:latest`
- Docker image ID: `sha256:cce8536555b78e4aed89f60a9bc1c3182180e2d0cf583f17bb8f77ac532ee175`
- Docker image created: `2026-07-12T20:51:08.467711129+09:00`
### Local release gates
```text
ruff check . -> All checks passed
pytest -q -> 62 passed, 4 skipped
scripts/ci_dashboard_http_smoke.py -> success=true, http_status=200
docker compose config --quiet -> OK
```
### Docker rollout evidence
Commands executed from `/home/ubuntu/workspaces/jarca-ledger-mcp`:
```bash
docker compose build
docker compose up -d --no-build jarca-ledger jarca-ledger-dashboard
```
Rollout result:
```text
Container jarca-ledger Recreated / Started / Healthy
Container jarca-ledger-dashboard Recreated / Started
```
Runtime state after rollout:
```text
jarca-ledger Up About a minute (healthy), 0.0.0.0:8000->8000/tcp
jarca-ledger-dashboard Up 31 seconds (healthy), 0.0.0.0:40059->8501/tcp
restart policy unless-stopped for both containers
mount /volume1/docker/jarca-ledger/data -> /data
```
### Runtime smoke evidence
Dashboard smoke:
```text
http://192.168.55.253:40059/_stcore/health -> 200 text/plain; charset=utf-8
http://192.168.55.253:40059/?page=요약 -> 200 text/html; charset=utf-8
```
MCP smoke via Streamable HTTP client:
```text
tool discovery -> 65 tools
ledger_health_check -> success=true
server -> jarca-ledger-mcp
db_path -> /data/ledger.sqlite3
schema_version -> 11
active_transactions -> 6249
```
### Confirm-release decision
REL-001 passes the `app-service` release gate because rollout, rollback plan, local verification, GitHub Actions, container health, MCP smoke, and dashboard smoke evidence are all present. REL-001 is promoted from `draft` to `confirmed`.