Skip to content

fix: accept DiskSage readiness schema v4 - #1233

Closed
seonghobae wants to merge 1 commit into
developfrom
fix/disksage-readiness-schema-v4
Closed

fix: accept DiskSage readiness schema v4#1233
seonghobae wants to merge 1 commit into
developfrom
fix/disksage-readiness-schema-v4

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • update the strict DiskSage cloud-copy readiness verifier protocol from schema v3 to the current producer schema v4;
  • keep the exact allowlist, false-claim checks, duplicate-member rejection, bounded transport, and redacted error behavior unchanged;
  • add an explicit regression proving the obsolete v3 success payload is rejected instead of being silently accepted;
  • rebuild the branch as one focused commit on the remediated current develop head.

Why

DiskSage exports disksage.naruon.cloud-copy-readiness schema v4. Naruon still required v3, so every current readiness handoff failed closed before it could be consumed.

Validation

  • uv run pytest -q tests/test_disksage_copy_readiness_handoff.py — 43 passed on the implementation source;
  • uv run ruff check scripts/disksage_copy_readiness_handoff.py tests/test_disksage_copy_readiness_handoff.py;
  • uv run ruff format --check scripts/disksage_copy_readiness_handoff.py tests/test_disksage_copy_readiness_handoff.py;
  • git diff --check;
  • current-head GitHub Actions and independent review are required before merge.

No provider write, cloud copy, source eviction, or user-file mutation is performed.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 12 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 36c378bf-038e-4dd2-829a-6ba479dca19e

📥 Commits

Reviewing files that changed from the base of the PR and between e91a0c2 and cb9ad9d.

📒 Files selected for processing (2)
  • backend/scripts/disksage_copy_readiness_handoff.py
  • backend/tests/test_disksage_copy_readiness_handoff.py

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

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

PR governance metadata gate update for cb9ad9d61ecfd497597046f4c8cae6a83be74564: no current blocking failures remain.

PR governance metadata gate is ready; all current-head requirements passed.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review the exact head e83b1571b88d59234f886d0a883f4bab354673d7 against the now-remediated develop base. The focused DiskSage schema-v4 contract is unchanged, all inline threads are clear, and the previously base-wide Security Scan failure has been requeued.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@seonghobae I will review pull request #1233 at the specified head against the current develop base. I will verify the DiskSage schema-v4 contract and the changed code paths.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@seonghobae
seonghobae marked this pull request as draft August 4, 2026 05:58
@seonghobae
seonghobae marked this pull request as ready for review August 4, 2026 05:58
@seonghobae
seonghobae force-pushed the fix/disksage-readiness-schema-v4 branch 3 times, most recently from 20fdf41 to 70d819f Compare August 4, 2026 06:04

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review exact head 70d819f9038246fb54e9dbb0af17c6bfc958c61c, rebuilt as one focused two-file commit on current remediated develop.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@seonghobae I will review pull request #1233 at commit 70d819f9038246fb54e9dbb0af17c6bfc958c61c against the current remediated develop base.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@seonghobae
seonghobae marked this pull request as draft August 4, 2026 06:37
@seonghobae
seonghobae force-pushed the fix/disksage-readiness-schema-v4 branch from 70d819f to cb9ad9d Compare August 4, 2026 07:15
@seonghobae
seonghobae marked this pull request as ready for review August 4, 2026 07:18

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review exact current head cb9ad9d61ecfd497597046f4c8cae6a83be74564, now rebased as one focused two-file commit on the post-security, post-policy develop head.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

target='cb9ad9d61ecfd497597046f4c8cae6a83be74564'

printf '%s\n' '== Requested commit =='
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$target"

printf '%s\n' '== develop reference =='
git rev-parse develop
base="$(git merge-base develop "$target")"
printf 'merge_base=%s\n' "$base"

printf '%s\n' '== Commit range summary =='
git diff --stat "$base" "$target"
git diff --name-status "$base" "$target"

printf '%s\n' '== Exact changed diff =='
git diff --no-ext-diff --unified=80 "$base" "$target" -- \
  scripts/disksage_copy_readiness_handoff.py \
  tests/test_disksage_copy_readiness_handoff.py

printf '%s\n' '== Python structure =='
ast-grep outline scripts/disksage_copy_readiness_handoff.py --items all --type function,class
ast-grep outline tests/test_disksage_copy_readiness_handoff.py --items all --type function,class

Length of output: 1880


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='e91a0c2676a5dc1788cd24ab2a02e683d7e00768'
target='cb9ad9d61ecfd497597046f4c8cae6a83be74564'

printf '%s\n' '== Exact changed diff =='
git diff --no-ext-diff --unified=100 "$base" "$target" -- \
  backend/scripts/disksage_copy_readiness_handoff.py \
  backend/tests/test_disksage_copy_readiness_handoff.py

printf '%s\n' '== Implementation structure =='
ast-grep outline backend/scripts/disksage_copy_readiness_handoff.py --items all --type function,class

printf '%s\n' '== Test structure =='
ast-grep outline backend/tests/test_disksage_copy_readiness_handoff.py --items all --type function,class

printf '%s\n' '== Schema references and safety-check references =='
rg -n -C 4 \
  -e 'schema' \
  -e 'duplicate' \
  -e 'allowlist|allow_list' \
  -e 'redact|redacted' \
  -e 'timeout|bounded' \
  backend/scripts/disksage_copy_readiness_handoff.py \
  backend/tests/test_disksage_copy_readiness_handoff.py

printf '%s\n' '== Implementation source =='
cat -n backend/scripts/disksage_copy_readiness_handoff.py

printf '%s\n' '== Test source =='
cat -n backend/tests/test_disksage_copy_readiness_handoff.py

Length of output: 110062


@seonghobae I reviewed commit cb9ad9d61ecfd497597046f4c8cae6a83be74564 against develop commit e91a0c2676a5dc1788cd24ab2a02e683d7e00768.

No findings.

The commit changes only the intended two files. _decode_protocol() now accepts only schema version 4. The exact field allowlist, false-claim checks, duplicate-member rejection, bounded verifier transport, and redacted error behavior remain unchanged.

The regression test now rejects a return-code-0 schema-v3 success payload. It verifies exit code 70 and the redacted disksage-verifier-protocol-invalid response.

I completed a static review. I did not run tests or linters because this environment prohibits repository execution.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor Author

Closing as an exact duplicate of #1239. Both PRs contain the same two-file schema-v4 patch; #1239 is the current replacement branch and remains the sole merge candidate.

@seonghobae seonghobae closed this Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #1239, which carries the focused two-file readiness compatibility patch on the current develop base and is receiving the exact-current-head review fix. Closing this duplicate avoids parallel checks and conflicting review state.

Copy link
Copy Markdown
Contributor Author

Superseded by focused current-develop replacement #1239, which accepts exactly DiskSage readiness schema versions 3 and 4 and carries its own exact-head checks and review evidence. Keep this duplicate closed so one compatibility patch proceeds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant