CodeSampleX

Ejemplo

github.com/prometheus/common v0.71.0: promslog

Muestra verificada para golang github.com/prometheus/common v0.71.0: promslog. El contrato se ejecutó en go 1.26 · linux debian/x64 · docker y pasó.

sha256:047873d584a1767cc8c6a8050a9b3e6731016a16455136a1c09d4779af9ec38b

Esta red ofrece una sola cosa: una muestra que compila. La ejecutó en un sandbox y guardó el recibo firmado. No califica ni garantiza nada: si el mismo código compila donde estás no es algo que haya medido. Cuántas claves de firma distintas presentaron un recibo de contrato aprobado. Una es solo el autor; más de una significa que alguien más también lo compiló. Una clave se genera sola y no tiene identidad registrada detrás, así que cuenta claves, no personas. MIT-0

Evidencia de ejecución

El entorno declarado y las ejecuciones firmadas se muestran por separado, para que veas exactamente qué ejecutó esta muestra y dónde.

Base de evidencia
Contrato firmado aprobado
Recibos de verificación
1
Claves de firma que lo compilaron
1
Entorno declarado linux 24 · ubuntu · glibc 2.39 x64 go

Entornos de las ejecuciones de verificación

Entorno Contrato Etapas Ejecución
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-05

Caso

HOW
Objetivo
verify github.com/prometheus/common/promslog in pkg:golang/github.com/prometheus/common@v0.71.0
Paquetes
Símbolos
  • github.com/prometheus/common/promslog
Creado
2026-09-05T08:31:59Z

Contrato

  1. promslog.NewLevel and promslog.NewFormat validate and configure log levels and logfmt or json output formats
  2. promslog.New creates structured slog.Logger instances supporting slog and go-kit attribute styles, level filtering, and custom writers
  3. promslog.NewNopLogger provides a discard logger that safely drops all log records

Archivos

  • PROMPT.md
  • csx.json
  • go.mod
  • go.sum
  • logger.go
  • spec.json
  • test/contract.go

Descargar el artefacto de código fuente (tar.gz)

Código fuente

PROMPT.md
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/prometheus/common/promslog in pkg:golang/github.com/prometheus/common@v0.71.0
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:golang/github.com/prometheus/common@v0.71.0
Demonstrate these symbols/APIs:
  - github.com/prometheus/common/promslog

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.
csx.json
{"case":{"caseId":"case:sha256:1acf062ce4c8617b6765f0d485c9c92599b224873a828c2e1c001ad1e5f5f930","contract":["promslog.NewLevel and promslog.NewFormat validate and configure log levels and logfmt or json output formats","promslog.New creates structured slog.Logger instances supporting slog and go-kit attribute styles, level filtering, and custom writers","promslog.NewNopLogger provides a discard logger that safely drops all log records"],"goal":"verify github.com/prometheus/common/promslog in pkg:golang/github.com/prometheus/common@v0.71.0","kind":"HOW","packages":["pkg:golang/github.com/prometheus/common@v0.71.0"],"schemaVersion":1,"symbols":["github.com/prometheus/common/promslog"]},"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/prometheus/common@v0.71.0"],"schemaVersion":1,"subject":"pkg:golang/github.com/prometheus/common@v0.71.0","symbols":["github.com/prometheus/common/promslog"],"verifierAdapter":"golang@1"}
go.mod
module example.com/promslog-sample

go 1.25.0

require github.com/prometheus/common v0.71.0
go.sum
github.com/prometheus/common v0.71.0 h1:9KDAKb7Mj3HEVKyFCK6Dc/HIwlBzZIN2l7/lrHl3KK8=
github.com/prometheus/common v0.71.0/go.mod h1:CLJ5H8TEsGX8bl31BdMkfhIZ+QmZ9tBPPotUxUbfcmk=
github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE=
github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg=
go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ=
go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ=
go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
logger.go
package promslogsample

import (
	"io"
	"log/slog"

	"github.com/prometheus/common/promslog"
)

// LoggerConfig holds configuration options for initializing an slog logger.
type LoggerConfig struct {
	Level  string
	Format string
	Style  promslog.LogStyle
	Writer io.Writer
}

// BuildLogger initializes and returns an slog.Logger using promslog.
func BuildLogger(cfg LoggerConfig) (*slog.Logger, error) {
	level := promslog.NewLevel()
	if cfg.Level != "" {
		if err := level.Set(cfg.Level); err != nil {
			return nil, err
		}
	}

	format := promslog.NewFormat()
	if cfg.Format != "" {
		if err := format.Set(cfg.Format); err != nil {
			return nil, err
		}
	}

	promConfig := &promslog.Config{
		Level:  level,
		Format: format,
		Style:  cfg.Style,
		Writer: cfg.Writer,
	}

	return promslog.New(promConfig), nil
}

// DiscardLogger creates a no-op logger that discards all log events.
func DiscardLogger() *slog.Logger {
	return promslog.NewNopLogger()
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify github.com/prometheus/common/promslog in pkg:golang/github.com/prometheus/common@v0.71.0",
  "kind": "HOW",
  "packages": [
    "pkg:golang/github.com/prometheus/common@v0.71.0"
  ],
  "symbols": [
    "github.com/prometheus/common/promslog"
  ]
}
test/contract.go
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"log/slog"
	"os"
	"strings"

	promslogsample "example.com/promslog-sample"
	"github.com/prometheus/common/promslog"
)

func main() {
	// Assertion 1: promslog.NewLevel validates and configures log levels
	lvl := promslog.NewLevel()
	if lvl.String() != "info" {
		fmt.Fprintf(os.Stderr, "FAIL: expected default level info, got %s\n", lvl.String())
		os.Exit(1)
	}
	if lvl.Level() != slog.LevelInfo {
		fmt.Fprintf(os.Stderr, "FAIL: expected Level() == slog.LevelInfo, got %v\n", lvl.Level())
		os.Exit(1)
	}
	for _, lName := range promslog.LevelFlagOptions {
		if err := lvl.Set(lName); err != nil {
			fmt.Fprintf(os.Stderr, "FAIL: failed to set valid level %q: %v\n", lName, err)
			os.Exit(1)
		}
		if lvl.String() != lName {
			fmt.Fprintf(os.Stderr, "FAIL: expected level %q after Set, got %q\n", lName, lvl.String())
			os.Exit(1)
		}
	}
	if err := lvl.Set("nonexistent-level"); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: expected error setting invalid level, got nil\n")
		os.Exit(1)
	}

	// Assertion 2: promslog.NewFormat validates and configures output formats
	fmtObj := promslog.NewFormat()
	if fmtObj.String() != "" {
		fmt.Fprintf(os.Stderr, "FAIL: expected initial Format string to be empty, got %q\n", fmtObj.String())
		os.Exit(1)
	}
	for _, fName := range promslog.FormatFlagOptions {
		if err := fmtObj.Set(fName); err != nil {
			fmt.Fprintf(os.Stderr, "FAIL: failed to set valid format %q: %v\n", fName, err)
			os.Exit(1)
		}
		if fmtObj.String() != fName {
			fmt.Fprintf(os.Stderr, "FAIL: expected format %q after Set, got %q\n", fName, fmtObj.String())
			os.Exit(1)
		}
	}
	if err := fmtObj.Set("yaml"); err == nil {
		fmt.Fprintf(os.Stderr, "FAIL: expected error setting invalid format, got nil\n")
		os.Exit(1)
	}

	// Assertion 3: promslog.New creates structured slog.Logger supporting JSON format
	var jsonBuf bytes.Buffer
	jsonLogger, err := promslogsample.BuildLogger(promslogsample.LoggerConfig{
		Level:  "debug",
		Format: "json",
		Style:  promslog.SlogStyle,
		Writer: &jsonBuf,
	})
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: BuildLogger failed: %v\n", err)
		os.Exit(1)
	}
	jsonLogger.Info("operation completed", "service", "gateway", "retries", 3)
	var record map[string]any
	if err := json.Unmarshal(jsonBuf.Bytes(), &record); err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: failed to parse JSON log line: %v, raw: %s\n", err, jsonBuf.String())
		os.Exit(1)
	}
	if record["msg"] != "operation completed" || record["service"] != "gateway" || record["level"] != "INFO" {
		fmt.Fprintf(os.Stderr, "FAIL: JSON output missing expected fields: %+v\n", record)
		os.Exit(1)
	}

	// Assertion 4: promslog.New supports logfmt format with severity level filtering
	var logfmtBuf bytes.Buffer
	warnLogger, err := promslogsample.BuildLogger(promslogsample.LoggerConfig{
		Level:  "warn",
		Format: "logfmt",
		Writer: &logfmtBuf,
	})
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: BuildLogger failed: %v\n", err)
		os.Exit(1)
	}
	warnLogger.Debug("debug trace should be suppressed")
	warnLogger.Info("info trace should be suppressed")
	if logfmtBuf.Len() > 0 {
		fmt.Fprintf(os.Stderr, "FAIL: messages below warn level were not filtered: %s\n", logfmtBuf.String())
		os.Exit(1)
	}
	warnLogger.Warn("rate limit exceeded", "limit", 100)
	logfmtOut := logfmtBuf.String()
	if !strings.Contains(logfmtOut, "level=WARN") || (!strings.Contains(logfmtOut, "msg=\"rate limit exceeded\"") && !strings.Contains(logfmtOut, "msg=rate limit exceeded")) {
		fmt.Fprintf(os.Stderr, "FAIL: warn logfmt missing level or msg: %s\n", logfmtOut)
		os.Exit(1)
	}
	if !strings.Contains(logfmtOut, "limit=100") {
		fmt.Fprintf(os.Stderr, "FAIL: warn logfmt missing attribute: %s\n", logfmtOut)
		os.Exit(1)
	}

	// Assertion 5: promslog.New supports GoKitStyle attribute naming and formatting
	var gokitBuf bytes.Buffer
	gkLogger, err := promslogsample.BuildLogger(promslogsample.LoggerConfig{
		Level:  "info",
		Format: "logfmt",
		Style:  promslog.GoKitStyle,
		Writer: &gokitBuf,
	})
	if err != nil {
		fmt.Fprintf(os.Stderr, "FAIL: BuildLogger failed: %v\n", err)
		os.Exit(1)
	}
	gkLogger.Info("starting worker", "worker_id", 42)
	gkOut := gokitBuf.String()
	if !strings.Contains(gkOut, "ts=") || !strings.Contains(gkOut, "level=info") || !strings.Contains(gkOut, "caller=") {
		fmt.Fprintf(os.Stderr, "FAIL: GoKitStyle missing expected keys (ts, level=info, caller): %s\n", gkOut)
		os.Exit(1)
	}

	// Assertion 6: promslog.NewNopLogger discards records safely without writing or panicking
	nopLogger := promslogsample.DiscardLogger()
	nopLogger.Error("should be safely discarded")

	fmt.Println("PASS: promslog contract passed")
}

Seeder de origen

anónimo