Documentation
¶
Overview ¶
Package definitions owns immutable versioned lifecycle documents. Documents are constructed by their typed owners, never by accepting arbitrary JSON.
Index ¶
- Constants
- func AssembleEpochBody(spec EpochSpecification) ([]byte, error)
- func AssembleInterpreterBody(spec InterpreterSpecification) ([]byte, error)
- func AssembleRetentionBody(spec RetentionSpecification) ([]byte, error)
- func AssembleSchemaBody(spec SchemaSpecification) ([]byte, error)
- func GenerateEpochBody() ([]byte, error)
- func GenerateInterpreterBody() ([]byte, error)
- func GenerateRetentionBody() ([]byte, error)
- func GenerateRuntimeBody(contract ir.RuntimeContractID) ([]byte, error)
- func GenerateSchemaBody() ([]byte, error)
- func NormalizePayload(kind provenance.EvidenceKind, payload []byte) ([]byte, error)
- func RuntimeContractForDelivery(delivery ir.RuntimeContractID) (ir.RuntimeContractID, error)
- func RuntimeContracts() []ir.RuntimeContractID
- type ActiveDocuments
- type ByteBounds
- type Document
- func (d Document) Body() []byte
- func (d Document) Codec() model.DefinitionCodec
- func (d Document) Content() model.ContentIdentity
- func (d Document) Coordinate() []byte
- func (d Document) ID() model.DefinitionID
- func (d Document) IsValid() bool
- func (d Document) Kind() model.DefinitionKind
- func (d Document) Version() uint32
- type EpochPhase
- type EpochQueue
- type EpochRole
- type EpochSpecification
- type EpochStage
- type EpochTransition
- type EpochWorkflow
- type IdentityDescriptor
- type InterpreterSpecification
- type InterpreterStage
- type LifecycleDescriptor
- type RetentionSpecification
- type RuntimeSpecification
- type SchemaSpecification
- type SourceEntry
Constants ¶
const EpochCohort = "1"
EpochCohort is the DBOS recovery cohort marker this binary executes. It is stated as a literal so the epoch document never imports the durable engine; the cohort agreement check proves it still equals the engine owner.
const EpochDocumentID model.DefinitionID = "pasture.epoch.implementation"
EpochDocumentID is the stable definition identity of the epoch implementation document. It does not change across versions and never carries an actor, epoch/task ID, timestamp, local path, or assignment.
const EpochDocumentVersion uint32 = 1
EpochDocumentVersion is the explicit format/content revision of the epoch implementation document. It is tracked independently of the DBOS recovery cohort the document carries: ordinary manifest changes never bump the cohort, and a cohort bump never silently rides a manifest change.
const EvidenceKind = provenance.EvidenceKind("pasture.lifecycle.definition.v2")
const InterpreterDocumentID model.DefinitionID = "pasture.lifecycle.interpreter"
InterpreterDocumentID is the stable definition identity of the interpreter document. It does not change across versions and never selects whatever interpreter happens to be marked active in a store.
const InterpreterDocumentVersion uint32 = 1
InterpreterDocumentVersion is the explicit format/content revision of the interpreter document. A body change for the stable interpreter ID requires a bump, enforced by the committed version ledger fixture.
const RetentionDocumentID model.DefinitionID = "pasture.lifecycle.retention.store-all"
RetentionDocumentID is the stable definition identity of the store-all retention policy document. It does not change across versions, and no alternate retention mode exists.
const RetentionDocumentVersion uint32 = 1
RetentionDocumentVersion is the explicit format/content revision of the retention policy document. A body change for the stable store-all ID requires a bump, enforced by the committed version ledger fixture.
const RuntimeDocumentVersion uint32 = 1
const SchemaDocumentID model.DefinitionID = "pasture.lifecycle.occurrence-schema"
SchemaDocumentID is the stable definition identity of the lifecycle schema document. It does not change across versions.
const SchemaDocumentVersion uint32 = 1
SchemaDocumentVersion is the explicit format/content revision of the lifecycle schema document. It is not the host version, the release number, or any store version. A body change for the stable schema ID requires a bump, enforced by the committed version ledger fixture.
Variables ¶
This section is empty.
Functions ¶
func AssembleEpochBody ¶
func AssembleEpochBody(spec EpochSpecification) ([]byte, error)
AssembleEpochBody encodes one epoch specification as the canonical owner body. The generator and the round-trip checks share this assembler.
func AssembleInterpreterBody ¶
func AssembleInterpreterBody(spec InterpreterSpecification) ([]byte, error)
AssembleInterpreterBody encodes one interpreter specification as the canonical owner body. The generator and the round-trip checks share this assembler.
func AssembleRetentionBody ¶
func AssembleRetentionBody(spec RetentionSpecification) ([]byte, error)
AssembleRetentionBody encodes one retention specification as the canonical owner body. The generator and the round-trip checks share this assembler.
func AssembleSchemaBody ¶
func AssembleSchemaBody(spec SchemaSpecification) ([]byte, error)
AssembleSchemaBody encodes one schema specification as the canonical owner body. The generator and the round-trip checks share this assembler so the committed bytes are always exactly what the descriptor describes.
func GenerateEpochBody ¶
GenerateEpochBody is the production owner codec used by explicit generation. It never reads source files or a store at runtime: the source manifest travels in the committed generated inventory.
func GenerateInterpreterBody ¶
GenerateInterpreterBody is the production owner codec used by explicit generation. It never reads source files or a store at runtime.
func GenerateRetentionBody ¶
GenerateRetentionBody is the production owner codec used by explicit generation. It never reads a store at runtime.
func GenerateRuntimeBody ¶
func GenerateRuntimeBody(contract ir.RuntimeContractID) ([]byte, error)
GenerateRuntimeBody is the production owner codec used by explicit generation. It never reads source files or a store at runtime.
func GenerateSchemaBody ¶
GenerateSchemaBody is the production owner codec used by explicit generation. It never reads a store at runtime.
func NormalizePayload ¶
func NormalizePayload(kind provenance.EvidenceKind, payload []byte) ([]byte, error)
NormalizePayload uses exactly the public journal codec used at commit. It performs no journal I/O, invents no result IDs and has no authority input.
func RuntimeContractForDelivery ¶
func RuntimeContractForDelivery(delivery ir.RuntimeContractID) (ir.RuntimeContractID, error)
RuntimeContractForDelivery resolves one delivery (registration-spelled) contract to the runtime-spelled contract whose compiled owner document was built for it. The match is by the registration coordinate the runtime owner stamps into its specification, never by string surgery on either spelling: a delivery names the wire profile, the runtime document names the versioned execution profile compiled for that wire, and this function proves they are the same profile. An unregistered delivery contract is refused, not guessed.
func RuntimeContracts ¶
func RuntimeContracts() []ir.RuntimeContractID
RuntimeContracts includes the historical OpenCode dispatcher still supported by this binary, not just the three installation defaults.
Types ¶
type ActiveDocuments ¶
type ActiveDocuments struct {
Runtime Document
Schema Document
EpochImplementation Document
Retention Document
Interpreter Document
}
ActiveDocuments is the complete immutable owner document set one runtime contract activates against: the contract's own runtime document plus the shared schema, epoch implementation, retention, and interpreter documents. Every document is owner-built from its generated authority; none is an unavailable-body placeholder.
func ActiveForContract ¶
func ActiveForContract(contract ir.RuntimeContractID) (ActiveDocuments, error)
ActiveForContract returns the complete owner document set for one runtime contract. The runtime document is selected by contract; the remaining four are the shared compiled documents. All five are independently activatable through the same gated writer the runtime document uses.
func (ActiveDocuments) Validate ¶
func (d ActiveDocuments) Validate() error
Validate proves every document in the set is owner-built and distinct. It reports which slot fails so a partial set can never be mistaken for the complete contract documents.
type ByteBounds ¶
ByteBounds is an inclusive byte-length bound for codec-validated text.
type Document ¶
type Document struct {
// contains filtered or unexported fields
}
func Decode ¶
Decode validates historical documents using their versioned owner codec, not the currently generated content. Other body owners extend this closed dispatch.
func NewEpochImplementation ¶
NewEpochImplementation returns the compiled epoch owner document from its generated body. Historical bodies remain decodable; only this constructor provides a document the activation writer accepts.
func NewInterpreter ¶
NewInterpreter returns the compiled interpreter owner document from its generated body. Historical bodies remain decodable; only this constructor provides a document the activation writer accepts.
func NewLifecycleSchema ¶
NewLifecycleSchema returns the compiled schema owner document from its generated body. Historical bodies remain decodable; only this constructor provides a document the activation writer accepts.
func NewRetentionPolicy ¶
NewRetentionPolicy returns the compiled retention owner document from its generated body. Historical bodies remain decodable; only this constructor provides a document the activation writer accepts.
func NewRuntimeContract ¶
func NewRuntimeContract(contract ir.RuntimeContractID) (Document, error)
func (Document) Codec ¶
func (d Document) Codec() model.DefinitionCodec
func (Document) Content ¶
func (d Document) Content() model.ContentIdentity
func (Document) Coordinate ¶
Coordinate is the shared owner encoding used by both operation and command domains. Body content is already normalized; it is not re-hashed differently.
func (Document) ID ¶
func (d Document) ID() model.DefinitionID
func (Document) Kind ¶
func (d Document) Kind() model.DefinitionKind
type EpochPhase ¶
type EpochPhase struct {
ID string `json:"id"`
Number int `json:"number"`
OwnerRoles []string `json:"owner_roles"`
Transitions []EpochTransition `json:"transitions"`
}
EpochPhase records the execution shape of one protocol phase: its identity, number, owner roles, and valid transitions with their gate conditions. prose such as phase names and narratives is not execution shape and is excluded.
type EpochQueue ¶
EpochQueue names one durable work queue and its concurrency bound.
type EpochRole ¶
type EpochRole struct {
ID string `json:"id"`
}
EpochRole records one protocol role by its wire identity.
type EpochSpecification ¶
type EpochSpecification struct {
// Cohort is the DBOS recovery cohort marker. Recovery filters in-flight
// epochs by executor and cohort, so a rebuilt binary with this marker
// still recovers epochs an earlier build left in flight.
Cohort string `json:"cohort"`
// ProtocolTransitions are the canonical protocol reachability table:
// every phase with the phases directly reachable from it.
ProtocolTransitions map[string][]string `json:"protocol_transitions"`
// ConsensusGated are the protocol transitions requiring all-ACCEPT
// consensus, as from/to pairs.
ConsensusGated [][2]string `json:"consensus_gated"`
// BlockerGated are the protocol transitions blocked while blockers stand.
BlockerGated [][2]string `json:"blocker_gated"`
// ReviseDrivesBack are the review phases where a REVISE vote forces only
// the backward transition.
ReviseDrivesBack []string `json:"revise_drives_back"`
// Phases are the codegen phase inventory with owner roles and gated
// transitions, sorted by phase number.
Phases []EpochPhase `json:"phases"`
// Roles are the codegen role inventory by wire identity, sorted.
Roles []EpochRole `json:"roles"`
// Workflows are the codegen workflow inventory with execution stages,
// sorted by workflow identity.
Workflows []EpochWorkflow `json:"workflows"`
// WriteClasses are the closed lifecycle write classes the gate admits,
// in class order.
WriteClasses []string `json:"write_classes"`
// SignalTopics are the durable epoch signal topics, sorted.
SignalTopics []string `json:"signal_topics"`
// QueryNames are the read-only epoch state queries, sorted.
QueryNames []string `json:"query_names"`
// Queues are the durable work queues with their concurrency discipline.
Queues []EpochQueue `json:"queues"`
// Sources is the engine execution source manifest: every production epoch
// execution source with its generation-time content hash, sorted by path.
Sources []SourceEntry `json:"sources"`
}
EpochSpecification is the shared pure descriptor of the binary's compiled epoch implementation: the typed protocol state machine plus the generated engine execution source manifest. It describes the binary, not any epoch instance.
func AssembleEpochSpecification ¶
func AssembleEpochSpecification(sources []SourceEntry) (EpochSpecification, error)
AssembleEpochSpecification builds the epoch specification around one source manifest. Explicit generation supplies the freshly hashed manifest; the binary variant supplies the committed embedded one. Both paths share this assembler so the committed bytes always match the hashed sources.
func EpochSpecificationForBinary ¶
func EpochSpecificationForBinary() (EpochSpecification, error)
EpochSpecificationForBinary is the pure owner descriptor used by both the document generator and the epoch agreement checks. The source manifest comes from the committed generated inventory, never from a runtime filesystem read; every other literal names a value the protocol, gate, engine, or codegen owners enforce.
func ParseEpochSpecification ¶
func ParseEpochSpecification(body []byte) (EpochSpecification, error)
ParseEpochSpecification strictly decodes one schema owner body and returns its shared specification. Readers and agreement checks consume the specification through this parser, never by reimplementing the codec.
type EpochStage ¶
type EpochStage struct {
ID string `json:"id"`
Order int `json:"order"`
Execution string `json:"execution"`
Phase string `json:"phase,omitempty"`
}
EpochStage is one workflow stage with its execution mode and optional phase mapping.
type EpochTransition ¶
type EpochTransition struct {
To string `json:"to"`
Condition string `json:"condition"`
Action string `json:"action,omitempty"`
}
EpochTransition is one valid phase transition with its gate condition and optional action on transition.
type EpochWorkflow ¶
type EpochWorkflow struct {
ID string `json:"id"`
Role string `json:"role"`
Stages []EpochStage `json:"stages"`
}
EpochWorkflow records the execution shape of one protocol workflow: its identity, owning role, and stages with their execution mode and phase mapping. Stage prose and action detail are not execution shape.
type IdentityDescriptor ¶
type IdentityDescriptor struct {
Kind pastureruntime.NativeIdentityKind `json:"kind"`
Name string `json:"name"`
Required bool `json:"required"`
}
type InterpreterSpecification ¶
type InterpreterSpecification struct {
// Pipeline is the ordered interpretation contract from verified event to
// durable record.
Pipeline []InterpreterStage `json:"pipeline"`
// Semantics are the closed event meanings the transform discriminates.
Semantics []string `json:"semantics"`
// Terminals maps each non-observation semantic to the legalization
// terminal the transform produces. Observation needs no terminal.
Terminals map[string]string `json:"terminals"`
// UnresolvedReasons are the closed correlation-gap reasons.
UnresolvedReasons []string `json:"unresolved_reasons"`
// IdentityKinds are the native correlation kinds interpretation may
// carry, in canonical order.
IdentityKinds []string `json:"identity_kinds"`
// IdentityBounds bounds interpretation identity values.
IdentityBounds ByteBounds `json:"identity_bounds"`
// DecisionKinds are the consultation decision vocabulary shared by the
// evaluator, the durable consultation, and the backend.
DecisionKinds []string `json:"decision_kinds"`
// RecordKinds are the durable interpreted evidence kinds: v1 is read-only
// legacy without a coordinate, v2 carries the producing manifest, and v3
// carries the complete five-reference semantic envelope.
RecordKinds []string `json:"record_kinds"`
// VocabularyRule states how the interpretation vocabulary travels: every
// produced record stamps the manifest coordinate it was interpreted
// against; readers resolve meaning to the journaled vocabulary, never to
// the current binary's belief.
VocabularyRule string `json:"vocabulary_rule"`
// Sources is the compiled interpretation source manifest: every
// production interpretation source with its generation-time content hash,
// sorted by path.
Sources []SourceEntry `json:"sources"`
}
InterpreterSpecification is the shared pure descriptor of the compiled interpretation contract: the verified-L2/transform/record pipeline, the closed semantic enums with their identity bounds, and the explicit source inventory the producing entry is compiled from. It is not the metamodel vocabulary: the vocabulary is an input coordinate the pipeline stamps, and its owner tracks it separately.
func AssembleInterpreterSpecification ¶
func AssembleInterpreterSpecification(sources []SourceEntry) (InterpreterSpecification, error)
AssembleInterpreterSpecification builds the interpreter specification around one source manifest. Explicit generation supplies the freshly hashed manifest; the binary variant supplies the committed embedded one.
func InterpreterSpecificationForBinary ¶
func InterpreterSpecificationForBinary() (InterpreterSpecification, error)
InterpreterSpecificationForBinary is the pure owner descriptor used by both the document generator and the interpretation agreement checks. The source manifest comes from the committed generated inventory, never from a runtime filesystem read.
func ParseInterpreterSpecification ¶
func ParseInterpreterSpecification(body []byte) (InterpreterSpecification, error)
ParseInterpreterSpecification strictly decodes one schema owner body and returns its shared specification. Readers and agreement checks consume the specification through this parser, never by reimplementing the codec.
type InterpreterStage ¶
type InterpreterStage struct {
Stage string `json:"stage"`
Owner string `json:"owner"`
Entry string `json:"entry"`
Input string `json:"input"`
Output string `json:"output"`
}
InterpreterStage is one stage of the verified interpretation contract: the owning package, its entry symbol, and the value it produces. The stages run in order; no stage reads the journal and no stage invents journal refs.
type LifecycleDescriptor ¶
type LifecycleDescriptor struct {
Name string `json:"name"`
Semantic pastureruntime.EventSemantic `json:"semantic"`
Surface pastureruntime.HookSurface `json:"surface"`
Blocking pastureruntime.BlockingMode `json:"blocking"`
Mutation pastureruntime.MutationMode `json:"mutation"`
Order pastureruntime.HandlerOrder `json:"order"`
Reconciliation pastureruntime.ReconciliationMode `json:"reconciliation"`
Failure pastureruntime.FailureMode `json:"failure"`
DeclaredFailure pastureruntime.FailureMode `json:"declared_failure"`
Evidence pastureruntime.FailureEvidence `json:"evidence"`
AskEvidence pastureruntime.FailureEvidence `json:"ask_evidence"`
PreAction bool `json:"pre_action"`
Response pastureruntime.ResponseCapability `json:"response"`
StopLoop pastureruntime.StopLoopPolicy `json:"stop_loop"`
IdentityPolicy pastureruntime.IdentityPolicy `json:"identity_policy"`
Identities []IdentityDescriptor `json:"identities"`
UnresolvedIdentities []pastureruntime.NativeIdentityKind `json:"unresolved_identities"`
}
type RetentionSpecification ¶
type RetentionSpecification struct {
// Policy names the single retention mode. Committed named bodies are
// retained; there is no age- or size-bounded dropping of journal rows.
Policy string `json:"policy"`
// CommittedNamedBodies states the fate of payload blobs a recorded
// occurrence names: retained, never reclaimed.
CommittedNamedBodies string `json:"committed_named_bodies"`
// OrphanEligibility states when an unnamed payload blob may be reclaimed:
// unreferenced by any recorded occurrence, strictly older than the snapshot
// instant minus the writer window, and of known age.
OrphanEligibility string `json:"orphan_eligibility"`
// UnknownAge states the fate of a blob with an unknown written-at stamp:
// never eligible, whatever the snapshot instant.
UnknownAge string `json:"unknown_age"`
// ReadCap bounds how many orphan blobs one projection rebuild reclaims. It
// sizes a read command's added latency, not a host budget.
ReadCap int `json:"read_cap"`
// PruneBatchCap bounds how many orphan blobs one operator prune batch
// deletes. Each batch is its own short write transaction.
PruneBatchCap int `json:"prune_batch_cap"`
// WindowRule names the writer window the reclaim ages against: the
// WorkflowResult tier of the injected timeout profile, or the operator's
// retention age when larger. The window is a floor and never a ceiling.
WindowRule string `json:"window_rule"`
// WriteOrder states the deliberate blob/journal order: the payload blob is
// written before the journal row that names it, so an orphan blob is
// reclaimable while a journal row naming an absent blob is corruption.
WriteOrder string `json:"write_order"`
// Digest names the content-address algorithm for payload blobs.
Digest string `json:"digest"`
// NewestRow states the operator prune's one exclusion: the row at the
// greatest written-at is never deleted.
NewestRow string `json:"newest_row"`
}
RetentionSpecification is the shared pure descriptor of the store-all SQLite retention policy. It is consumed by the document generator and the owner agreement checks; the injected writer window is described by its timeout-tier rule, never by a guessed wall-clock value.
func ParseRetentionSpecification ¶
func ParseRetentionSpecification(body []byte) (RetentionSpecification, error)
ParseRetentionSpecification strictly decodes one schema owner body and returns its shared specification. Readers and agreement checks consume the specification through this parser, never by reimplementing the codec.
func RetentionSpecificationForBinary ¶
func RetentionSpecificationForBinary() (RetentionSpecification, error)
RetentionSpecificationForBinary is the pure owner descriptor used by both the document generator and the reclaim-policy agreement checks.
type RuntimeSpecification ¶
type RuntimeSpecification struct {
Contract ir.RuntimeContractID `json:"contract"`
Harness ir.HarnessID `json:"harness"`
Minimum string `json:"minimum"`
Maximum string `json:"maximum"`
HasUpperBound bool `json:"has_upper_bound"`
IncludesPrereleases bool `json:"includes_prereleases"`
NativeTransport string `json:"native_transport"`
Operations []pastureruntime.BindingDescriptor `json:"operations"`
Effects []pastureruntime.BindingDescriptor `json:"effects"`
Capabilities []pastureruntime.CapabilityDescriptor `json:"capabilities"`
Registration registration.Manifest `json:"registration"`
Lifecycle []LifecycleDescriptor `json:"lifecycle"`
}
RuntimeSpecification joins the complete compiled runtime classification and native lifecycle catalogs. It contains no host instance, payload or authority.
func ParseRuntimeSpecification ¶
func ParseRuntimeSpecification(body []byte) (RuntimeSpecification, error)
ParseRuntimeSpecification strictly decodes one runtime owner body and returns its shared specification. Readers consume the specification through this parser, never by reimplementing the codec. The specification carries both the runtime-spelled contract and the registration coordinate it was compiled for, which is the owner pairing the receipt boundary enforces.
func RuntimeSpecificationForContract ¶
func RuntimeSpecificationForContract(id ir.RuntimeContractID) (RuntimeSpecification, error)
RuntimeSpecificationForContract is the pure owner descriptor used by both the document generator and compiled-profile agreement checks.
type SchemaSpecification ¶
type SchemaSpecification struct {
// OccurrenceKinds are the durable occurrence evidence kinds the receipt
// writer emits. v1 is read-only legacy without refs; v2 carries the
// complete four-reference envelope and is the only kind new writes emit.
OccurrenceKinds []string `json:"occurrence_kinds"`
// InterpretedKinds are the durable interpreted evidence kinds. v1 is
// read-only legacy without a metamodel coordinate; v2 carries one; v3
// carries the complete five-reference semantic envelope.
InterpretedKinds []string `json:"interpreted_kinds"`
// DefinitionKinds are the durable definition snapshot evidence kinds for
// the legacy metamodel writer (v1) and the five-kind writer (v2).
DefinitionKinds []string `json:"definition_kinds"`
// DefinitionStateKinds are the durable activation-state evidence kinds
// paired with the snapshot kinds above.
DefinitionStateKinds []string `json:"definition_state_kinds"`
// DefinitionSlots are the ordered result slots every definition activation
// commits, in commit order.
DefinitionSlots []string `json:"definition_slots"`
// OccurrenceEnvelope is the complete four-reference occurrence envelope:
// definition kind per slot name.
OccurrenceEnvelope map[string]model.DefinitionKind `json:"occurrence_envelope"`
// SemanticEnvelope is the complete five-reference semantic envelope:
// definition kind per slot name. The runtime, schema and implementation
// slots are shared with the occurrence envelope and must be exactly equal
// across the pair; no ref may be zero, dangling, or content-mismatched.
SemanticEnvelope map[string]model.DefinitionKind `json:"semantic_envelope"`
// occurrence/interpretation is admitted only when these refs are exactly
// equal; refs that each resolve separately but differ fail the pair.
SharedEnvelopeSlots []string `json:"shared_envelope_slots"`
// BindingKinds are the native correlation binding kinds an occurrence may
// carry, in canonical order.
BindingKinds []string `json:"binding_kinds"`
// BindingValueBytes bounds occurrence binding text: 1 through 512 bytes of
// valid UTF-8 with no surrounding padding and no control characters.
BindingValueBytes ByteBounds `json:"binding_value_bytes"`
// IdentityValueBytes bounds interpretation identity values: at most 512
// bytes with the same text discipline as bindings.
IdentityValueBytes ByteBounds `json:"identity_value_bytes"`
// PayloadDigest names the content-address algorithm for evidence payload
// blobs. The blob write precedes the journal append, so an orphan blob is
// reclaimable while a journal row naming an absent blob is corruption.
PayloadDigest string `json:"payload_digest"`
// CaptureDispositions are the numeric capture dispositions a receipt may
// record: valid plus every non-valid path, all of which still journal a
// complete occurrence envelope and never fabricate an interpretation.
CaptureDispositions []uint8 `json:"capture_dispositions"`
// CaptureOrigins are the provenance origins an envelope may record. Origin
// is provenance-only; the write gate never observes it.
CaptureOrigins []string `json:"capture_origins"`
// HostVersionSources are the closed provenance sources for the observed
// host version, which is provenance rather than an admission check.
HostVersionSources []string `json:"host_version_sources"`
// RuntimeContractRule states the contract pairing the codecs enforce: the
// envelope runtime ref resolves to the runtime body whose contract equals
// the delivery contract and the occurrence codec's contract.
RuntimeContractRule string `json:"runtime_contract_rule"`
}
SchemaSpecification is the shared pure descriptor of the durable lifecycle codec contract. It is consumed by the document generator, the owner agreement checks, and the dual-envelope readers; no caller invokes generation at runtime to obtain it.
The contract covers the wire evidence kinds the journal actually emits, the two envelope reference sets with their pairing rule, and the value bounds the codecs enforce. Host payload field catalogs remain runtime-contract data; this is not a host JSON schema and not the interpretation vocabulary.
func ParseSchemaSpecification ¶
func ParseSchemaSpecification(body []byte) (SchemaSpecification, error)
ParseSchemaSpecification strictly decodes one schema owner body and returns its shared specification. Readers and agreement checks consume the specification through this parser, never by reimplementing the codec.
func SchemaSpecificationForBinary ¶
func SchemaSpecificationForBinary() (SchemaSpecification, error)
SchemaSpecificationForBinary is the pure owner descriptor used by both the document generator and the compiled-codec agreement checks. Every literal below names a value the production codecs enforce; the agreement checks prove each one against its live owner, so drift fails loudly instead of rotting.
type SourceEntry ¶
SourceEntry is one generation-time engine/interpreter source with its content hash. Paths are repository-relative with forward slashes; hashes are lowercase hex over the exact file bytes the generator read.
func EpochSourceInventory ¶
func EpochSourceInventory() ([]SourceEntry, error)
EpochSourceInventory returns the committed generation-time engine execution source manifest. It reads the checked-in inventory, never the filesystem.
func InterpreterSourceInventory ¶
func InterpreterSourceInventory() ([]SourceEntry, error)
InterpreterSourceInventory returns the committed generation-time interpretation source manifest. It reads the checked-in inventory, never the filesystem.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
docgen
command
Command docgen regenerates the remaining lifecycle definition owner bodies: schema, retention, epoch implementation, and interpreter, plus the engine execution and interpretation source inventories the epoch and interpreter documents embed.
|
Command docgen regenerates the remaining lifecycle definition owner bodies: schema, retention, epoch implementation, and interpreter, plus the engine execution and interpretation source inventories the epoch and interpreter documents embed. |
|
runtimedocgen
command
|