Complete audit remediation and verification
This commit is contained in:
@@ -48,8 +48,8 @@ acted as the selection base. Outside a checkout, the supplied directory remains
|
||||
the base for `ModuleDir`.
|
||||
Preparation overrides an alternate module file selected by `GOFLAGS`, while
|
||||
retaining other effective Go settings. The operation may use the network and
|
||||
updates the Go module cache while
|
||||
preserving the caller's proxy, private-module, credential, and cache settings.
|
||||
updates the Go module cache while preserving the caller's proxy, private-module,
|
||||
credential, and cache settings.
|
||||
If checksums are missing, Go may update `go.sum`. For binary CI delivery, prepare
|
||||
and commit the selected module's `go.sum` before tagging: delivery verifies the
|
||||
tagged source remains clean after dependency preparation. See the
|
||||
@@ -223,9 +223,9 @@ credential preflight, verifies the local artifacts in full, and then makes
|
||||
hosted writes. The current files are checked against their recorded digests
|
||||
before those writes. Preflight confirms only the access evidence available from
|
||||
the service, as described above. The files remain caller-owned, so callers can
|
||||
retain the original bytes for retries and are responsible for cleanup. With neither
|
||||
artifact source, an empty managed target set, or a matching empty prebuilt
|
||||
result, delivery is page-only. A prebuilt result with no targets or artifacts
|
||||
retain the original bytes for retries and are responsible for cleanup. With
|
||||
neither artifact source, an empty managed target set, or a matching empty
|
||||
prebuilt result, delivery is page-only. A prebuilt result with no targets or artifacts
|
||||
must still identify the matching repository, module directory and path, tag,
|
||||
commit, and version; a zero `BuildResult` does not. Do not set both `Build` and
|
||||
`Prebuilt` in one request.
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
## Status and scope
|
||||
|
||||
Audit completed against source commit `31f5327` on 2026-11-01. The three findings
|
||||
below remain open. This audit changes documentation only.
|
||||
below are resolved as recorded in their completion markers. The audit itself
|
||||
changed documentation only.
|
||||
|
||||
The review covered candidate capture and rechecks, module/tag derivation,
|
||||
committed-file validation and reference traversal, builds and runtime version
|
||||
@@ -13,8 +14,8 @@ examined ordinary paths, empty selections, error and cancellation paths, and
|
||||
boundary interactions against the current code, GoDoc, consumer guides,
|
||||
accepted decisions, and existing tests.
|
||||
|
||||
The earlier [interface audit](interfaces.md) remains applicable. In particular,
|
||||
its build-source cancellation defect remains open; this document records
|
||||
The earlier [interface audit](interfaces.md) also recorded a build-source
|
||||
cancellation defect; this document records
|
||||
additional functional findings rather than duplicating that issue or its
|
||||
contract-clarity findings. No production code or repository tests were changed.
|
||||
|
||||
@@ -40,13 +41,16 @@ behavioral corrections within those boundaries.
|
||||
|
||||
### 1. Candidate checking can approve a tag that Git cannot create
|
||||
|
||||
**Priority:** medium. **Status:** open.
|
||||
**Priority:** medium. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `b91a0d1`: public invalid-derived-tag regressions and
|
||||
Git/candidate package tests pass.
|
||||
|
||||
**Relevant code:** `Derive` in
|
||||
[internal/releaseidentity/identity.go](../../internal/releaseidentity/identity.go),
|
||||
and `Capture`, `Recheck`, and `hasLocalTag` in
|
||||
[internal/candidate/check.go](../../internal/candidate/check.go). Compare the
|
||||
existing `checkTagRef` boundary in
|
||||
existing Git ref-validation boundary in
|
||||
[internal/git/remote.go](../../internal/git/remote.go).
|
||||
|
||||
**Circumstances:** a selected nested module has a physical directory name that
|
||||
@@ -85,7 +89,10 @@ restrictions or changing standalone local-build behavior.
|
||||
|
||||
### 2. Ambient Go flags can redirect dependency preparation to another module file
|
||||
|
||||
**Priority:** medium. **Status:** open.
|
||||
**Priority:** medium. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `05f1b47`, `abbab3c`: local-proxy inherited and
|
||||
persistent flag regressions verify selected graphs and build identity.
|
||||
|
||||
**Relevant code:** public `PrepareBuildDependencies` in
|
||||
[preparation.go](../../preparation.go), its preparation bridge, and
|
||||
@@ -140,7 +147,10 @@ caller settings.
|
||||
|
||||
### 3. Incomplete tag reconciliation is reported as a known publication conflict
|
||||
|
||||
**Priority:** medium. **Status:** open.
|
||||
**Priority:** medium. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `0632aa5`: both Git query paths and public/CLI
|
||||
lost-acknowledgment recovery regressions pass.
|
||||
|
||||
**Relevant code:** `mergeRef` in
|
||||
[internal/git/remote.go](../../internal/git/remote.go), `Endpoint.QueryTag` in
|
||||
@@ -208,10 +218,8 @@ The audit also reviewed committed-file input boundaries, local-reference and
|
||||
symlink traversal, validation ordering, build result/receipt binding, version
|
||||
injection, and additive delivery with read-only preflight and write recovery.
|
||||
No additional functional finding was substantiated in those paths beyond the
|
||||
issues already recorded in [the interface audit](interfaces.md). Passing tests
|
||||
provide regression evidence for existing cases; they do not resolve the three
|
||||
newly demonstrated cases above.
|
||||
issues already recorded in [the interface audit](interfaces.md). The tests
|
||||
available at audit time did not cover the three demonstrated cases above.
|
||||
|
||||
Prioritize accurate publication recovery and preparation of the selected module,
|
||||
then close the candidate tag-validation gap. These are corrections to existing
|
||||
behavior; they do not require new public interfaces or a broader release model.
|
||||
The agreed remediation corrected these behaviors without new public interfaces
|
||||
or a broader release model.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
## Baseline and execution
|
||||
|
||||
This plan targets `59bb074` on 2026-11-01. The worktree was clean when planning
|
||||
began. The production code still contains the findings recorded in
|
||||
This plan targeted `59bb074` on 2026-11-01. The worktree was clean when planning
|
||||
began. At that baseline, production code contained the findings recorded in
|
||||
[correctness.md](correctness.md) and [interfaces.md](interfaces.md).
|
||||
[remediation.md](remediation.md) defines the agreed behavior and scope; this
|
||||
plan defines how to reach it.
|
||||
@@ -412,7 +412,13 @@ Validate affected local links/fragments and prose whitespace.
|
||||
|
||||
## Stage 10: Verify the complete sprint and close the findings
|
||||
|
||||
**Status:** pending. **Depends on:** all preceding stages.
|
||||
**Status:** complete. The complete offline `go test ./...` and
|
||||
`go test -race ./...` suites and compiled `go run ./internal/apicheck` check
|
||||
pass with `GOTOOLCHAIN=local GOPROXY=off GOSUMDB=off`. Additional discovery
|
||||
failure and synchronized cancellation checks pass with `-race`. Changed local
|
||||
Markdown links and fragments and whitespace checks pass. Public types and
|
||||
receipt schema remain unchanged; the finding records contain completion evidence.
|
||||
**Depends on:** all preceding stages.
|
||||
|
||||
1. Resolve every deferred check, format changed Go files, and inspect the final
|
||||
diff for changes outside the agreed remediation scope. Verify all eight
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
## Status and scope
|
||||
|
||||
Audit completed against source commit `3f00ad2` on 2026-11-01. The findings below
|
||||
remain open for consideration. This audit changes documentation only.
|
||||
are resolved as recorded in their completion markers. The audit itself changed
|
||||
documentation only.
|
||||
|
||||
The review covered exported declarations and conversions in both public
|
||||
facades; candidate capture, validation, callbacks, and publication outcomes;
|
||||
@@ -46,7 +47,10 @@ an architectural redesign.
|
||||
|
||||
### 1. Build source inspection loses cancellation identity
|
||||
|
||||
**Priority:** medium. **Status:** open.
|
||||
**Priority:** medium. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `28a4144`: synchronized cancellation, deadline,
|
||||
partial-artifact, and race checks pass.
|
||||
|
||||
**Relevant code:** `cleanSource`, `gitCommit`, and `checkVersion` in
|
||||
[internal/build/build.go](../../internal/build/build.go), reached through public
|
||||
@@ -81,7 +85,10 @@ error type or cancellation policy.
|
||||
|
||||
### 2. A release lookup can produce an unusable asset handle without an error
|
||||
|
||||
**Priority:** low. **Status:** open.
|
||||
**Priority:** low. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `9fa4407`: backend and public page-only/prebuilt
|
||||
regressions pass with malformed-handle classification.
|
||||
|
||||
**Relevant interfaces:** `forge.Backend.FindRelease` and `ListAssets` in
|
||||
[internal/forge/forge.go](../../internal/forge/forge.go); Gitea `FindRelease`,
|
||||
@@ -117,7 +124,10 @@ page URLs or write-response fields on page-only reads.
|
||||
|
||||
### 3. Dependency preparation uses a different repository anchor
|
||||
|
||||
**Priority:** low; contract clarification needed. **Status:** open.
|
||||
**Priority:** low; contract clarification needed. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `b47202a`, `5aba4c6`, `abbab3c`: checkout discovery,
|
||||
standalone preparation, and build-composition regressions pass.
|
||||
|
||||
**Relevant API:** `DependencyPreparationRequest` and `PrepareBuildDependencies`
|
||||
in [preparation.go](../../preparation.go), compared with `Build`, `Check`, and
|
||||
@@ -153,7 +163,10 @@ to remove standalone directory preparation.
|
||||
|
||||
### 4. Empty-prebuilt GoDoc omits the required source identity
|
||||
|
||||
**Priority:** low. **Status:** open.
|
||||
**Priority:** low. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `d368bb3`: GoDoc and consumer guidance describe
|
||||
matching empty results; page-only regressions pass.
|
||||
|
||||
**Relevant API:** `DeliveryRequest` in [delivery.go](../../delivery.go),
|
||||
`validateBuildIdentity` in
|
||||
@@ -181,7 +194,10 @@ and consumer guide without adding a zero-result compatibility path.
|
||||
|
||||
### 5. Prebuilt delivery guidance promises hashing before every hosted request
|
||||
|
||||
**Priority:** low. **Status:** open.
|
||||
**Priority:** low. **Status:** complete.
|
||||
|
||||
**Completion evidence:** `d368bb3`: consumer guidance matches preflight-first
|
||||
order; the existing preflight-before-hashing regression passes.
|
||||
|
||||
**Relevant documentation:** the prebuilt paragraph in the
|
||||
[Go API delivery guidance](../consumers/delivery.md#go-api), compared with
|
||||
@@ -227,8 +243,8 @@ preflight continues to verify the available access evidence, and
|
||||
`SourceVerified` continues to describe source observations rather than an
|
||||
attestation.
|
||||
|
||||
Address the cancellation error chain and asset-handle failure classification
|
||||
first, then align the preparation and delivery descriptions with the selected
|
||||
behavior. The findings do not call for new public extension interfaces,
|
||||
The remediation addresses the cancellation error chain and asset-handle failure
|
||||
classification and aligns preparation and delivery descriptions with the selected
|
||||
behavior. The findings did not call for new public extension interfaces,
|
||||
compatibility shims, stricter page-only response requirements, or a new release
|
||||
procedure.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
## Status and scope
|
||||
|
||||
Agreed remediation target as of 2026-11-01. Implementation is pending against
|
||||
baseline `59bb074`.
|
||||
Remediation complete against baseline `59bb074`. The implementation plan
|
||||
records stage and validation evidence.
|
||||
|
||||
This roadmap defines the desired behavior and scope for all three findings in
|
||||
the [functional correctness audit](correctness.md) and all five findings in the
|
||||
|
||||
Reference in New Issue
Block a user