Resolve committed module identity from Git objects
This commit is contained in:
@@ -86,7 +86,10 @@ For nested modules, the note comes from that module's committed
|
||||
`docs/releases/<version>.md`, and the hosted page is keyed by its complete tag.
|
||||
|
||||
With no build targets, delivery is page-only: no builder, version smoke check,
|
||||
receipt, binary asset, or checksum manifest is involved. With selected targets,
|
||||
receipt, binary asset, or checksum manifest is involved. Committed module
|
||||
directories and declaration links can be resolved from a sparse checkout;
|
||||
page-only delivery needs the committed objects and note. Managed builds require
|
||||
the selected source files to be materialized. With selected targets,
|
||||
one `deliver` invocation builds the tagged source through the facade into
|
||||
temporary storage and delivers the result. To retain artifacts for a retry or
|
||||
separate credentials between build and delivery, use two invocations:
|
||||
|
||||
@@ -40,13 +40,13 @@ reports these implemented packages:
|
||||
| `internal/build` | Resolved-identity builds, normalized settings, selected-module compilation, version injection, external native smoke output, and artifact digests. |
|
||||
| `internal/candidate` | Stable-version, note, repository-state, candidate capture, and post-validation checks. |
|
||||
| `internal/delivery` | Captured-commit module identity and note selection, literal-tag checkout checks, prebuilt identity binding, managed builds in disposable storage outside the checkout, structural artifact declaration, manifest assembly, one local digest-and-size preflight before hosted requests, and delivery coordination. |
|
||||
| `internal/git` | Git command boundary, committed-tree reads, checkout-commit capture, lazy local-only batched blob reads, push-destination resolution, exact ref inspection, tagged checkout preparation, and tag operations, including captured-endpoint verification during recovery. |
|
||||
| `internal/git` | Git command boundary, committed-tree reads and shared reference traversal, checkout-root and commit capture, lazy local-only batched blob reads, push-destination resolution, exact ref inspection, tagged checkout preparation, and tag operations, including captured-endpoint verification during recovery. |
|
||||
| `internal/gitea` | Gitea API transport, full-tag hosted release pages, asset inspection, manifests, and uploads. |
|
||||
| `internal/gotool` | Operation-local Go configuration discovery and reuse, shared native-validation and static-build environments, and network-capable dependency preparation; see [Go command environments](gotool.md). |
|
||||
| `internal/tempdir` | Disposable system temporary storage outside source worktrees. |
|
||||
| `internal/process` | Cancellable child-process execution, including owned stdin/stdout pipes for serialized exchanges, with per-command environment overlays and removals. |
|
||||
| `internal/preparation` | Coordination for expected-commit tag checkout and Go module dependency preparation. |
|
||||
| `internal/releaseidentity` | Shared module selection, declaration reading, and semantic-version-to-tag derivation for committed and working-tree operations. |
|
||||
| `internal/releaseidentity` | Committed-object and working-tree module selection, declaration reading, and semantic-version-to-tag derivation. |
|
||||
| `internal/validation` | Shared Go validation with optional race, full-vet, and static package-compilation target selections, formatting, workspace-file and filesystem-replacement checks, per-blob size limits, and selected Markdown destination and fragment checking; `internal/candidate` retains capture, callback sequencing, and local-state rechecks. |
|
||||
| `internal/publish` | Publication guards, one validation run, annotated tag creation, push, and recovery state. |
|
||||
| `internal/runtimeinfo` | Injected version selection and cached fallback metadata lookup for the runtime facade. |
|
||||
|
||||
@@ -228,7 +228,16 @@ major identities for the selected release convention.
|
||||
|
||||
## Issue 7: Resolve committed identity from committed material (P2)
|
||||
|
||||
Status: open. Category: declaration-source divergence and added prerequisites.
|
||||
Status: complete. Category: declaration-source divergence and added prerequisites.
|
||||
|
||||
**Completion:** Shared Git reference traversal now serves validation and committed
|
||||
module identity. Committed selection follows directory and declaration links
|
||||
using targeted object reads; working-tree builds retain filesystem selection.
|
||||
CLI mapping and prebuilt path selection use committed directory facts. Regression
|
||||
tests cover captured links, changed working declarations, cycles, checkout
|
||||
boundaries, unavailable blobs, cancellation, and ordinary/prepared CI page-only
|
||||
delivery from a sparse checkout without Go. The complete offline suite and
|
||||
compiled public API/dependency checks pass.
|
||||
|
||||
**Evidence:**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user