[상류] 기존 #4736 새 CI 실패·maintainer 회귀 요청 수정 #201
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
원 요구·승인
소유자 최신 실행 승인(sent/codex_upstream_execute_approved_sequence_1029.md): 기존 PR의 리뷰·CI 수정을 검증부터 상류 반영까지, 기존 기능·이력 보존, 중복 PR 0. 원 W4/#4736은 운영 root가 직접 검증·제출한 것이며(_UserHub/_task/kandev-ops/261023_upstream-pr-owner.md, feature-pr-map) 이 Kandev task가 새 피드백의 단일 source writer다(Native task·p320에 기존 담당 없음, 등록 직전 8e/root 확인).
입력
kdlbs/kandev#4736 'fix(workflow): delete workflow steps and prune historical orphans' OPEN, 공개 head 5b82e96fd9b9316e8521013a204770c5215ce23d, fork branch codex/upstream-workflow-delete-steps-20261023.
할 일
경계
job별 새 결함 task 0, 대용량/403 재시도 0, PG DSN 없음은 미실행 한계로 보존, 운영·설정·자격 변경 0. 공통 sqlite workflow/task 파일을 #4889/#4891 source와 동시에 쓰지 않는다(겹치면 8e에 경로를 알리고 순서를 받는다).
Reviewed head 7a741c382e309d3278ff1fed2b1f8bcbc33d0c75 on local branch codex/upstream-workflow-delete-steps-20261029-ci (base 5b82e96fd9b9316e8521013a204770c5215ce23d), not pushed. Delta vs base is 6 files with no new standing test file: the v0.93.0 fixture manifest and both SQL dumps, workflow_session_bindings_test.go, base_migrations_steps_test.go, and the workflow-delete-steps plan. The PR-caused CI sentinel failure was reproduced at 5b82e96 (upgrade_test.go:183) and is resolved; main 173d1ef shows only the unrelated Windows /tmp storage scenario. Independent RV APPROVE with no findings (gate CALL-20261029-3ec8a8d4302b; ref FORMAL-pr4736-ci-7a741c382e3-delta.patch-1793242718679036100-10149-mid-1@1). SQLite prune test passes with race; PostgreSQL case skips locally because KANDEV_TEST_POSTGRES_DSN is unset and will run in CI. Normal hooks used. Public update and reply remain with 93 to 5d on the same #4736; no push, merge, comment, or new PR. Parent 8e was reported once at session 96e9d7f4.
8e receiving acceptance: ACCEPT KANDEV-UPSTREAM-4736-CI-REVIEW-20261029 source unit (task fe8d3c74-c781-401d-b7cb-7ff2228489b4). First reproduction separated the PR defect (upgrade_test.go:183 workflow_steps owner row on PR head 5b82e96fd9b9) from the main baseline (Windows /tmp storage scenario also failing on main 173d1ef). Reviewed head 7a741c382e309d3278ff1fed2b1f8bcbc33d0c75: 6 files vs base (fixture manifest, two v0.93.0 SQL dumps, existing workflow_session_bindings_test.go and base_migrations_steps_test.go, work-order doc); no new standing test file; maintainer comment 6482107042 PG case added inside the existing startup migration test (runMigrations startup path + concurrent advisory-lock serialization; skipped locally without DSN). Formal RV CALL-20261029-3ec8a8d4302b formal/APPROVE/findings[] (8e and operating root read result.json). Public result (operating root official read 2026-10-29 12:11 KST): kdlbs/kandev#4736 head 7a741c382e30, OPEN, mergeable, 12 files, existing 2 threads resolved, PR documentation coverage SUCCESS; core workflow first page still has action_required runs, so no full-CI/PG/merge claim. Accepted scope: this CI and maintainer-regression fix of existing #4736. Remaining separately: action_required runs, maintainer review/merge. No mandatory residue. Use with the source final result_ref to close only this flow.
Final result for KANDEV-UPSTREAM-4736-CI-REVIEW-20261029: public kdlbs/kandev#4736 head is 7a741c382e309d3278ff1fed2b1f8bcbc33d0c75, OPEN, mergeable, 12 files, matching the reviewed local head. The delta added by this source task is 6 files with no new standing test file; the PR-caused upgrade-sentinel failure was reproduced at 5b82e96 and resolved. Independent delta RV is APPROVE with no findings (gate CALL-20261029-3ec8a8d4302b; verdict ref FORMAL-pr4736-ci-7a741c382e3-delta.patch-1793242718679036100-10149-mid-1@1). SQLite prune test passes with race; PostgreSQL skips locally without a DSN and runs in CI. Flow close is requested with terminal_outcome=completed and acceptance note artifact-note:20261029T033120327012Z. This task made no push, no comment on #4736, and no new PR; the branch is preserved. Root reports action_required remains, so full CI and merge are not claimed.
8e receiving acceptance (new review follow-up on the closed r10 flow; earlier fixture result stays valid): ACCEPT #4736 review fix for thread PRRT_kwDOQ2-eWs6xZyBb (comment 4408346296, step-create vs workflow-delete orphan race) and review 5692432525 (task-01 line 48 command). Source task fe8d3c74 same session. 8e read-only checks: worktree kandev-upstream-4736_6qiaxagk branch codex/upstream-workflow-delete-steps-20261029-ci HEAD f95a4f4f1accda86436d46b3a118e4bd39f8497b, clean, one commit on top of public head 7a741c382e309d3278ff1fed2b1f8bcbc33d0c75 (ancestor confirmed, so a non-force fast-forward), 8 files vs 7a741c: task/repository/sqlite/workflow.go, workflow/repository/sqlite.go (new lock helper placed before createStepWithDemotedStartSteps, not next to normalizeStageType, so no adjacency with W3 66b1cf0c hunks), existing test files workflow_parking_postgres_test.go, workflow_session_bindings_test.go, workflow/service access_test.go, service_test.go, sync_apply_test.go, and docs task-01. No new test file. 8e ran upstream pr-docs.cjs validateCoverage on the full PR diff from upstream merge-base c15867d270e3: covered, errors 0. Source judgment: real defect against the delete/prune invariant and PG guideline (pre-existing, not introduced by this PR); fix serializes on the workflow row (PG row locks in both delete paths and in the step writer; SQLite writer serialization plus the same existence checks); no FK rebuild, no advisory-key framework. Formal RV FORMAL-pr4736-ci-f95a4f4f1ac-delta-v2.patch-1793255567386446900-23988-mid-1 (CALL-20261029-b2520f987e14) completed APPROVE findings 0 (8e read the record; v1 REQUEST_CHANGES was only a scope-declaration miss for the plan-doc edit). Source-reported: focused task-repository tests pass with -race, workflow/service full package passes, workflow/repository passes except the known equal-created_at flake TestResolveCurrentRunner_FallsBackToLatestTaskRunner (also seen on clean base by W3), sqlguard and lint pass; the PG test TestPostgresWorkflowStepCreateSerializesWithDelete compiles and skips locally without DSN, so no PG pass is claimed. No push/comment. Publication: 93->5d non-force FF of the same #4736 to f95a4f4f1acc, reply/resolve the race thread and the docs-command review after public head readback.
Final source result: public kdlbs/kandev#4736 head confirmed f95a4f4f1accda86436d46b3a118e4bd39f8497b (OPEN, mergeable), matching the reviewed local head on branch codex/upstream-workflow-delete-steps-20261029-ci. RV v2 APPROVE with no findings (CALL-20261029-b2520f987e14; ref FORMAL-pr4736-ci-f95a4f4f1ac-delta-v2.patch-1793255567386446900-23988-mid-1@1). The new review fix serializes step creation with workflow deletion on the workflow row, uses SQLite writer serialization plus existence checks, and adds only existing-file regressions. 8e acceptance note 20261029T063733995812Z covers this follow-up; the earlier fixture result, closed r10, and the flow close remain valid, so this flow was not re-closed. No source push, #4736 comment, new PR, branch deletion, force/reset/amend, or operating change; publication was the 93-to-5d fast-forward. PostgreSQL race test remains CI-only because the local DSN is unset.
8e receiving acceptance (current-head backend CI failure follow-up on the closed r10 flow; earlier results stay valid): ACCEPT the #4736 handler test fixture fix for run 40830694133 (internal/mcp/handlers and internal/workflow/handlers 'workflow not found' 404). Source fe8d3c74 same session. Cause by reproduction: fixture gap, not a production defect - the new missing-parent rejection in lockWorkflowRowForStepWrite is correct, but handler tests created steps for workflow IDs that existed only in in-memory providers or nowhere. The rejection, delete/create serialization and PostgreSQL row lock are unchanged. 8e read-only checks: worktree kandev-upstream-4736_6qiaxagk branch codex/upstream-workflow-delete-steps-20261029-ci HEAD 8d34bf384c19e56cd87aff221bf5c496f1c4d88f, clean, one commit on public #4736 head f95a4f4f1acc (non-force FF possible; public head still f95a), 11 modified existing *_test.go files only - no production file, no new test file. Fixture changes: workflow/handlers seeds workflow-1 and mirrors fakeWorkflowProvider rows into the harness DB (INSERT OR IGNORE); mcp/handlers mirrors memWorkflowProvider rows and seeds the referenced workflow IDs. Full-package results (source): go test ./internal/workflow/handlers ok 1.167s, go test ./internal/mcp/handlers ok 212.083s; lint-go-changed 0, gofmt clean, normal hooks. Formal RV FORMAL-pr4736-ci-8d34bf384c1-delta-v2.patch-1793281591017632600-24259-mid-1 (CALL-20261029-6c6ca25c34a0) completed APPROVE findings 0 (8e read; v1 HOLD only because the artifact lacked test output). No push/comment. Publication: 93->5d non-force FF of the same #4736 to 8d34bf384c19.
8e publication acceptance (fixture-only CI follow-up): sole publisher 5d fast-forwarded the same kdlbs/kandev#4736 from f95a4f4f1acc to 8d34bf384c19e56cd87aff221bf5c496f1c4d88f after a live-head and remote-branch preflight and a clean merge-tree against main 8de1d61f080a (no cherry-pick, force or new PR). 8e gh readback: OPEN, MERGEABLE, head 8d34bf384c19 = fix accepted in artifact-note:20261029T134953802983Z. 5d readback: base main, review gate BLOCKED, 28 files +1091/-42, delta 11 existing test files +111/-23, 12 checks observed with 0 failed, 0 action_required, 6 in progress; PR documentation coverage not yet reported; 3 review threads still resolved. Whether the previously failing backend shards 1 and 3 pass in the new CI run is not yet observed; no pass claim and no rerun. Maintainer review and merge remain external.
Final source result for KANDEV-UPSTREAM-4736-CI-REVIEW-20261029: reviewed head e5b80ceaf772d4415c051f4d8c2af6147734be33 on branch codex/upstream-workflow-delete-steps-20261029-ci, built from normal merge 8c8dc458cc1 of upstream/main 7cd7dbf72cc plus one fixture commit on public 8d34bf384c19. The main-added import name-selection wrappers now mirror their replacement UUIDs as parent workflow rows; both failing tests and both full handler packages pass, validateCoverage is covered with zero errors, and the upstream/main..HEAD range contains only the PR scope plus this fixture fix. RV APPROVE: CALL-20261030-505827bb60b7, ref FORMAL-pr4736-ci-e5b80ceaf77-delta.patch-1793313163948206400-12827-mid-1@1. Public head is still 8d34bf; publication is pending with 93 to 5d as a non-force fast-forward. No source push, #4736 comment, CI rerun, force/reset/amend, or operating change.
8e 수락(#4736 현재 head CI 실패 2건): fe8d3c74 결과(peer report). 사본 kandev-upstream-4736_6qiaxagk HEAD e5b80ceaf772 clean, merge 8c8dc458cc1(8d34bf384c19 public + main 7cd7dbf72ccc) 위 fixture commit 1개(3 files +18/-1, test 파일만, production 0) → public에서 FF. 8e 대조: main..HEAD 중 PR 원 범위 밖은 main이 추가한 import name-selection test 2개(이번 최소 fixture 수정 대상)뿐. 원인: main의 importName wrapper가 workflow ID를 새 UUID로 바꿔 TaskRepo row 부재 → fakeWorkflowProvider.ensureWorkflowRow. 8e 재실행 go test workflow/handlers -run ImportNameSelection PASS. RV CALL-20261030-505827bb60b7 APPROVE findings 0. 다음: 93->5d 같은 #4736 non-force push.