Пример
golang.org/x/sys v0.10.0
Проверенный пример — golang golang.org/x/sys v0.10.0. Контракт выполнен на go 1.26 · linux alpine/x64 · docker и пройден: unix.Getpagesize returns a positive…
sha256:c23ba0d0ac10fd047445eb5bb92c32fa88750202a0f01caf8c8d68c950a6b6f1
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 1
- Ключи подписи, собравшие его
- 1
Заявленная среда
linux 24 · ubuntu · glibc 2.39 x64 go
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| go 1.26 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1golang:1.26-alpine@sha256:28d89ee9cc0f… |
2026-08-27 |
Кейс
HOW- Цель
- verify pkg:golang/golang.org/x/sys@v0.10.0
- Пакеты
- Создан
- 2026-08-27T12:16:17Z
Контракт
- unix.Getpagesize returns a positive page size that is a power of 2
- unix.Sysinfo retrieves system statistics with positive uptime and total RAM
- unix.Uname retrieves system name and populates Utsname struct with Linux sysname
- unix.Getrlimit retrieves valid file descriptor limits where soft limit does not exceed hard limit
Файлы
- PROMPT.md
- csx.json
- go.mod
- go.sum
- main.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 pkg:golang/golang.org/x/sys@v0.10.0
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:golang/golang.org/x/sys@v0.10.0
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:b2c553fc2a4890c642a46dd39ed9cbfe0e4d7cc8afa337d66d578ee9efad3ada","contract":["unix.Getpagesize returns a positive page size that is a power of 2","unix.Sysinfo retrieves system statistics with positive uptime and total RAM","unix.Uname retrieves system name and populates Utsname struct with Linux sysname","unix.Getrlimit retrieves valid file descriptor limits where soft limit does not exceed hard limit"],"goal":"verify pkg:golang/golang.org/x/sys@v0.10.0","kind":"HOW","packages":["pkg:golang/golang.org/x/sys@v0.10.0"],"schemaVersion":1},"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/golang.org/x/sys@v0.10.0"],"schemaVersion":1,"subject":"pkg:golang/golang.org/x/sys@v0.10.0","verifierAdapter":"golang@1"}
module example.com/sample
go 1.26.6
require golang.org/x/sys v0.10.0
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
package main
import (
"fmt"
"os"
"golang.org/x/sys/unix"
)
// GetSystemPageSize returns the memory page size in bytes.
func GetSystemPageSize() int {
return unix.Getpagesize()
}
// GetSystemInfo retrieves system statistics including total RAM and system uptime.
func GetSystemInfo() (unix.Sysinfo_t, error) {
var si unix.Sysinfo_t
if err := unix.Sysinfo(&si); err != nil {
return si, fmt.Errorf("sysinfo failed: %w", err)
}
return si, nil
}
// GetSystemUname retrieves operating system name, node name, and release version.
func GetSystemUname() (unix.Utsname, string, error) {
var uts unix.Utsname
if err := unix.Uname(&uts); err != nil {
return uts, "", fmt.Errorf("uname failed: %w", err)
}
sysname := unix.ByteSliceToString(uts.Sysname[:])
return uts, sysname, nil
}
// GetFileDescriptorLimit retrieves soft and hard limits for number of open file descriptors.
func GetFileDescriptorLimit() (unix.Rlimit, error) {
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err != nil {
return rlim, fmt.Errorf("getrlimit RLIMIT_NOFILE failed: %w", err)
}
return rlim, nil
}
func main() {
pageSize := GetSystemPageSize()
fmt.Printf("Memory page size: %d bytes\n", pageSize)
si, err := GetSystemInfo()
if err != nil {
fmt.Fprintf(os.Stderr, "Error getting sysinfo: %v\n", err)
os.Exit(1)
}
fmt.Printf("Uptime: %d seconds, Total RAM: %d bytes\n", si.Uptime, si.Totalram)
_, sysname, err := GetSystemUname()
if err != nil {
fmt.Fprintf(os.Stderr, "Error getting uname: %v\n", err)
os.Exit(1)
}
fmt.Printf("System name: %s\n", sysname)
rlim, err := GetFileDescriptorLimit()
if err != nil {
fmt.Fprintf(os.Stderr, "Error getting rlimit: %v\n", err)
os.Exit(1)
}
fmt.Printf("FD limits: Cur=%d, Max=%d\n", rlim.Cur, rlim.Max)
}
{
"schemaVersion": 1,
"goal": "verify pkg:golang/golang.org/x/sys@v0.10.0",
"kind": "HOW",
"packages": [
"pkg:golang/golang.org/x/sys@v0.10.0"
]
}
package main
import (
"fmt"
"os"
"golang.org/x/sys/unix"
)
func main() {
// Assertion 1: unix.Getpagesize returns a positive page size that is a power of 2
pageSize := unix.Getpagesize()
if pageSize <= 0 || (pageSize&(pageSize-1)) != 0 {
fmt.Fprintf(os.Stderr, "FAIL: invalid page size: %d\n", pageSize)
os.Exit(1)
}
// Assertion 2: unix.Sysinfo retrieves system statistics with positive uptime and total RAM
var si unix.Sysinfo_t
if err := unix.Sysinfo(&si); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: unix.Sysinfo failed: %v\n", err)
os.Exit(1)
}
if si.Uptime <= 0 || si.Totalram == 0 {
fmt.Fprintf(os.Stderr, "FAIL: unexpected sysinfo values: uptime=%d, totalram=%d\n", si.Uptime, si.Totalram)
os.Exit(1)
}
// Assertion 3: unix.Uname retrieves system name and populates Utsname struct with Linux sysname
var uts unix.Utsname
if err := unix.Uname(&uts); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: unix.Uname failed: %v\n", err)
os.Exit(1)
}
sysname := unix.ByteSliceToString(uts.Sysname[:])
if sysname != "Linux" {
fmt.Fprintf(os.Stderr, "FAIL: unexpected sysname: got %q, expected \"Linux\"\n", sysname)
os.Exit(1)
}
// Assertion 4: unix.Getrlimit retrieves valid file descriptor limits where soft limit does not exceed hard limit
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err != nil {
fmt.Fprintf(os.Stderr, "FAIL: unix.Getrlimit RLIMIT_NOFILE failed: %v\n", err)
os.Exit(1)
}
if rlim.Cur == 0 || (rlim.Max != unix.RLIM_INFINITY && rlim.Cur > rlim.Max) {
fmt.Fprintf(os.Stderr, "FAIL: invalid rlimit values: cur=%d, max=%d\n", rlim.Cur, rlim.Max)
os.Exit(1)
}
fmt.Println("PASS: golang.org/x/sys contract passed")
}
Исходный сидер
аноним