Exemplo
github.com/imdario/mergo v0.3.8: WithOverride
Amostra verificada para golang github.com/imdario/mergo v0.3.8: WithOverride. O contrato rodou em go 1.26 · linux debian/x64 · docker e passou.
sha256:6375b6a3d8ded7f7bbd90dc38edd2327246a1f0995bf0dc840579bd771ce53be
Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu.
Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas.
MIT-0
Evidência de execução
O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.
- Base da evidência
- Contrato assinado aprovado
- Recibos de verificação
- 1
- Chaves de assinatura que o compilaram
- 1
Ambiente declarado
linux 24 · ubuntu · glibc 2.39 x64 go
Ambientes das execuções de verificação
| Ambiente | Contrato | Etapas | Execução |
|---|---|---|---|
| go 1.26 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1golang:1.26@sha256:e30143be198a… |
2026-09-06 |
Caso
HOW- Objetivo
- verify github.com/imdario/mergo.WithOverride in pkg:golang/github.com/imdario/mergo@v0.3.8
- Pacotes
- Símbolos
-
- github.com/imdario/mergo.WithOverride
- Criado
- 2026-09-06T04:46:24Z
Contrato
- mergo.Merge with WithOverride overwrites non-empty destination struct fields with non-empty source values
- mergo.Merge without WithOverride preserves existing non-empty destination struct fields
- mergo.Merge with WithOverride does not overwrite non-empty destination fields with zero-value source fields
- mergo.Merge with WithOverride overrides matching keys in destination map with source map values
Arquivos
- PROMPT.md
- csx.json
- go.mod
- go.sum
- main.go
- spec.json
- test/contract.go
Código-fonte
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify github.com/imdario/mergo.WithOverride in pkg:golang/github.com/imdario/mergo@v0.3.8
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/github.com/imdario/mergo@v0.3.8
Demonstrate these symbols/APIs:
- github.com/imdario/mergo.WithOverride
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:79930199c1d807661ff9e4a0ce47b1bd3544a8482bab4337136055256d849ce6","contract":["mergo.Merge with WithOverride overwrites non-empty destination struct fields with non-empty source values","mergo.Merge without WithOverride preserves existing non-empty destination struct fields","mergo.Merge with WithOverride does not overwrite non-empty destination fields with zero-value source fields","mergo.Merge with WithOverride overrides matching keys in destination map with source map values"],"goal":"verify github.com/imdario/mergo.WithOverride in pkg:golang/github.com/imdario/mergo@v0.3.8","kind":"HOW","packages":["pkg:golang/github.com/imdario/mergo@v0.3.8"],"schemaVersion":1,"symbols":["github.com/imdario/mergo.WithOverride"]},"contractCommand":["go","run","./test"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"golang","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"go","schemaVersion":1},"license":"MIT-0","packages":["pkg:golang/github.com/imdario/mergo@v0.3.8"],"schemaVersion":1,"subject":"pkg:golang/github.com/imdario/mergo@v0.3.8","symbols":["github.com/imdario/mergo.WithOverride"],"verifierAdapter":"golang@1"}
module example.com/sample
go 1.26.6
require github.com/imdario/mergo v0.3.8
github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ=
github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
package main
import (
"fmt"
"log"
"github.com/imdario/mergo"
)
// ServerConfig holds configuration settings.
type ServerConfig struct {
Host string
Port int
Timeout int
Debug bool
}
// MergeConfig merges source configuration into destination.
// When override is true, WithOverride is used to overwrite non-empty destination fields.
func MergeConfig(dst *ServerConfig, src ServerConfig, override bool) error {
var opts []func(*mergo.Config)
if override {
opts = append(opts, mergo.WithOverride)
}
return mergo.Merge(dst, src, opts...)
}
func main() {
dst := ServerConfig{
Host: "localhost",
Port: 8080,
Timeout: 30,
Debug: false,
}
src := ServerConfig{
Port: 9090,
Timeout: 60,
}
if err := MergeConfig(&dst, src, true); err != nil {
log.Fatalf("failed to merge configuration: %v", err)
}
fmt.Printf("Merged Config: Host=%s Port=%d Timeout=%d Debug=%t\n",
dst.Host, dst.Port, dst.Timeout, dst.Debug)
}
{
"schemaVersion": 1,
"goal": "verify github.com/imdario/mergo.WithOverride in pkg:golang/github.com/imdario/mergo@v0.3.8",
"kind": "HOW",
"packages": [
"pkg:golang/github.com/imdario/mergo@v0.3.8"
],
"symbols": [
"github.com/imdario/mergo.WithOverride"
]
}
package main
import (
"fmt"
"os"
"github.com/imdario/mergo"
)
type Config struct {
Host string
Port int
Timeout int
}
func main() {
// Assertion 1: mergo.Merge with WithOverride overwrites non-empty destination struct fields with non-empty source values
dst1 := Config{Host: "localhost", Port: 8080, Timeout: 30}
src1 := Config{Port: 9090, Timeout: 60}
if err := mergo.Merge(&dst1, src1, mergo.WithOverride); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: assertion 1 failed with error: %v\n", err)
os.Exit(1)
}
if dst1.Host != "localhost" || dst1.Port != 9090 || dst1.Timeout != 60 {
fmt.Fprintf(os.Stderr, "FAIL: assertion 1 expected Host=localhost, Port=9090, Timeout=60; got %+v\n", dst1)
os.Exit(1)
}
// Assertion 2: mergo.Merge without WithOverride preserves existing non-empty destination struct fields
dst2 := Config{Host: "localhost", Port: 8080}
src2 := Config{Port: 9090, Timeout: 60}
if err := mergo.Merge(&dst2, src2); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: assertion 2 failed with error: %v\n", err)
os.Exit(1)
}
if dst2.Host != "localhost" || dst2.Port != 8080 || dst2.Timeout != 60 {
fmt.Fprintf(os.Stderr, "FAIL: assertion 2 expected Host=localhost, Port=8080, Timeout=60; got %+v\n", dst2)
os.Exit(1)
}
// Assertion 3: mergo.Merge with WithOverride does not overwrite non-empty destination fields with zero-value source fields
dst3 := Config{Host: "localhost", Port: 8080, Timeout: 30}
src3 := Config{Host: "", Port: 9090}
if err := mergo.Merge(&dst3, src3, mergo.WithOverride); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: assertion 3 failed with error: %v\n", err)
os.Exit(1)
}
if dst3.Host != "localhost" || dst3.Port != 9090 || dst3.Timeout != 30 {
fmt.Fprintf(os.Stderr, "FAIL: assertion 3 expected Host=localhost, Port=9090, Timeout=30; got %+v\n", dst3)
os.Exit(1)
}
// Assertion 4: mergo.Merge with WithOverride overrides matching keys in destination map with source map values
dstMap := map[string]int{"a": 1, "b": 2}
srcMap := map[string]int{"b": 20, "c": 30}
if err := mergo.Merge(&dstMap, srcMap, mergo.WithOverride); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: assertion 4 failed with error: %v\n", err)
os.Exit(1)
}
if dstMap["a"] != 1 || dstMap["b"] != 20 || dstMap["c"] != 30 {
fmt.Fprintf(os.Stderr, "FAIL: assertion 4 expected a=1, b=20, c=30; got %+v\n", dstMap)
os.Exit(1)
}
fmt.Println("All contract assertions passed successfully.")
}
Seeder de origem
anônimo