Documentation
¶
Overview ¶
Package registry emits the generated application-level binding registry that composes every model package accessor in canonical import-path order.
Index ¶
Constants ¶
const Filename = "zz_golem_registry.gen.go"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type File ¶
func EmitShell ¶
func EmitShell(request ShellRequest) (File, error)
EmitShell produces the deterministic registry bootstrap used by compiler method interpretation and typed binding discovery. It carries the caller surface plus SystemEscape and the transactional system clients it returns, so a declaration body holding a caller transaction type-checks against the same ABI the final registry publishes. It is never a publishable artifact.
type ProviderInput ¶
type ProviderInput struct {
Schema physical.PhysicalSchema
Fingerprint ir.Fingerprint
SystemFingerprint ir.Fingerprint
MigrationManifest []byte
}
type Request ¶
type Request struct {
AppPackage modelcodegen.PackageSpec
ModelPackages []modelcodegen.PackageSpec
Actor ir.GoNamedTypeIR
GolemImportPath string
RuntimeImportPath string
GenerationDigest string
GeneratorVersion string
TemplateABIVersion string
Schema SchemaInput
}
type SchemaInput ¶
type SchemaInput struct {
Model ir.ModelIR
Contract ir.ContractIR
ModelFingerprint ir.Fingerprint
ContractFingerprint ir.Fingerprint
Providers []ProviderInput
}
SchemaInput remains generator-internal. Generated application code receives only opaque canonical byte blobs and public fixed-width digest values.
type ShellRequest ¶
type ShellRequest struct {
AppPackage modelcodegen.PackageSpec
Actor ir.GoNamedTypeIR
Model ir.ModelIR
Contract ir.ContractIR
GolemImportPath string
// DeclarationDiscovery selects the deliberately permissive mutation
// signatures used by the first typed source pass. Optimistic-concurrency
// ownership is itself discovered by that pass, so the pre-discovery ModelIR
// cannot yet choose between the classic and versioned final ABIs. This shell
// is never published; generation subsequently type-checks the exact final
// registry in the prospective artifact graph.
DeclarationDiscovery bool
}
ShellRequest describes the generated caller surface, and the system surface SystemEscape reaches from inside a caller transaction, needed while the source package is type-checked before its final registry exists. The shell is an in-memory overlay only: it contains exact public method signatures and no runtime, database, policy, or transaction behavior.