サンプル
github.com/peterbourgon/diskv/v3 v3.0.1: Diskv
検証済みサンプル — golang github.com/peterbourgon/diskv/v3 v3.0.1: Diskv. go 1.26 · linux debian/x64 · docker で contract を実行し、成功しました: d :=…
sha256:23e8d1c29f6ecfacd8e57a7407f5a63802c7ef68491f6c94c8cae46b9f9bdc2d
このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。
合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。
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-17 |
ケース
HOW- ゴール
- verify github.com/peterbourgon/diskv/v3.Diskv in pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1
- シンボル
-
- github.com/peterbourgon/diskv/v3.Diskv
- 作成日
- 2026-09-17T02:14:50Z
コントラクト
- d := diskv.New(diskv.Options{BasePath: dir, Transform: flatTransform, CacheSizeMax: 1024 * 1024})
- d.WriteString(key, val) == nil
- d.Has(key) == true
- d.ReadString(key) == val
- d.Read(key) == ([]byte(val), nil)
- d.Erase(key) == nil
- d.Has(key) == false
ファイル
- PROMPT.md
- csx.json
- go.mod
- go.sum
- sample.go
- spec.json
- test/contract.go
ソース
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/peterbourgon/diskv/v3.Diskv in pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1
Demonstrate these symbols/APIs:
- github.com/peterbourgon/diskv/v3.Diskv
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:8deadda58c320bc0969ecdf4af621bb88bd7a3ebe8f0f963bb7dad072623d908","contract":["d := diskv.New(diskv.Options{BasePath: dir, Transform: flatTransform, CacheSizeMax: 1024 * 1024})","d.WriteString(key, val) == nil","d.Has(key) == true","d.ReadString(key) == val","d.Read(key) == ([]byte(val), nil)","d.Erase(key) == nil","d.Has(key) == false"],"goal":"verify github.com/peterbourgon/diskv/v3.Diskv in pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1","kind":"HOW","packages":["pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1"],"schemaVersion":1,"symbols":["github.com/peterbourgon/diskv/v3.Diskv"]},"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/peterbourgon/diskv/v3@v3.0.1"],"schemaVersion":1,"subject":"pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1","symbols":["github.com/peterbourgon/diskv/v3.Diskv"],"verifierAdapter":"golang@1"}
module sample
go 1.20
require github.com/peterbourgon/diskv/v3 v3.0.1
require github.com/google/btree v1.0.0 // indirect
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/peterbourgon/diskv/v3 v3.0.1 h1:x06SQA46+PKIUftmEujdwSEpIx8kR+M9eLYsUxeYveU=
github.com/peterbourgon/diskv/v3 v3.0.1/go.mod h1:kJ5Ny7vLdARGU3WUuy6uzO6T0nb/2gWcT1JiBvRmb5o=
package sample
import (
"github.com/peterbourgon/diskv/v3"
)
// Store wraps diskv.Diskv to provide key-value storage.
type Store struct {
disk *diskv.Diskv
}
// NewStore initializes a new Store backed by diskv.Diskv.
func NewStore(basePath string) *Store {
flatTransform := func(s string) []string {
return []string{}
}
d := diskv.New(diskv.Options{
BasePath: basePath,
Transform: flatTransform,
CacheSizeMax: 1024 * 1024,
})
return &Store{disk: d}
}
// Write stores the key and string value.
func (s *Store) Write(key, val string) error {
return s.disk.WriteString(key, val)
}
// Read retrieves the string value for a key.
func (s *Store) Read(key string) string {
return s.disk.ReadString(key)
}
// Has checks whether a key exists in storage.
func (s *Store) Has(key string) bool {
return s.disk.Has(key)
}
// Erase deletes the key and its value.
func (s *Store) Erase(key string) error {
return s.disk.Erase(key)
}
// Diskv returns the underlying diskv instance.
func (s *Store) Diskv() *diskv.Diskv {
return s.disk
}
{
"schemaVersion": 1,
"goal": "verify github.com/peterbourgon/diskv/v3.Diskv in pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1",
"kind": "HOW",
"packages": [
"pkg:golang/github.com/peterbourgon/diskv/v3@v3.0.1"
],
"symbols": [
"github.com/peterbourgon/diskv/v3.Diskv"
]
}
package main
import (
"fmt"
"os"
"github.com/peterbourgon/diskv/v3"
)
func main() {
dir, err := os.MkdirTemp("", "diskv-contract-*")
if err != nil {
fmt.Fprintf(os.Stderr, "failed to create temp dir: %v\n", err)
os.Exit(1)
}
defer os.RemoveAll(dir)
flatTransform := func(s string) []string {
return []string{}
}
d := diskv.New(diskv.Options{
BasePath: dir,
Transform: flatTransform,
CacheSizeMax: 1024 * 1024,
})
if d == nil {
fmt.Fprintf(os.Stderr, "diskv.New returned nil\n")
os.Exit(1)
}
key := "example-key"
val := "example-val"
if err := d.WriteString(key, val); err != nil {
fmt.Fprintf(os.Stderr, "WriteString failed: %v\n", err)
os.Exit(1)
}
if !d.Has(key) {
fmt.Fprintf(os.Stderr, "Has returned false for existing key\n")
os.Exit(1)
}
got := d.ReadString(key)
if got != val {
fmt.Fprintf(os.Stderr, "ReadString got %q, want %q\n", got, val)
os.Exit(1)
}
raw, err := d.Read(key)
if err != nil {
fmt.Fprintf(os.Stderr, "Read failed: %v\n", err)
os.Exit(1)
}
if string(raw) != val {
fmt.Fprintf(os.Stderr, "Read returned unexpected bytes\n")
os.Exit(1)
}
if err := d.Erase(key); err != nil {
fmt.Fprintf(os.Stderr, "Erase failed: %v\n", err)
os.Exit(1)
}
if d.Has(key) {
fmt.Fprintf(os.Stderr, "Has returned true after Erase\n")
os.Exit(1)
}
fmt.Println("contract passed")
}
オリジンシーダー
匿名