fix(cognitive): ignore volatile discovery timestamp
CI / test (push) Successful in 15s

This commit is contained in:
m
2026-08-17 09:33:43 +03:00
parent a25a57ab69
commit 6fbc89fe62
2 changed files with 7 additions and 3 deletions
+2 -2
View File
@@ -69,8 +69,8 @@ func (a *OpenAICompatibleLocalAdapter) Discover(ctx context.Context) ([]Discover
if item.ID == "" {
continue
}
canonical, _ := json.Marshal(item)
digest := sha256.Sum256(canonical)
stableMetadata := fmt.Sprintf("%s\x00%s\x00%d\x00%d\x00%d\x00%d\x00%s", item.ID, item.OwnedBy, item.Meta.Context, item.Meta.TrainingContext, item.Meta.Parameters, item.Meta.Size, item.Meta.FileType)
digest := sha256.Sum256([]byte(stableMetadata))
contextBytes := item.Meta.Context * 4
models = append(models, DiscoveredModel{ProviderModelID: capability.ProviderModelID(item.ID), Fingerprint: capability.ModelFingerprint(hex.EncodeToString(digest[:])), MaxContextBytes: contextBytes, Modalities: []capability.ModelModality{capability.ModalityText}, Capabilities: []capability.ModelCapability{capability.CapabilityUnknown}, SizeBytes: item.Meta.Size, Runtime: item.OwnedBy, Quantization: item.Meta.FileType})
}
+5 -1
View File
@@ -20,7 +20,7 @@ func TestCPUDiscoveryIsReadOnlyAndCredentialFree(t *testing.T) {
if r.Method != http.MethodGet || r.URL.Path != "/v1/models" || r.Header.Get("Authorization") != "" {
t.Fatalf("unexpected request %s %s auth=%q", r.Method, r.URL.Path, r.Header.Get("Authorization"))
}
_, _ = io.WriteString(w, `{"data":[{"id":"same-name","created":1,"owned_by":"local","meta":{"n_ctx":2048,"n_params":3,"size":10,"ftype":"Q4"}}]}`)
_, _ = io.WriteString(w, `{"data":[{"id":"same-name","created":`+string(rune('0'+requests))+`,"owned_by":"local","meta":{"n_ctx":2048,"n_params":3,"size":10,"ftype":"Q4"}}]}`)
}))
defer server.Close()
adapter, err := models.NewOpenAICompatibleLocalAdapter(server.URL+"/v1", nil)
@@ -31,6 +31,10 @@ func TestCPUDiscoveryIsReadOnlyAndCredentialFree(t *testing.T) {
if probe.Health != capability.HealthAvailable || len(discovered) != 1 || requests != 1 {
t.Fatalf("probe=%+v models=%+v requests=%d", probe, discovered, requests)
}
second, probe := adapter.Discover(context.Background())
if probe.Health != capability.HealthAvailable || len(second) != 1 || second[0].Fingerprint != discovered[0].Fingerprint {
t.Fatalf("volatile created field changed fingerprint: %s != %s", second[0].Fingerprint, discovered[0].Fingerprint)
}
}
func TestOllamaDiscoveryDoesNotRunInference(t *testing.T) {