CodeSampleX

Пример

google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5: monitoredres.MonitoredResource

Проверенный пример — golang google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5: monitoredres.MonitoredResource. Контракт выполнен…

sha256:b766b47fd14a11889c889899005174822f62ad61198b6f0ae67759f8f0606341

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
1
Ключи подписи, собравшие его
1
Заявленная среда linux 24 · ubuntu · glibc 2.39 x64 go

Среды запусков проверки

Окружение Контракт Этапы Запуск
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

Кейс

HOW
Цель
verify monitoredres.MonitoredResource in pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5
Пакеты
Символы
  • monitoredres.MonitoredResource
Создан
2026-09-05T12:13:48Z

Контракт

  1. MonitoredResource instantiates with Type and Labels fields accessible via GetType and GetLabels getters
  2. MonitoredResource getters safely handle nil receiver returning zero values without panic
  3. MonitoredResource Reset clears all fields to default empty state
  4. MonitoredResource String returns formatted string representation containing resource type and labels
  5. MonitoredResource serializes to and deserializes from binary Protobuf wire format satisfying proto.Equal
  6. MonitoredResource serializes to and deserializes from protojson format preserving field names and map entries
  7. proto.Clone creates an isolated deep copy of MonitoredResource where mutating cloned labels map does not affect the original
  8. sample helper functions construct and query MonitoredResource attributes accurately

Файлы

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

Скачать артефакт с исходным кодом (tar.gz)

Исходный код

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 monitoredres.MonitoredResource in pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5
Demonstrate these symbols/APIs:
  - monitoredres.MonitoredResource

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:73dc6b0155799df1b4a090caae4e6e9a5ef1ab90e51637293a09d3846b6b383c","contract":["MonitoredResource instantiates with Type and Labels fields accessible via GetType and GetLabels getters","MonitoredResource getters safely handle nil receiver returning zero values without panic","MonitoredResource Reset clears all fields to default empty state","MonitoredResource String returns formatted string representation containing resource type and labels","MonitoredResource serializes to and deserializes from binary Protobuf wire format satisfying proto.Equal","MonitoredResource serializes to and deserializes from protojson format preserving field names and map entries","proto.Clone creates an isolated deep copy of MonitoredResource where mutating cloned labels map does not affect the original","sample helper functions construct and query MonitoredResource attributes accurately"],"goal":"verify monitoredres.MonitoredResource in pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5","kind":"HOW","packages":["pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5"],"schemaVersion":1,"symbols":["monitoredres.MonitoredResource"]},"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/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5"],"schemaVersion":1,"subject":"pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5","symbols":["monitoredres.MonitoredResource"],"verifierAdapter":"golang@1"}
go.mod
module sample

go 1.26.6

require (
	google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5
	google.golang.org/protobuf v1.36.12
)
go.sum
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5 h1:izFU9hz7aeLI/Mi1J0991ae+xcwRLr7hTqWnB/9aIIU=
google.golang.org/genproto/googleapis/api v0.0.0-20260825221802-da73d73af1c5/go.mod h1:3LhxRw4YYkf+ylAfgaY9JlVLFKhokkCV8duhLLe7+t0=
google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc=
google.golang.org/protobuf v1.36.12/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
monitored_resource.go
package sample

import (
	"google.golang.org/genproto/googleapis/api/monitoredres"
)

// CreateMonitoredResource constructs a new MonitoredResource with the given type and labels.
func CreateMonitoredResource(resType string, labels map[string]string) *monitoredres.MonitoredResource {
	return &monitoredres.MonitoredResource{
		Type:   resType,
		Labels: labels,
	}
}

// GetResourceType returns the resource type or empty string if res is nil.
func GetResourceType(res *monitoredres.MonitoredResource) string {
	return res.GetType()
}

// GetResourceLabels returns the resource labels map or nil if res is nil.
func GetResourceLabels(res *monitoredres.MonitoredResource) map[string]string {
	return res.GetLabels()
}

// GetLabelValue retrieves the value of a specific label key from the resource.
func GetLabelValue(res *monitoredres.MonitoredResource, key string) (string, bool) {
	if res == nil || res.GetLabels() == nil {
		return "", false
	}
	val, ok := res.GetLabels()[key]
	return val, ok
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify monitoredres.MonitoredResource in pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5",
  "kind": "HOW",
  "packages": [
    "pkg:golang/google.golang.org/genproto/googleapis/api@v0.0.0-20260825221802-da73d73af1c5"
  ],
  "symbols": [
    "monitoredres.MonitoredResource"
  ]
}
test/contract.go
package main

import (
	"bytes"
	"fmt"
	"os"

	"google.golang.org/genproto/googleapis/api/monitoredres"
	"google.golang.org/protobuf/encoding/protojson"
	"google.golang.org/protobuf/proto"
	"sample"
)

func assert(condition bool, message string) {
	if !condition {
		fmt.Fprintf(os.Stderr, "assertion failed: %s\n", message)
		os.Exit(1)
	}
}

func main() {
	// Assertion 1: MonitoredResource instantiates with Type and Labels fields accessible via GetType and GetLabels getters
	res := &monitoredres.MonitoredResource{
		Type: "gce_instance",
		Labels: map[string]string{
			"project_id":  "test-project",
			"instance_id": "1234567890",
			"zone":        "us-central1-a",
		},
	}
	assert(res.GetType() == "gce_instance", "expected GetType to return 'gce_instance'")
	labels := res.GetLabels()
	assert(len(labels) == 3, "expected 3 labels")
	assert(labels["project_id"] == "test-project", "expected label project_id to match")
	assert(labels["instance_id"] == "1234567890", "expected label instance_id to match")
	assert(labels["zone"] == "us-central1-a", "expected label zone to match")

	// Assertion 2: MonitoredResource getters safely handle nil receiver returning zero values without panic
	var nilRes *monitoredres.MonitoredResource
	assert(nilRes.GetType() == "", "nil MonitoredResource GetType must return empty string")
	assert(nilRes.GetLabels() == nil, "nil MonitoredResource GetLabels must return nil")

	// Assertion 3: MonitoredResource Reset clears all fields to default empty state
	copyRes := &monitoredres.MonitoredResource{
		Type: "generic_node",
		Labels: map[string]string{
			"node_id": "node-1",
		},
	}
	copyRes.Reset()
	assert(copyRes.GetType() == "", "Reset must clear Type to empty string")
	assert(len(copyRes.GetLabels()) == 0, "Reset must clear Labels map")

	// Assertion 4: MonitoredResource String returns formatted string representation containing resource type and labels
	strRep := res.String()
	assert(len(strRep) > 0, "String() must not be empty")

	// Assertion 5: MonitoredResource serializes to and deserializes from binary Protobuf wire format satisfying proto.Equal
	wire, err := proto.Marshal(res)
	assert(err == nil, "proto.Marshal failed")
	assert(len(wire) > 0, "marshaled wire length must be > 0")

	unmarshaled := &monitoredres.MonitoredResource{}
	err = proto.Unmarshal(wire, unmarshaled)
	assert(err == nil, "proto.Unmarshal failed")
	assert(proto.Equal(res, unmarshaled), "proto.Equal returned false for protobuf round-trip")

	// Assertion 6: MonitoredResource serializes to and deserializes from protojson format preserving field names and map entries
	jsonBytes, err := protojson.Marshal(res)
	assert(err == nil, "protojson.Marshal failed")
	assert(bytes.Contains(jsonBytes, []byte(`"type"`)), "json must contain 'type'")
	assert(bytes.Contains(jsonBytes, []byte(`"labels"`)), "json must contain 'labels'")

	jsonUnmarshaled := &monitoredres.MonitoredResource{}
	err = protojson.Unmarshal(jsonBytes, jsonUnmarshaled)
	assert(err == nil, "protojson.Unmarshal failed")
	assert(proto.Equal(res, jsonUnmarshaled), "proto.Equal returned false for protojson round-trip")

	// Assertion 7: proto.Clone creates an isolated deep copy of MonitoredResource where mutating cloned labels map does not affect the original
	cloned := proto.Clone(res).(*monitoredres.MonitoredResource)
	assert(proto.Equal(res, cloned), "cloned MonitoredResource must equal original")
	cloned.Labels["new_key"] = "new_value"
	assert(res.Labels["new_key"] == "", "mutating cloned labels affected original")

	// Assertion 8: sample helper functions construct and query MonitoredResource attributes accurately
	helperRes := sample.CreateMonitoredResource("k8s_container", map[string]string{
		"cluster_name":   "prod-cluster",
		"container_name": "worker",
	})
	assert(sample.GetResourceType(helperRes) == "k8s_container", "helper GetResourceType failed")
	assert(len(sample.GetResourceLabels(helperRes)) == 2, "helper GetResourceLabels length mismatch")
	val, ok := sample.GetLabelValue(helperRes, "cluster_name")
	assert(ok && val == "prod-cluster", "helper GetLabelValue failed")
	_, notFound := sample.GetLabelValue(helperRes, "non_existent")
	assert(!notFound, "helper GetLabelValue returned true for missing key")

	fmt.Println("All monitoredres.MonitoredResource contract assertions passed.")
}

Исходный сидер

аноним