Documentation
¶
Index ¶
- Constants
- func ClientReployVersionV1(raw string) (string, error)
- func CompilePortableToolPlanV1(closures []SelectedClosureV1) (providers.PortableToolPlanV1, error)
- func ValidationProfileDigestV1(profile ValidationProfileRecordV1) (canonical.Digest, error)
- type ActiveFilesystemConstraintV1
- type ActiveNativePackageConstraintV1
- type ActiveProviderConstraintSourceV1
- type ActiveProviderConstraintsV1
- type ActivePythonBindingConstraintV1
- type ActivePythonOverrideConstraintV1
- type ArtifactSourceMappingV1
- type ArtifactSourceRecordV1
- type BindingArtifactRecordV1
- type BindingContractV1
- type BindingSetSchemaV1
- type BundledComponentV1
- type CanonicalBindingDemandV1
- type CanonicalCatalogRecordV1
- type CanonicalRequirementGroupV1
- type CatalogV1
- func (catalog *CatalogV1) DeriveIntegrationCasesV1() ([]IntegrationCaseV1, error)
- func (catalog *CatalogV1) Names() []string
- func (catalog *CatalogV1) ResolveSelectedClosuresV1(sets []ReleaseCandidateSetV1, domains []ProviderDomainSetV1, ...) (JointResolutionV1, error)
- func (catalog *CatalogV1) SelectReleaseCandidatesV1(group CanonicalRequirementGroupV1, observed TargetIdentityV1, ...) ([]ReleaseCandidateV1, error)
- type ClientCapabilitiesV1
- type ConstraintSourceV1
- type EmbeddedPortableToolArtifactSourceV1
- type EmbeddedPortableToolLockRecordSetV1
- type ImmutableOperationSnapshotV1
- type IntegrationCaseV1
- type IntegrationFixtureRecordV1
- type JointResolutionV1
- func ResolveEmbeddedPortableToolPlanByScopeV1(groups []CanonicalRequirementGroupV1, target TargetIdentityV1, ...) (providers.PortableToolPlanV1, JointResolutionV1, error)
- func ResolveEmbeddedPortableToolPlanV1(groups []CanonicalRequirementGroupV1, target TargetIdentityV1, ...) (providers.PortableToolPlanV1, JointResolutionV1, error)
- type NativePackageSetV1
- type PayloadRecordV1
- type PortableToolAuthoringEntryV1
- type PortableToolAuthoringResultV1
- type PortableToolAuthoringSourceV1
- type PortableToolDefinitionRecordV1
- type PortableToolRecordV1
- type ProviderDomainSetV1
- type RecordEnvironmentVariableV1
- type RecordProbeV1
- type RecordReferenceV1
- type RecordRuntimeV1
- type ReleaseCandidateSetV1
- type ReleaseCandidateV1
- type ReleaseContractV1
- type ReleaseManifestV1
- type ReleaseProvenanceV1
- type ResolutionOperationInputsV1
- type SelectedBindingArtifactRecordV1
- type SelectedBindingContractRecordV1
- type SelectedClosureRecordsV1
- type SelectedClosureV1
- type SelectedContractProjectionV1
- type SelectedPackageSetRecordV1
- type SelectedPayloadRecordV1
- type SelectedTargetBindingV1
- type SelectedTargetProjectionV1
- type SelectedTargetSelectionV1
- type SelectionCombinationV1
- type SelectionDimensionV1
- type SelectionSchemaV1
- type TargetBindingV1
- type TargetIdentityV1
- type TargetRecordV1
- type TargetSelectionV1
- type TargetSupportCaseV1
- type ToolExportV1
- type ToolRecordV1
- type ValidationEvidenceV1
- type ValidationProfileRecordV1
Constants ¶
const ( ToolRecordSchemaV1 = portabletool.ToolRecordSchemaV1 ReleaseManifestSchemaV1 = portabletool.ReleaseManifestSchemaV1 ReleaseContractSchemaV1 = portabletool.ReleaseContractSchemaV1 TargetRecordSchemaV1 = portabletool.TargetRecordSchemaV1 BindingContractSchemaV1 = portabletool.BindingContractSchemaV1 BindingArtifactSchemaV1 = portabletool.BindingArtifactSchemaV1 PayloadRecordSchemaV1 = portabletool.PayloadRecordSchemaV1 ArtifactSourceRecordSchemaV1 = portabletool.ArtifactSourceRecordSchemaV1 NativePackageSetSchemaV1 = portabletool.NativePackageSetSchemaV1 IntegrationFixtureSchemaV1 = portabletool.IntegrationFixtureSchemaV1 ValidationProfileSchemaV1 = portabletool.ValidationProfileSchemaV1 ValidationEvidenceSchemaV1 = portabletool.ValidationEvidenceSchemaV1 SelectedClosureIdentityV1 = portabletool.SelectedClosureIdentityV1 PayloadSymbolicLinkPolicyRejectV1 = portabletool.PayloadSymbolicLinkPolicyRejectV1 PayloadSymbolicLinkPolicyMaterializeRegularTargetV1 = portabletool.PayloadSymbolicLinkPolicyMaterializeRegularTargetV1 )
const (
ActiveProviderConstraintsSchemaV1 = "active-provider-constraints-v1"
)
Variables ¶
This section is empty.
Functions ¶
func ClientReployVersionV1 ¶
ClientReployVersionV1 maps Reploy's release identity to the semantic release coordinate that contract `supported_reploy` constraints are written against. A development or pre-release build carries the capabilities of the release it is building toward, so its suffix is dropped rather than treated as a semantic prerelease that no constraint would admit.
func CompilePortableToolPlanV1 ¶
func CompilePortableToolPlanV1(closures []SelectedClosureV1) (providers.PortableToolPlanV1, error)
CompilePortableToolPlanV1 projects selected catalog closures into the provider-neutral plan consumed by provider planning. The compiler owns the projection boundary: catalog record structs stay on the catalog side while the resulting envelopes are canonical provider data.
The input is treated as immutable. Every output collection is freshly allocated and ordered according to the provider plan contract.
func ValidationProfileDigestV1 ¶
func ValidationProfileDigestV1(profile ValidationProfileRecordV1) (canonical.Digest, error)
ValidationProfileDigestV1 validates a complete portable-tool validation profile and returns its canonical record identity.
Types ¶
type ActiveProviderConstraintSourceV1 ¶
type ActiveProviderConstraintSourceV1 struct {
Scope string `json:"scope"`
Source ConstraintSourceV1 `json:"source"`
NativePackages []ActiveNativePackageConstraintV1 `json:"native_packages"`
PythonBindings []ActivePythonBindingConstraintV1 `json:"python_bindings"`
InstallRoots []string `json:"install_roots"`
OwnedPaths []ActiveFilesystemConstraintV1 `json:"owned_paths"`
Artifacts []ActiveFilesystemConstraintV1 `json:"artifacts"`
Environment []RecordEnvironmentVariableV1 `json:"environment"`
Exports []ToolExportV1 `json:"exports"`
Capabilities []ToolExportV1 `json:"capabilities"`
}
ActiveProviderConstraintSourceV1 groups the constraints introduced by one stable source. Scope selects an existing ProviderDomainSetV1; callers cannot invent domain identities independently of the active provider graph.
type ActiveProviderConstraintsV1 ¶
type ActiveProviderConstraintsV1 struct {
Schema string `json:"schema"`
Sources []ActiveProviderConstraintSourceV1 `json:"sources"`
}
ActiveProviderConstraintsV1 is an explicit snapshot of constraints already present in the provider graph. Sources must be supplied as a canonical array, including an empty array when the active graph contributes no constraints.
type ActivePythonBindingConstraintV1 ¶
type ActivePythonBindingConstraintV1 struct {
Name string `json:"name"`
Requirements []string `json:"requirements"`
SupportedPython []string `json:"supported_python"`
InterpreterConstraints []string `json:"interpreter_constraints,omitempty"`
Overrides []ActivePythonOverrideConstraintV1 `json:"overrides,omitempty"`
}
type ActivePythonOverrideConstraintV1 ¶
type ActivePythonOverrideConstraintV1 struct {
Distribution string `json:"distribution"`
Kind string `json:"kind"`
Version string `json:"version,omitempty"`
}
ActivePythonOverrideConstraintV1 carries ordinary Python package override intent into joint resolution. Version overrides are ordinary exact package constraints; local overrides remain explicit so a selected portable wheel can be rejected before acquisition rather than by a later projection pass.
type ArtifactSourceMappingV1 ¶
type ArtifactSourceMappingV1 = portabletool.ArtifactSourceMappingV1
type ArtifactSourceRecordV1 ¶
type ArtifactSourceRecordV1 = portabletool.ArtifactSourceRecordV1
type BindingArtifactRecordV1 ¶
type BindingArtifactRecordV1 = portabletool.BindingArtifactRecordV1
type BindingContractV1 ¶
type BindingContractV1 = portabletool.BindingContractV1
type BindingSetSchemaV1 ¶
type BindingSetSchemaV1 = portabletool.BindingSetSchemaV1
type BundledComponentV1 ¶
type BundledComponentV1 = portabletool.BundledComponentV1
type CanonicalBindingDemandV1 ¶
type CanonicalBindingDemandV1 = toolrequest.CanonicalBindingDemandV1
CanonicalBindingDemandV1 and CanonicalRequirementGroupV1 remain exported from toolcatalog for solver callers while their catalog-independent parser representation lives in internal/toolrequest.
type CanonicalCatalogRecordV1 ¶
type CanonicalCatalogRecordV1 struct {
Path string
ID string
Digest canonical.Digest
CanonicalBytes []byte
}
CanonicalCatalogRecordV1 is one validated record ready for embedding. CanonicalBytes contains the exact bytes over which Digest was computed.
func ComposePortableToolCatalogV1 ¶
func ComposePortableToolCatalogV1(definitions []PortableToolDefinitionRecordV1) ([]CanonicalCatalogRecordV1, error)
ComposePortableToolCatalogV1 resolves authoring references, validates the closed graph, and emits canonical JSON records in path order. It clones all input records and never performs acquisition, execution, inheritance, or overlay processing.
type CanonicalRequirementGroupV1 ¶
type CanonicalRequirementGroupV1 = toolrequest.CanonicalRequirementGroupV1
type CatalogV1 ¶
type CatalogV1 struct {
// contains filtered or unexported fields
}
CatalogV1 is an immutable set of portable tool records indexed by exact identity, with the tool records reachable by qualified tool name.
func (*CatalogV1) DeriveIntegrationCasesV1 ¶
func (catalog *CatalogV1) DeriveIntegrationCasesV1() ([]IntegrationCaseV1, error)
DeriveIntegrationCasesV1 preflights the complete catalog before returning any runnable cases. The target leaves, rather than release-wide context or option schemas, own the case set.
func (*CatalogV1) Names ¶
Names lists the qualified tool names this catalog defines, in canonical order.
func (*CatalogV1) ResolveSelectedClosuresV1 ¶
func (catalog *CatalogV1) ResolveSelectedClosuresV1(sets []ReleaseCandidateSetV1, domains []ProviderDomainSetV1, operation ResolutionOperationInputsV1) (JointResolutionV1, error)
ResolveSelectedClosuresV1 jointly solves PTD-09 candidate sets. Candidate enumeration and canonical group construction deliberately remain outside this method.
func (*CatalogV1) SelectReleaseCandidatesV1 ¶
func (catalog *CatalogV1) SelectReleaseCandidatesV1(group CanonicalRequirementGroupV1, observed TargetIdentityV1, client ClientCapabilitiesV1, activeBindings []string) ([]ReleaseCandidateV1, error)
SelectReleaseCandidatesV1 normalizes the request, enumerates the releases it authorizes, and reduces them against the running client and observed target. Candidates are returned newest-first, so an older release that can satisfy the request survives when the newest cannot.
type ClientCapabilitiesV1 ¶
ClientCapabilitiesV1 describes the running client a candidate must satisfy.
func EmbeddedClientCapabilitiesV1 ¶
func EmbeddedClientCapabilitiesV1(reployVersion string) (ClientCapabilitiesV1, error)
EmbeddedClientCapabilitiesV1 describes the running Reploy client for embedded-catalog candidate selection.
type ConstraintSourceV1 ¶
ConstraintSourceV1 identifies the canonical input that introduced an active provider constraint. Kind describes the source family, such as blueprint or lock-state, while ID is a stable identifier within that family.
type EmbeddedPortableToolArtifactSourceV1 ¶
type EmbeddedPortableToolArtifactSourceV1 struct {
Scope string
Tool string
Artifact providers.PortableToolRecordReferenceV1
Descriptor providerstore.ArtifactDescriptor
Source providers.PortableToolSelectedRecordV1
Mirrors []string
}
EmbeddedPortableToolArtifactSourceV1 joins one selected artifact with the exact catalog source record that authorizes its acquisition.
type EmbeddedPortableToolLockRecordSetV1 ¶
type EmbeddedPortableToolLockRecordSetV1 struct {
Releases []providers.PortableToolReleaseManifestInputV1
Artifacts []EmbeddedPortableToolArtifactSourceV1
}
EmbeddedPortableToolLockRecordSetV1 carries the manifest and source records a build lock must retain for selected closures.
func EmbeddedPortableToolLockRecordsV1 ¶
func EmbeddedPortableToolLockRecordsV1(closures []SelectedClosureV1) (EmbeddedPortableToolLockRecordSetV1, error)
EmbeddedPortableToolLockRecordsV1 resolves, from the immutable embedded catalog, the release manifest that authorized each selected closure and the artifact-source record mapped to every selected payload or binding artifact. It reads catalog records only; it performs no acquisition.
type ImmutableOperationSnapshotV1 ¶
type ImmutableOperationSnapshotV1 struct {
CanonicalJSON string `json:"canonical_json"`
Digest canonical.Digest `json:"digest"`
}
ImmutableOperationSnapshotV1 is the complete canonical operation payload. A string owns its bytes, so acquisition can carry it unchanged without aliasing maps supplied by the caller.
type IntegrationCaseV1 ¶
type IntegrationCaseV1 struct {
ID canonical.Digest
ManifestReference RecordReferenceV1
Manifest ReleaseManifestV1
TargetReference RecordReferenceV1
Target TargetRecordV1
Support TargetSupportCaseV1
Fixture IntegrationFixtureRecordV1
Profiles []ValidationProfileRecordV1
}
IntegrationCaseV1 is one advertised target support case paired with its exact fixture and selected profiles. Derivation does not run or validate an image and does not create external support evidence.
func EmbeddedIntegrationCasesV1 ¶
func EmbeddedIntegrationCasesV1() ([]IntegrationCaseV1, error)
EmbeddedIntegrationCasesV1 exposes the same preflight over the generated first-party catalog for integration harnesses.
type IntegrationFixtureRecordV1 ¶
type IntegrationFixtureRecordV1 = portabletool.IntegrationFixtureRecordV1
type JointResolutionV1 ¶
type JointResolutionV1 struct {
Closures []SelectedClosureV1 `json:"closures"`
Snapshot ImmutableOperationSnapshotV1 `json:"snapshot"`
VisitedStates string `json:"visited_states"`
}
func ResolveEmbeddedPortableToolPlanByScopeV1 ¶
func ResolveEmbeddedPortableToolPlanByScopeV1( groups []CanonicalRequirementGroupV1, target TargetIdentityV1, client ClientCapabilitiesV1, activeBindingsByScope map[string][]string, domains []ProviderDomainSetV1, operation ResolutionOperationInputsV1, ) (providers.PortableToolPlanV1, JointResolutionV1, error)
ResolveEmbeddedPortableToolPlanByScopeV1 is the application-aware variant of ResolveEmbeddedPortableToolPlanV1. Binding inference is evaluated with the active ordinary providers for the candidate's own resolution scope; providers from another application cannot influence an omitted binding.
func ResolveEmbeddedPortableToolPlanV1 ¶
func ResolveEmbeddedPortableToolPlanV1( groups []CanonicalRequirementGroupV1, target TargetIdentityV1, client ClientCapabilitiesV1, activeBindings []string, domains []ProviderDomainSetV1, operation ResolutionOperationInputsV1, ) (providers.PortableToolPlanV1, JointResolutionV1, error)
ResolveEmbeddedPortableToolPlanV1 selects and jointly resolves canonical portable-tool requirement groups against Reploy's immutable embedded catalog, then compiles the selected closures into a provider-neutral plan. It returns the compiled plan and the joint result so callers can carry the selected closures and immutable operation snapshot into later stages.
The Catalog and Platform fields of operation are deliberately ignored. The helper replaces them with identities derived from the embedded catalog and the exact validated target used for selection, preventing callers from fabricating either input. This function performs no acquisition or materialization.
type NativePackageSetV1 ¶
type NativePackageSetV1 = portabletool.NativePackageSetV1
type PayloadRecordV1 ¶
type PayloadRecordV1 = portabletool.PayloadRecordV1
type PortableToolAuthoringEntryV1 ¶
PortableToolAuthoringEntryV1 maps one authoring source to its exact catalog-relative JSON output path. SourcePath is relative to the trusted authoring boundary.
type PortableToolAuthoringResultV1 ¶
type PortableToolAuthoringResultV1 struct {
Records []CanonicalCatalogRecordV1
Sources []PortableToolAuthoringSourceV1
}
PortableToolAuthoringResultV1 contains canonical composer output and the sorted transitive source manifest that produced it.
func LoadPortableToolAuthoringV1 ¶
func LoadPortableToolAuthoringV1(boundary string, entries []PortableToolAuthoringEntryV1) (PortableToolAuthoringResultV1, error)
LoadPortableToolAuthoringV1 resolves strict localized authoring sources beneath boundary and delegates canonical record production to the PTD-11 composer. It performs no runtime inheritance or overlay processing.
type PortableToolAuthoringSourceV1 ¶
PortableToolAuthoringSourceV1 records the exact bytes consumed for one reachable source. Path is normalized relative to the trusted boundary.
type PortableToolDefinitionRecordV1 ¶
type PortableToolDefinitionRecordV1 struct {
Path string
Record PortableToolRecordV1
}
PortableToolDefinitionRecordV1 places one typed authoring record at its intended catalog path. References must name an exact record ID. A missing digest is resolved by the composer when that ID is unambiguous; a supplied digest is always checked and is required when multiple revisions define the same ID.
type PortableToolRecordV1 ¶
type PortableToolRecordV1 = portabletool.RecordV1
PortableToolRecordV1 is retained as a compatibility alias for the shared canonical portable-tool record contract.
type ProviderDomainSetV1 ¶
type ProviderDomainSetV1 struct {
Scope string `json:"scope"`
PackageManager string `json:"package_manager"`
// Binding names the provider-owned Python binding/package authority. It is
// distinct from PackageManager because the APT transaction is shared while
// application Python roots remain isolated. Older callers that omit Binding
// retain the historical package-manager behavior.
Binding string `json:"binding,omitempty"`
Filesystem string `json:"filesystem"`
Environment string `json:"environment"`
Exports string `json:"exports"`
Capabilities string `json:"capabilities"`
}
ProviderDomainSetV1 names the provider and destination authority domains visible from one canonical resolution scope. Equal names mean that two scopes genuinely share that authority; unequal names keep their constraints isolated.
type RecordEnvironmentVariableV1 ¶
type RecordEnvironmentVariableV1 = portabletool.RecordEnvironmentVariableV1
type RecordProbeV1 ¶
type RecordProbeV1 = portabletool.RecordProbeV1
type RecordReferenceV1 ¶
type RecordReferenceV1 = portabletool.RecordReferenceV1
type RecordRuntimeV1 ¶
type RecordRuntimeV1 = portabletool.RecordRuntimeV1
type ReleaseCandidateSetV1 ¶
type ReleaseCandidateSetV1 struct {
Group CanonicalRequirementGroupV1
Candidates []ReleaseCandidateV1
}
ReleaseCandidateSetV1 is the PTD-09 output for one canonical requirement group. PTD-10 orders these sets independently of request input order.
type ReleaseCandidateV1 ¶
type ReleaseCandidateV1 struct {
Scope string
Manifest ReleaseManifestV1
Contract ReleaseContractV1
Target TargetRecordV1
Fixture IntegrationFixtureRecordV1
Profiles []ValidationProfileRecordV1
Bindings []string
Selections map[string][]string
Contributions []RecordReferenceV1
Exports []ToolExportV1
}
ReleaseCandidateV1 is one release that could satisfy a request on a target, with the contributions its own references select.
type ReleaseContractV1 ¶
type ReleaseContractV1 = portabletool.ReleaseContractV1
type ReleaseManifestV1 ¶
type ReleaseManifestV1 = portabletool.ReleaseManifestV1
type ReleaseProvenanceV1 ¶
type ResolutionOperationInputsV1 ¶
type ResolutionOperationInputsV1 struct {
Blueprint canonical.Envelope `json:"blueprint"`
Reploy canonical.Envelope `json:"reploy"`
Platform canonical.Envelope `json:"platform"`
Catalog canonical.Envelope `json:"catalog"`
ActiveProviders ActiveProviderConstraintsV1 `json:"active_providers"`
}
ResolutionOperationInputsV1 carries the complete canonical inputs that must remain fixed after joint solving. The selected candidate constraints are added by the solver before the immutable snapshot is sealed.
type SelectedBindingArtifactRecordV1 ¶
type SelectedBindingArtifactRecordV1 struct {
Reference RecordReferenceV1 `json:"reference"`
Record BindingArtifactRecordV1 `json:"record"`
}
type SelectedBindingContractRecordV1 ¶
type SelectedBindingContractRecordV1 struct {
Reference RecordReferenceV1 `json:"reference"`
Record BindingContractV1 `json:"record"`
}
type SelectedClosureRecordsV1 ¶
type SelectedClosureRecordsV1 struct {
BindingContracts []SelectedBindingContractRecordV1 `json:"binding_contracts"`
BindingArtifacts []SelectedBindingArtifactRecordV1 `json:"binding_artifacts"`
Payloads []SelectedPayloadRecordV1 `json:"payloads"`
PackageSets []SelectedPackageSetRecordV1 `json:"package_sets"`
}
type SelectedClosureV1 ¶
type SelectedClosureV1 struct {
Scope string `json:"scope"`
Provenance ReleaseProvenanceV1 `json:"provenance"`
Contract SelectedContractProjectionV1 `json:"contract"`
Target SelectedTargetProjectionV1 `json:"target"`
Records SelectedClosureRecordsV1 `json:"records"`
Fixture IntegrationFixtureRecordV1 `json:"fixture"`
Profiles []ValidationProfileRecordV1 `json:"profiles"`
Identity canonical.Digest `json:"identity"`
}
SelectedClosureV1 owns every selected record and every validation record it returns. Validation records authorize support but remain outside Identity.
func EmbeddedSelectedClosureForIntegrationCaseV1 ¶
func EmbeddedSelectedClosureForIntegrationCaseV1(caseV1 IntegrationCaseV1, scope string) (SelectedClosureV1, error)
EmbeddedSelectedClosureForIntegrationCaseV1 reconstructs the complete selected closure for one authenticated catalog case and caller-owned scope. Unlike a caller-supplied closure or lock digest, its runtime, exports, target contributions, and selected records come from embedded definitions.
type SelectedContractProjectionV1 ¶
type SelectedContractProjectionV1 struct {
Context string `json:"context"`
Bindings []string `json:"bindings"`
Selections map[string][]string `json:"selections"`
Runtime *RecordRuntimeV1 `json:"runtime"`
Exports []ToolExportV1 `json:"exports"`
}
SelectedContractProjectionV1 contains only behavior selected from a release contract. Bindings is nil when no binding was selected, as required by the selected-closure identity schema.
type SelectedPackageSetRecordV1 ¶
type SelectedPackageSetRecordV1 struct {
Reference RecordReferenceV1 `json:"reference"`
Record NativePackageSetV1 `json:"record"`
}
type SelectedPayloadRecordV1 ¶
type SelectedPayloadRecordV1 struct {
Reference RecordReferenceV1 `json:"reference"`
Record PayloadRecordV1 `json:"record"`
}
type SelectedTargetBindingV1 ¶
type SelectedTargetBindingV1 struct {
Name string `json:"name"`
Contract RecordReferenceV1 `json:"contract"`
Artifacts []RecordReferenceV1 `json:"artifacts"`
PackageSets []RecordReferenceV1 `json:"package_sets"`
Exports []ToolExportV1 `json:"exports"`
}
type SelectedTargetProjectionV1 ¶
type SelectedTargetProjectionV1 struct {
Identity TargetIdentityV1 `json:"identity"`
PackageSets []RecordReferenceV1 `json:"package_sets"`
Bindings []SelectedTargetBindingV1 `json:"bindings"`
Payloads []RecordReferenceV1 `json:"payloads"`
Selections []SelectedTargetSelectionV1 `json:"selections"`
Exports []ToolExportV1 `json:"exports"`
}
type SelectedTargetSelectionV1 ¶
type SelectedTargetSelectionV1 struct {
Dimension string `json:"dimension"`
Value string `json:"value"`
Payloads []RecordReferenceV1 `json:"payloads"`
PackageSets []RecordReferenceV1 `json:"package_sets"`
Exports []ToolExportV1 `json:"exports"`
}
type SelectionCombinationV1 ¶
type SelectionCombinationV1 = portabletool.SelectionCombinationV1
type SelectionDimensionV1 ¶
type SelectionDimensionV1 = portabletool.SelectionDimensionV1
type SelectionSchemaV1 ¶
type SelectionSchemaV1 = portabletool.SelectionSchemaV1
type TargetBindingV1 ¶
type TargetBindingV1 = portabletool.TargetBindingV1
type TargetIdentityV1 ¶
type TargetIdentityV1 = portabletool.TargetIdentityV1
type TargetRecordV1 ¶
type TargetRecordV1 = portabletool.TargetRecordV1
type TargetSelectionV1 ¶
type TargetSelectionV1 = portabletool.TargetSelectionV1
type TargetSupportCaseV1 ¶
type TargetSupportCaseV1 = portabletool.TargetSupportCaseV1
type ToolExportV1 ¶
type ToolExportV1 = portabletool.ToolExportV1
type ToolRecordV1 ¶
type ToolRecordV1 = portabletool.ToolRecordV1
type ValidationEvidenceV1 ¶
type ValidationEvidenceV1 = portabletool.ValidationEvidenceV1
func DecodePortableToolValidationEvidenceV1 ¶
func DecodePortableToolValidationEvidenceV1(payload []byte) (ValidationEvidenceV1, error)
DecodePortableToolValidationEvidenceV1 decodes and validates an external evidence record. A valid record alone does not establish current support.
type ValidationProfileRecordV1 ¶
type ValidationProfileRecordV1 = portabletool.ValidationProfileRecordV1
func DecodePortableToolValidationProfileV1 ¶
func DecodePortableToolValidationProfileV1( reference providers.PortableToolRecordReferenceV1, data providers.CanonicalProviderData, ) (ValidationProfileRecordV1, error)
DecodePortableToolValidationProfileV1 converts one canonical provider envelope back into the exact validation-profile record it was compiled from. It is the sole plan-to-executor conversion boundary: a scheduler decodes the profile carried by the plan rather than re-reading catalog state, so locked replay cannot pick up a moving definition.
The reference is authoritative. Decoding is strict, the decoded record is revalidated, and its recomputed identity must equal the reference digest, so a substituted or mutated envelope fails before any probe runs.
Source Files
¶
- authoring_loader.go
- candidates.go
- catalog.go
- catalog_validation.go
- definition_composer.go
- embedded_builder.go
- embedded_catalog.go
- embedded_resolution.go
- integration_cases.go
- portable_tool_plan.go
- records.go
- records_clone.go
- records_compare.go
- records_compose.go
- records_decode.go
- records_graph.go
- records_validate.go
- solver.go
- validation_profile.go