From bd51330a9a94e2fd0b1ff235ee0910ab5a6f0c77 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Wed, 15 Jul 2026 20:10:53 +0900 Subject: [PATCH] docs(batch): reconcile PR #21 QC provenance --- .../index.md | 6 ++--- .../verification.md | 26 +++++++++++++++---- docs/batches/index.md | 2 +- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/index.md b/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/index.md index 1f67b29..e4e6257 100644 --- a/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/index.md +++ b/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/index.md @@ -2,7 +2,7 @@ - Batch ID: BAT-025 - Profile: standard -- Status: release-candidate +- Status: verification-reopened (PR #21 provenance remediation and independent re-QC pending) - Discovery: dcy-012_20260714_manual-ledger-write-api-owner-scoped (REQ-057 follow-on) - Included REQ: REQ-057 - Folder: docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/ @@ -33,8 +33,8 @@ REQ-056/BAT-024가 사용한 `portfolio_ledger` additive metadata 네 컬럼을 - [x] confirmed planning/design 문서 local main commit (`600375b`) - [x] dev-impl의 migration/code/test/runbook commit (`f6195ff`, remediation `779d6f7`) -- [x] dev-qc 독립 diff review 및 test rerun PASS (`deleg_6b805aa0`) -- [x] lead verification confirmation evidence 기록 (2026-07-15) +- [ ] PR #21 committed-diff independent QC PASS (provenance mapping and loopback DSN reproduction pending fresh verdict) +- [ ] lead verification confirmation re-recorded after PR #21 QC PASS - [x] M5 Release 미착수 — 별도 release approval 전 운영 migration/deploy/service activation 금지 ## Gate / Constraints diff --git a/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/verification.md b/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/verification.md index 2e03b1c..53590c8 100644 --- a/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/verification.md +++ b/docs/batches/bat-025_20260715_portfolio-ledger-alembic-migration/verification.md @@ -1,6 +1,6 @@ # BAT-025 Developer Self-Verification -- Status: **release-candidate — independent re-QC PASS; lead confirmation recorded** +- Status: **verification-reopened — PR #21 provenance remediation and independent re-QC pending** - Batch: BAT-025 - Requirement: REQ-057 - Date: 2026-07-15 @@ -40,10 +40,26 @@ - The test command uses a transient `httpx2` overlay because this environment's resolved Starlette TestClient requires it while the project declares `httpx`; no dependency source change was made for this batch. - The initial independent QC reproduced the technical evidence but returned FAIL because the then-committed document described the remediation as uncommitted and its test run produced an untracked `uv.lock`. Follow-up commit `71a0312e1efb54772b94fd7de0d8add5943f05af` corrected provenance/hygiene only; independent re-QC inspected that committed diff and passed it. +## PR #21 provenance reconciliation + +The delivery was implemented and initially verified on the isolated worktree chain. PR #21 was then assembled by cherry-picking that chain onto the confirmed local-main baseline, which created different commit IDs. The mappings are: + +| Original worktree commit | PR #21 commit | Purpose | +|---|---|---| +| `f6195ff8090d8761d467e15f44255642ca350e80` | `1909caa22ce3f7d271dfb619b9095f998d0566cc` | BAT-025 implementation | +| `779d6f7711d700d6f56be22023cb826cc6f2fe28` | `d48279f7abdbabe1eb59a8d85703cf21f28d39d0` | PostgreSQL verification hardening | +| `71a0312e1efb54772b94fd7de0d8add5943f05af` | `2f82251e57cfefacec3dd39c49bfe40d605fe145` | provenance/hygiene correction | +| `da731b554a2cb7823100f32c85e8cab578e0ea36` | `5f8097947c1933f6b5eadeab94e5528680effc10` | lead confirmation state at PR creation | + +- `git diff --exit-code da731b55..5f809794` confirmed that the original verified worktree state and PR #21 initial head have identical file content. +- Lead reproduction after the PR QC environment correction used the tracked local-test loopback defaults without exposing the DSN. The migration suite passed **3 passed in 6.16s**. +- Cleanup verification targets only the fixture contract `portfolio_hub_bat025_<32 lowercase hex UUID>`; its catalog count was **0**. The separately existing `portfolio_hub_bat025_test` database does not match that generated-name contract and was not modified. + ## Gate result -- Developer self-verification: **complete for committed remediation `779d6f7711d700d6f56be22023cb826cc6f2fe28`**. +- Developer self-verification: **complete** on the original worktree remediation chain, with the PR #21 commit mapping above. - Initial independent QC: **FAIL** — documentation provenance and untracked `uv.lock` hygiene only; technical ACs reproduced. -- Independent re-QC: **PASS** (`deleg_6b805aa0`, 2026-07-15). It verified `f6195ff → 779d6f7 → 71a0312` ancestry, committed provenance, clean worktree and absent `uv.lock`; reran the loopback PostgreSQL migration suite (**3 passed in 6.28s**) and direct Ruff 0.15.10 checks on the five relevant migration/runtime/test files (**All checks passed**). The non-declared `.venv/bin/ruff` path was correctly treated as non-contractual. -- Lead decision: **`confirm-batch-verification` PASS accepted** — batch advances to `release-candidate`. -- M5 release / operational migration: **not started and remains blocked pending separate release approval**. +- Original-worktree independent re-QC: **PASS** (`deleg_6b805aa0`, 2026-07-15), including loopback PostgreSQL and direct Ruff evidence. +- PR #21 committed-diff QC: **reopened**. The previous PR review correctly required provenance mapping and a DSN-bearing local reproduction. This document supplies the mapping and records the reproduction evidence; a fresh independent PR QC must still issue the final PASS/FAIL. +- `confirm-batch-verification`: **reopened pending PR #21 independent QC**. This state does not authorize main merge, release, deployment, operational database migration, or service restart. +- M5 Release: **not started**. Release preparation requires separate scope/approval after merge; production migration requires a separate operational decision and release approval. diff --git a/docs/batches/index.md b/docs/batches/index.md index 8c2a080..5e45787 100644 --- a/docs/batches/index.md +++ b/docs/batches/index.md @@ -32,4 +32,4 @@ | BAT-022 | standard | release-candidate | REQ-052, REQ-053, REQ-054 | dcy-011 | [bat-022](./bat-022_20260628_daemon-crud-self-service-credential-api/) | | BAT-023 | batch-lite | in-progress | REQ-055 | trex-tvr-v1 dcy-001 | [bat-023](./bat-023_20260704_portfolios-strategy-market-meta/) | | BAT-024 | standard | release-candidate | REQ-056 | dcy-012 | [bat-024](./bat-024_20260714_manual-ledger-api/) | -| BAT-025 | standard | release-candidate | REQ-057 | dcy-012 follow-on | [bat-025](./bat-025_20260715_portfolio-ledger-alembic-migration/) | +| BAT-025 | standard | verification-reopened | REQ-057 | dcy-012 follow-on | [bat-025](./bat-025_20260715_portfolio-ledger-alembic-migration/) |