Skip to content

feat: separate inconclusive provider and reclaim evidence - #318

Draft
seonghobae wants to merge 7 commits into
fix/release-artifact-windows-namespace-v1from
feat/evidence-accounting-presentation-v1
Draft

feat: separate inconclusive provider and reclaim evidence#318
seonghobae wants to merge 7 commits into
fix/release-artifact-windows-namespace-v1from
feat/evidence-accounting-presentation-v1

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Outcome

  • return a bounded, path-free keep-local receipt when the native provider probe times out or returns no output
  • keep shared APFS movement separate from completed action-attributable receipt totals
  • lead the cloud status UI with the next safe action and place evidence codes under audit details
  • record the decision in ADR 0012 and update the reclaim design and changelog

Safety

  • inconclusive evidence remains mutation-ineligible
  • incomplete receipts cannot claim reclaimed bytes
  • no cloud, provider, filesystem, container, or photo mutation is performed

Verification

  • cargo test --locked --manifest-path src-tauri/Cargo.toml provider_global_sync::tests --lib (17 passed)
  • cargo test --locked --manifest-path src-tauri/Cargo.toml volume_pressure::tests --lib (12 passed)
  • npm test -- --run src/lib/cloudArchiveAdmissionContract.test.ts src/lib/api.test.ts (15 passed)
  • npm run check (0 errors, 0 warnings)
  • git diff --check

Devin Review

Summary by CodeRabbit

  • 새로운 기능

    • 클라우드 동기화 확인이 시간 초과되거나 결과를 제공하지 못할 때 파일을 로컬에 유지하고 재검사하도록 안내합니다.
    • 회수 진행률에서 전체 저장 공간 변화와 작업에 직접 귀속되는 회수량을 구분해 표시합니다.
  • 개선 사항

    • 동기화 상태 안내를 작업 중심으로 간소화했습니다.
    • 감사 세부 정보와 오류 정보를 접어서 확인할 수 있도록 개선했습니다.
  • 문서

    • 불확실한 동기화 결과와 회수 진행률 표시 기준을 문서화했습니다.

@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
📝 Walkthrough

Walkthrough

네이티브 제공자 프로브의 타임아웃과 빈 출력을 제한형 keep-local 영수증으로 처리합니다. 회수 진행률은 전역 APFS 변화와 완료 작업의 귀속 바이트를 분리합니다. UI는 다음 동작을 우선 표시하고 진단 정보를 감사 상세에 배치합니다.

Changes

제공자 증거와 회수 진행률

Layer / File(s) Summary
제공자 프로브 영수증과 처리
src-tauri/src/provider_global_sync.rs, src/lib/api.ts, src-tauri/src/naruon_cloud_copy_readiness.rs, src-tauri/tests/*
ProviderProbeReceipt와 관련 열거형을 추가했습니다. 프로브 타임아웃과 빈 출력은 inconclusive_probe_report로 변환합니다. 결과는 keep_local=truekeep-local-and-rescan을 포함합니다. 기존 보고서 픽스처는 probe_receipt: None을 초기화합니다.
회수 진행률과 영수증 귀속
src-tauri/src/volume_pressure.rs, docs/superpowers/specs/2026-07-21-apfs-reclaim-evidence-design.md
완료된 고유 작업 영수증의 귀속 바이트를 검증하고 합산합니다. 전역 사용 가능 공간 변화는 별도 필드로 유지합니다. 중복 ID, 불완전 영수증의 바이트 청구, 오버플로를 거부하는 테스트를 추가했습니다.
안내 화면과 설계 기록
src/lib/CloudArchive.svelte, src/lib/cloudArchiveAdmissionContract.test.ts, docs/architecture/adr/0012-inconclusive-provider-and-reclaim-presentation.md, docs/architecture/adr/README.md, CHANGELOG.md
공급자 동기화 화면이 다음 동작을 먼저 표시합니다. 프로브 결과와 감사 사유 코드는 접기 영역으로 이동합니다. ADR 0012와 변경 로그에 영수증, 회수 귀속, 표시 규칙을 기록했습니다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: 🔵 Low · up to 5c598

Partial provider timeouts can omit the keep-local receipt, so users may not receive the intended rescan guidance and audit reason even though unsafe copy or cleanup remains blocked; the PR is mergeable with explicit owner follow-up to make timeout responses consistent.

Sequence Diagram(s)

sequenceDiagram
  participant 사용자
  participant CloudArchive
  participant ProviderGlobalSyncReport
  participant NativeProviderProbe
  사용자->>CloudArchive: 보관 상태 확인
  CloudArchive->>NativeProviderProbe: 공급자 동기화 프로브 실행
  NativeProviderProbe-->>CloudArchive: 완료 결과, 타임아웃 또는 빈 출력
  CloudArchive->>ProviderGlobalSyncReport: 프로브 결과 보고서 조회
  ProviderGlobalSyncReport-->>CloudArchive: 다음 동작과 감사 세부 정보
  CloudArchive-->>사용자: 로컬 유지 또는 재검사 안내
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 7 files. (5 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 불확실한 제공자 증거와 reclaim 증거를 분리하는 주요 변경을 정확하고 간결하게 설명합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 7 files. (5 skipped: 5 unsupported.)

✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/evidence-accounting-presentation-v1

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae changed the base branch from main to fix/release-artifact-windows-namespace-v1 September 3, 2026 10:01
@seonghobae
seonghobae marked this pull request as draft September 3, 2026 10:01

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 0 new potential issues.

Devin Review

@seonghobae seonghobae added enhancement New feature or request type: feature New or expanded product capability priority: medium Normal-priority or P2 work labels Sep 7, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: medium Normal-priority or P2 work type: feature New or expanded product capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant