Skip to main content

internal/infra/inference/identity.go

internal/infra/inference · 70 lines · 5 declarations · source

Declarations

var extractionImplementation

var extractionImplementation []byte

Include request fencing, response parsing and prompt composition in the configuration identity. These are compiled sources, never paths read from the operator's filesystem at runtime.

source

var promptImplementation

var promptImplementation []byte

source

var reportImplementation

var reportImplementation []byte

source

method Model.ExtractionIdentity

func (m *Model) ExtractionIdentity() string

ExtractionIdentity deliberately omits keys and URL userinfo/query/path. A path may contain a credential; even hashing it would turn provenance into retained secret-derived data. Model aliases and routing changes behind the same origin are not immutable weight identities.

source

method Reporter.ReportIdentity

func (r *Reporter) ReportIdentity() string

ReportIdentity identifies what wrote a community report, on the same terms extraction is identified on: the origin, the model, the compiled code that composes the request and parses the reply, and the prompt file itself.

Why the prompt is hashed rather than versioned

A version field in the YAML is a number somebody has to remember to change, and the edit that matters most — a small change of wording, made while tuning — is exactly the one where they will not. Hashing the compiled file makes the identity maintain itself: change the prompt at all and every report written under the old wording becomes distinguishable from one written under the new, which is what rule 14 requires of a prompt edit.

source