サンプル
js-yaml 4.3.0: FAILSAFE_SCHEMA
検証済みサンプル — npm js-yaml 4.3.0: FAILSAFE_SCHEMA. node 22 · linux debian/x64 · docker で contract を実行し、成功しました: yaml.load with FAILSAFE_SCHEMA parses integer and…
sha256:80e7191e53aea39c2ef6dfe2ad9f583ad9bb8f09f8600cdaa44395d86f430320
このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。
合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。
MIT-0
実行証拠
宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。
- 証拠の基準
- 署名済みコントラクト合格
- 検証レシート
- 1
- ビルドした署名鍵
- 1
宣言された環境
linux 24 · ubuntu · glibc 2.39 x64 npm
検証実行環境
| 環境 | コントラクト | ステージ | 実行日 |
|---|---|---|---|
| node 22 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1node:22@sha256:8a34c4ab3ea2… |
2026-09-04 |
ケース
HOW- ゴール
- verify js-yaml.FAILSAFE_SCHEMA in pkg:npm/js-yaml@4.3.0
- パッケージ
- シンボル
-
- js-yaml.FAILSAFE_SCHEMA
- 作成日
- 2026-09-04T23:04:29Z
コントラクト
- yaml.load with FAILSAFE_SCHEMA parses integer and float scalars as strings without numeric conversion
- yaml.load with FAILSAFE_SCHEMA parses boolean scalars true and false as literal strings
- yaml.load with FAILSAFE_SCHEMA parses null and tilde scalars as literal strings
- yaml.load with FAILSAFE_SCHEMA parses YAML mappings into plain JavaScript objects with string scalar values
- yaml.load with FAILSAFE_SCHEMA parses YAML sequences into plain JavaScript arrays with string scalar values
- yaml.loadAll with FAILSAFE_SCHEMA parses multiple YAML documents preserving scalar string types
- yaml.dump with FAILSAFE_SCHEMA serializes data structures using failsafe schema types
ファイル
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.cjs
ソース
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 js-yaml.FAILSAFE_SCHEMA in pkg:npm/js-yaml@4.3.0
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/js-yaml@4.3.0
Demonstrate these symbols/APIs:
- js-yaml.FAILSAFE_SCHEMA
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:a5aa3e2ef0fa157eb04ac68bb5be8d3e3c221ff7dc8b03eb0ef8c0c2db811cf7","contract":["yaml.load with FAILSAFE_SCHEMA parses integer and float scalars as strings without numeric conversion","yaml.load with FAILSAFE_SCHEMA parses boolean scalars true and false as literal strings","yaml.load with FAILSAFE_SCHEMA parses null and tilde scalars as literal strings","yaml.load with FAILSAFE_SCHEMA parses YAML mappings into plain JavaScript objects with string scalar values","yaml.load with FAILSAFE_SCHEMA parses YAML sequences into plain JavaScript arrays with string scalar values","yaml.loadAll with FAILSAFE_SCHEMA parses multiple YAML documents preserving scalar string types","yaml.dump with FAILSAFE_SCHEMA serializes data structures using failsafe schema types"],"goal":"verify js-yaml.FAILSAFE_SCHEMA in pkg:npm/js-yaml@4.3.0","kind":"HOW","packages":["pkg:npm/js-yaml@4.3.0"],"schemaVersion":1,"symbols":["js-yaml.FAILSAFE_SCHEMA"]},"contractCommand":["node","test/contract.cjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"npm","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/js-yaml@4.3.0"],"schemaVersion":1,"subject":"pkg:npm/js-yaml@4.3.0","symbols":["js-yaml.FAILSAFE_SCHEMA"],"verifierAdapter":"node-typescript@1"}
{
"name": "js-yaml-failsafe-schema-verification",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "js-yaml-failsafe-schema-verification",
"version": "1.0.0",
"dependencies": {
"js-yaml": "4.3.0"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"license": "Python-2.0"
},
"node_modules/js-yaml": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz",
"integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
}
}
}
{
"name": "js-yaml-failsafe-schema-verification",
"version": "1.0.0",
"private": true,
"description": "Clean-room verification for js-yaml FAILSAFE_SCHEMA",
"dependencies": {
"js-yaml": "4.3.0"
}
}
{
"schemaVersion": 1,
"goal": "verify js-yaml.FAILSAFE_SCHEMA in pkg:npm/js-yaml@4.3.0",
"kind": "HOW",
"packages": [
"pkg:npm/js-yaml@4.3.0"
],
"symbols": [
"js-yaml.FAILSAFE_SCHEMA"
]
}
const assert = require('node:assert');
const yaml = require('js-yaml');
// 1. yaml.load with FAILSAFE_SCHEMA parses integer and float scalars as strings without numeric conversion
const numericDoc = `
intVal: 42
negativeInt: -100
floatVal: 3.14159
expVal: 1e+05
`;
const numericParsed = yaml.load(numericDoc, { schema: yaml.FAILSAFE_SCHEMA });
assert.strictEqual(typeof numericParsed.intVal, 'string');
assert.strictEqual(numericParsed.intVal, '42');
assert.strictEqual(typeof numericParsed.negativeInt, 'string');
assert.strictEqual(numericParsed.negativeInt, '-100');
assert.strictEqual(typeof numericParsed.floatVal, 'string');
assert.strictEqual(numericParsed.floatVal, '3.14159');
assert.strictEqual(typeof numericParsed.expVal, 'string');
assert.strictEqual(numericParsed.expVal, '1e+05');
// 2. yaml.load with FAILSAFE_SCHEMA parses boolean scalars true and false as literal strings
const boolDoc = `
flagTrue: true
flagFalse: false
yesVal: yes
noVal: no
`;
const boolParsed = yaml.load(boolDoc, { schema: yaml.FAILSAFE_SCHEMA });
assert.strictEqual(typeof boolParsed.flagTrue, 'string');
assert.strictEqual(boolParsed.flagTrue, 'true');
assert.strictEqual(typeof boolParsed.flagFalse, 'string');
assert.strictEqual(boolParsed.flagFalse, 'false');
assert.strictEqual(typeof boolParsed.yesVal, 'string');
assert.strictEqual(boolParsed.yesVal, 'yes');
assert.strictEqual(typeof boolParsed.noVal, 'string');
assert.strictEqual(boolParsed.noVal, 'no');
// 3. yaml.load with FAILSAFE_SCHEMA parses null and tilde scalars as literal strings
const nullDoc = `
nullKey: null
tildeKey: ~
`;
const nullParsed = yaml.load(nullDoc, { schema: yaml.FAILSAFE_SCHEMA });
assert.strictEqual(typeof nullParsed.nullKey, 'string');
assert.strictEqual(nullParsed.nullKey, 'null');
assert.strictEqual(typeof nullParsed.tildeKey, 'string');
assert.strictEqual(nullParsed.tildeKey, '~');
// 4. yaml.load with FAILSAFE_SCHEMA parses YAML mappings into plain JavaScript objects with string scalar values
const mapDoc = `
service:
name: test-app
port: 8080
active: true
`;
const mapParsed = yaml.load(mapDoc, { schema: yaml.FAILSAFE_SCHEMA });
assert.deepStrictEqual(mapParsed, {
service: {
name: 'test-app',
port: '8080',
active: 'true'
}
});
// 5. yaml.load with FAILSAFE_SCHEMA parses YAML sequences into plain JavaScript arrays with string scalar values
const seqDoc = `
items:
- 10
- true
- null
- stringValue
`;
const seqParsed = yaml.load(seqDoc, { schema: yaml.FAILSAFE_SCHEMA });
assert.deepStrictEqual(seqParsed, {
items: ['10', 'true', 'null', 'stringValue']
});
// 6. yaml.loadAll with FAILSAFE_SCHEMA parses multiple YAML documents preserving scalar string types
const multiDoc = `
---
version: 1
---
version: 2
`;
const multiParsed = [];
yaml.loadAll(multiDoc, (doc) => multiParsed.push(doc), { schema: yaml.FAILSAFE_SCHEMA });
assert.deepStrictEqual(multiParsed, [
{ version: '1' },
{ version: '2' }
]);
// 7. yaml.dump with FAILSAFE_SCHEMA serializes data structures using failsafe schema types
const objToDump = {
title: 'example',
tags: ['alpha', 'beta']
};
const dumpedYaml = yaml.dump(objToDump, { schema: yaml.FAILSAFE_SCHEMA });
assert.strictEqual(typeof dumpedYaml, 'string');
const reloaded = yaml.load(dumpedYaml, { schema: yaml.FAILSAFE_SCHEMA });
assert.deepStrictEqual(reloaded, objToDump);
console.log('Contract passed');
オリジンシーダー
匿名