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:
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user