fix: bound duplicate workflow failure feedback - #197
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthrough중복 파일 검색 및 삭제 실패 시 원시 예외 문자열 대신 고정된 한국어 메시지를 표시합니다. 오류 메시지에 Changes중복 파일 오류 처리
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This localized change bounds duplicate-operation failure messages and adds alert semantics without supplied evidence of a current correctness, security, or availability issue; no actionable merge-blocking risk remains beyond normal required checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
Rate Limit Exceeded
|
OpenCode Review Overview
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (2 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (2 files)"]
R1 --> V1["required checks"]
|
Pull request was converted to draft
Purpose
Prevent arbitrary thrown backend exception text, per-file backend failure detail, and stale prior duplicate evidence from crossing the Duplicates desktop boundary. Every blocked or failed action now tells the customer what to check next while deliberately selected duplicate paths, cleanup authority, and per-result success/failure semantics remain intact.
Exact current state
d16610533b850bf95b8860d4e2b27aeefbd1c94a.main:be418bac9bfbdc8aa41b1a698713833e3dbccfdc.src/lib/Duplicates.svelteplussrc/lib/duplicatesErrorPrivacyContract.test.ts.COMMENTEDreview on predecessor head67031499bf665fbded9586ae867aa6c5e473d3d0; its valid raw-r.errorfinding is addressed and its thread is resolved/outdated. It is not approval and predecessor review evidence does not transfer.Test-first privacy, freshness, and recovery repair
b1e19b6cb437ed6ed7b31cd65b80eaa6b625b78cfirst required thrown backend errors to stop crossing the interface and required an accessible dynamic failure region.String(e)projections with bounded messages and removed raw partial-failurer.errorrendering while preserving the selected path needed to identify a failed item.alert()instead of the existing accessible failure region.c686f0825c7471fa11603a0d3b7ac72d03e41428requires action-oriented scan/delete/partial-failure copy, rejects unusedcatch (e)andalert(), requires stale groups/selections/verdicts/results to be cleared beforefindDuplicateFiles, preserves selected paths, and verifies the existing discovery/cleanup authority calls.d16610533b850bf95b8860d4e2b27aeefbd1c94achanges onlyDuplicates.svelte: replacement discovery clears prior duplicate evidence before the backend call; scan and cleanup failures direct the customer to verify the scan root, open-file state, and trash permissions before restarting at the correct stage; the all-selected safety guard reports throughrole="alert"; successful cleanup tells the customer how to restore from Trash; and partial failures keep the selected path but expose no backend detail.Duplicate discovery, grouping, default selection, exact group-preservation guard, confirmation, cleanup calls, model-verdict advisory behavior, per-result
oksemantics, visible customer-selected paths, and filesystem mutation authority remain unchanged.Exact-head validation
For exact head
d16610533b850bf95b8860d4e2b27aeefbd1c94a:31885292141— in progress;31885292122— queued;31885292168— queued;31885292124— queued.Queued or in-progress evidence is not passing, and predecessor-head success does not transfer. PR-event publication or attestation helpers that are conditionally skipped are not represented as passing release-publication or provenance evidence.
Scope / non-duplication
This line owns only the Duplicates desktop failure/freshness boundary and its focused contract. It does not change backend cleanup authority or import generic-cleanup #174, repository-wide exact coverage #156, canonical documentation #149, or another active product line.
Remaining integration blockers
Required before merge
Do not merge unless the unchanged exact head satisfies every applicable live required workflow and current finding, every review thread is resolved, a qualifying independent approval covers the last push/current head, fresh protected-main ancestry remains current, the live review ruleset is satisfied, and repository-wide exact coverage is satisfied without exclusions or threshold weakening. Pending, queued, skipped-required, neutral-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, rate-limited, no-source scanner, or infrastructure-only evidence is not passing.