Distinguish asset read failures from unknown writes
This commit is contained in:
@@ -43,7 +43,9 @@ missing, conflicting, or unverifiable. Same-name attachments with different
|
||||
bytes are conflicts even when their reported size matches. An existing
|
||||
`SHA256SUMS` must exactly match the complete expected manifest; a subset or
|
||||
different manifest is a conflict. An unreadable attachment is unverifiable,
|
||||
not missing. Unrelated attachments are returned separately and are preserved.
|
||||
not missing. A failed read-only inspection reports `not_attempted`; if this
|
||||
invocation already delivered the page, its outcome retains `partial` progress.
|
||||
Unknown-write outcomes are reserved for unresolved writes. Unrelated attachments are returned separately and are preserved.
|
||||
|
||||
Attachment downloads and same-origin redirects carry authorization only when
|
||||
their scheme, host, and port match the configured Gitea service. Cross-origin
|
||||
|
||||
@@ -131,6 +131,8 @@ followed by failed asset inspection. Both affected suites pass.
|
||||
|
||||
### R3 — Medium: Read-only asset failures are classified as unknown writes
|
||||
|
||||
Status: Resolved.
|
||||
|
||||
Category: Divergence from the selected outcome contract.
|
||||
|
||||
**Evidence:** [UploadMissing](../../internal/gitea/upload.go), around line 102,
|
||||
@@ -153,6 +155,12 @@ as selected in the plan. Adjust tests and documentation consistently.
|
||||
read-only invocation must not return unknown-write state or exit 3. A genuinely
|
||||
ambiguous upload must continue to do so.
|
||||
|
||||
**Resolution:** Unverifiable preflight assets now return an inspection failure
|
||||
with `not_attempted`, retaining partial page progress when creation preceded
|
||||
the read failure. CLI tests cover existing and newly created pages, no asset
|
||||
writes, and exit 1. Existing ambiguous-upload regressions still verify unknown
|
||||
write outcomes. Both affected suites pass.
|
||||
|
||||
### R4 — Medium: Local artifact regeneration is prohibited
|
||||
|
||||
Category: Inadvertently strengthened prohibition.
|
||||
|
||||
Reference in New Issue
Block a user