Skip to content

Fix bounded, read-only transfer status continuation - #177

Merged
LIghtJUNction merged 2 commits into
integrate/all-open-20260929from
fix/transfer-status-cursors-20260929
Sep 29, 2026
Merged

LIghtJUNction merged 2 commits into
integrate/all-open-20260929from
fix/transfer-status-cursors-20260929

Conversation

@LIghtJUNction

@LIghtJUNction LIghtJUNction commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Change

Refs #78, #80, #83, #85. Narrow follow-up targeting #176's integration branch. Base 45470b5a46bccfc4f12ef27acccecc2f3bafce47; implementation head 769c124c83a01a648d3d30ef5d4a19fda98bedb6, tree e0a576f550fcd815e0195128ef3c56a435e39701.

Ten lines in TransferService.status validate cursors after current owner/credential/target authorization. Supplied cursors must be nonempty ASCII decimal, at most 19 digits, below 2**63 and not beyond a known transfer size. Sealed/download states enforce the same boundary. Malformed cursors return invalid_cursor, not internal_error; negative unknown-size SQL offsets are rejected. Absent/generated cursors and leading-zero numeric spelling continue working.

No operation schemas/versions, signed bytes, other handlers, storage APIs, quotas or publication paths changed. Unknown-size transfers still expose received ranges rather than invented missing ranges.

Real cloud RED evidence

Run 36560714465, job 109380655492, Python3.15.0rc2, head fa76adef7784c58483b6719057d388bf19b1526d; actual synthetic merge b4c9965748d7e4761fc64e628921d63da11013ec has identical tree 40302bf0a10406148bb828668d1f1e11c217fd77.

24 JUnit cases: 13 assertion failures, 11 passes, 0 errors/skips. 11 failures reproduce intended product defects. Two additional assertions incorrectly assumed null terminal next_cursor survives compact wire encoding; corrected to accept omitted terminal null while strengthening exact range/exact next-cursor assertions on every page. Those two are not claimed as product bugs.

Downloaded artifact 11029760984, independently verified SHA256 777e5c1a4940609b0dd47f23ead2c340d6db4eeba41e116ac4d88cc886da1f00; source.json and every failure inspected.

Final verification in progress

Focused 36561282522; complete four-shard gate 36561282628. No green claim yet.

15 new tests plus existing transfer/fixed-endpoint/read-only evidence tests use real PostgreSQL, Ed25519, Git/age, HTTP/PathGET/GraphQL/MCP and the fixed endpoint. Full row-value snapshots and blocked publication/outbound interfaces check reads. Normal pagination, owner-first checks and revoked credentials are covered.

Progress note: docs/TRANSFER_STATUS_PROGRESS.md. No project runtime/tests ran locally. No deployment, production data, actual funds/outbound delivery or broad acceptance issue closure.

Refs #78, #80, #83, #85. Regression-first tests only on PR #176; retain current authorization and all existing completeness gates.
Bound ASCII decimal offsets before numeric storage/projection use, including sealed/download states. Preserve generated cursors and normal continuation. Cloud RED 36560714465 verified 11 cursor failures; correct two null-omission test assumptions with stricter per-page checks.

Refs #78, #80, #83, #85.

Copy link
Copy Markdown
Member Author

专项 GREEN 已独立核验:run 36561282522 / job 109383015970,24/24 JUnit cases,0 failure/error/skip,24 个唯一测试名。实际 checkout 9b2a25ff6eaff07f4dc6f097036e3d4b2aa54001 的 tree e0a576f550fcd815e0195128ef3c56a435e39701 与修复 head 769c124c83a01a648d3d30ef5d4a19fda98bedb6 一致。

Artifact 11029842037 已下载,ZIP SHA256 3880afb5d72e5afd3e1bbf575c021246682593ec97769eca32cd4eaeb639f34d 独立比对成功,source.json / 完整 JUnit 已逐项解析。此前 RED 的 11 个真实边界失败已消失;正常分页、末页、省略 cursor、int64 最大值、数值前导零、当前身份检查与只读副作用断言均通过。

完整四分片/一致 node-ID/conformance/build gate 36561282628 仍须核验,专项成功不替代全量门禁,也不关闭 #78/#80。

@LIghtJUNction
LIghtJUNction merged commit 89990eb into integrate/all-open-20260929 Sep 29, 2026
11 of 16 checks passed
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