From 9400c0178c03fb82741b80f5f21cf4e1c9f6c9a0 Mon Sep 17 00:00:00 2001 From: Jarca Date: Sun, 12 Jul 2026 20:54:10 +0900 Subject: [PATCH] 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. --- docs/releases/index.md | 4 +- ...2_initial-jarca-ledger-service-baseline.md | 110 ++++++++++++++---- 2 files changed, 92 insertions(+), 22 deletions(-) diff --git a/docs/releases/index.md b/docs/releases/index.md index 2f55d6f..f76aedf 100644 --- a/docs/releases/index.md +++ b/docs/releases/index.md @@ -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 상태로 전환했다. diff --git a/docs/releases/rel-001_20260712_initial-jarca-ledger-service-baseline.md b/docs/releases/rel-001_20260712_initial-jarca-ledger-service-baseline.md index 79d1333..59d304e 100644 --- a/docs/releases/rel-001_20260712_initial-jarca-ledger-service-baseline.md +++ b/docs/releases/rel-001_20260712_initial-jarca-ledger-service-baseline.md @@ -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`.