{"_id":"@coderifts/conformance","_rev":"19-88d4e3af9f424dab1f45e9278421a561","name":"@coderifts/conformance","dist-tags":{"latest":"0.8.11"},"versions":{"0.1.0":{"name":"@coderifts/conformance","version":"0.1.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.1.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"coderifts-conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"367ad5fa8b1c6c65e3262eae0522e1e5986d27bd","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.1.0.tgz","fileCount":11,"integrity":"sha512-3n+eLAx7p6wXmXHpM3wYJ+IAknnEC9oB0S+chN94pLi/rphG/KblUdhlyB6xKAk++Dk9v7R+PA1/ErXX/RzLaw==","signatures":[{"sig":"MEUCIA/VQj8xkABL4FJ31chV98yPbmY19MoUketEOsiejmcRAiEAkO3BPjUHsOICf0NmiwI7iBP1Vt/l95I3YO1fNIZ0aW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43977},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"b5b8fd35088d2ced296ddbd9584df7559f5128d7","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard","conformance":"node bin/coderifts-conformance.js"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance suite — same cases the SDKs are tested against. No network, no API key.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.1.0_1786518870682_0.8885508647750999","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@coderifts/conformance","version":"0.1.1","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.1.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"coderifts-conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"4e3981cedb0ddcaf80eb639eccf41bc42c6ce1dc","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.1.1.tgz","fileCount":11,"integrity":"sha512-N8GeE/Tq6jM8yQweEvinCMy0QvtWwXc5B8gUfwPBg9tHb/V8jVwyLVMJPVCgQ8oIhYmy740u0JcjVEUof+0YRw==","signatures":[{"sig":"MEUCIAmWGCPk/x61Dj53IMdNXZ+q6xrSFWC0V9xWghinMKx+AiEA3Mbup/vUSUzijZ7JScBtvizlcp9qNZoEhiD+jXKh+kI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43979},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"bcb9f2183905becaad1db410ed21bb2593051116","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard","conformance":"node bin/coderifts-conformance.js"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance suite — same cases the SDKs are tested against. No network, no API key.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.1.1_1786519143743_0.7850044216871368","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@coderifts/conformance","version":"0.1.2","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.1.2","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"afa45528977d1b27852716b15ff621cb6b20094e","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.1.2.tgz","fileCount":11,"integrity":"sha512-2jMis7jpRGiWVS/dRp11B+VuKtIbG1NpQc8VkZIQb7+k0BIgzs/UNVBEx75HCw1kl8Fkqo5PFs07Ruhuv/53Ow==","signatures":[{"sig":"MEQCIC+wLGCqcadPJ+bi/7jxUjwt9ajNt/OI0p4oZzVCCKxKAiAWIsz3M9042eT5uCwRLgTxAowPV9wc+EouJaGfvwe5hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43969},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"e0cf8441e9e951d7bc614b720c68f4c9399f17b1","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard","conformance":"node bin/coderifts-conformance.js"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance suite — same cases the SDKs are tested against. No network, no API key.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.1.2_1786519354956_0.010403013922706927","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@coderifts/conformance","version":"0.1.3","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.1.3","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"e97237ca82ea31533dc46fb35e5a344ed9878d6e","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.1.3.tgz","fileCount":11,"integrity":"sha512-qmacxQpFbkqdTclyRZapQ/epe/OEX3ySOg597bl4Tsg9SbGWWDhoLq7YhY2PwHlhQAEYbOg6G0RMjWc0UzDWPw==","signatures":[{"sig":"MEUCIGfu75AECoxGjdOzshFgCyBHl3YtvSICpwv056bi0hT7AiEA2EQtJqSz2ywdGXxkHXS8Pvs2kABdeAmyOF9Q9mBnvBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45638},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"3d52c4eee6ed35c6760141ac5478d8d2fbe7d77e","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard","conformance":"node bin/coderifts-conformance.js"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance suite — same cases the SDKs are tested against. No network, no API key.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.1.3_1786810966805_0.6029265670978756","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@coderifts/conformance","version":"0.2.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.2.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"47bc6badb2bfec75b6a9434ca542ceb85b73b81d","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.2.0.tgz","fileCount":13,"integrity":"sha512-IDec6V22n4jmYRrhQFQOyur3hNx0y+dtKxYjZGWBYVfdWsfl0am2Tnl060GYckG8lIvZ144OdBG8IL8+ienMpA==","signatures":[{"sig":"MEUCIDaiaa91TTvuebFfmASDlZpFrLNqyLhlsq7U7LTdLnl9AiEA5+ijyXKhK5X4d8kuxMk2dP2BrD8A9QBcCqrCLXBjYqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67953},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"df7e82448411272b97c2868a1f9290dbed6d34fb","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node --test test/*.test.js","conformance":"node bin/coderifts-conformance.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.2.0_1787467784457_0.5486819457274432","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@coderifts/conformance","version":"0.3.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.3.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"edbeef33cd58be72958ae6c4d562e872eb6fdd4f","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.3.0.tgz","fileCount":16,"integrity":"sha512-S76IqddKsvNi1faAfxa2vDU32zpoGxIfWrGzU33UIAyzKZdO+xMnmASWZUis400r6XysN3rycICzbUq3+gt+cA==","signatures":[{"sig":"MEUCIQDvZITvpHje1UhE7BxMGCJgNTI53rLq+ROZjku13XzxpwIgTL9J+tACPUzN7prVH/yBUZ+R+DBNH8m51eI2x2LqEdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129640},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"bb478fcc79b23bde6c2cef2984bdff1a74e0dd4a","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/conformance_0.3.0_1787919734607_0.30699431192080895","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@coderifts/conformance","version":"0.4.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.4.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"8be24cc6e74e2cbf371dfe574364e59da41411fc","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.4.0.tgz","fileCount":20,"integrity":"sha512-TB35XWBeZcfewemJ3P9fX+iaSkDYmm7Ydn9+zN/cm+dQvo+tjF+c66YBvbonYA8Ll104YqZj1lDmzrds2Yb2zQ==","signatures":[{"sig":"MEUCIQC2nUvWKNtorHlCBTm2ISzkFXgKDHu4R/46V/Tfwx9mIgIgBNVtdMThFcrLiY3BwKTXH0oaDC+E5liuNeNfnQeD8AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161086},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"a0df0f85df6abdbc0e4dfec11d562b703d4cfe79","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"14c82bb6697565c4b0918a19b53250a37a3d6a64","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#14c82bb6697565c4b0918a19b53250a37a3d6a64"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.4.0_1788329685269_0.7601079467176424","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@coderifts/conformance","version":"0.5.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.5.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"ca7198ac4b199f49171e39fcaf143b38670e3e65","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.5.0.tgz","fileCount":21,"integrity":"sha512-mQIww3TNILBOWnULPvav9ueRhyt8wqXEHReLqqfpgXGhnYXXuGiOI6EaBq/LOQbPWUVUyuKGnWbgZQlT2RjOEQ==","signatures":[{"sig":"MEUCIQCRkdXXYMK788SgKqzCgs37fmaRqnmelcRgDhsCNq4bsgIgSiWKah+uSM6RTO4Tvdzqm9xx7JiLnuxPyfc8myxBtPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195663},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"0315243ba05e051f80ff463308277517eec33503","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"d26d11d8fc833877798c78f414345f89054be88c","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#d26d11d8fc833877798c78f414345f89054be88c"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.5.0_1788355281314_0.6828687714296808","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@coderifts/conformance","version":"0.8.0","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.0","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"542eb78d649d6c31e3da060946894273a9fb529d","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.0.tgz","fileCount":36,"integrity":"sha512-SPySQrnO35Qh6Zey2NdMcJXbHSnfsUYCIFP0Gd7glFeQ7sbTTGXb9fYQZLiDzNuil3Q/0GBa7DG7ABXxgMH/yQ==","signatures":[{"sig":"MEUCIBpSCxKwHN5g3MDgzYpvecDBw3nY6U5HTheNqAMWGxvPAiEAhSl58d3FueI6Dm+bvuD9mVr1y2/vfFnJ7x1iTpoXt6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332154},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"693ce2a821bda52ada8fc7c1f044bc3ea7052dcd","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.0_1788606516556_0.7892601938912625","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@coderifts/conformance","version":"0.8.1","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.1","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"3d310a3ec5871b4ecc45179fe3bdd112f89ecfa3","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.1.tgz","fileCount":40,"integrity":"sha512-aEgb1Ijw/B6FgtLAm/di2asaJhWB3WgzYJPSGxFxCev/xsJAhniB0sJcikwmI5BPOk2oza0UX54xKEv1ZiwcTw==","signatures":[{"sig":"MEUCIBDlLTLqNFWDX22JReyLg8RM1q4PeAMTcOOLAU9E9YqpAiEA/GhmX06HC6qd8wPbKBii4lWElp5U3pJAyKxHqFC5BZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348550},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"8e7d8e84fb9b13d631a84de5eadb7910f689e1a4","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.1_1788634866908_0.5162863792994208","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@coderifts/conformance","version":"0.8.2","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.2","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"99b8a609cc424204d76b88d6b809af6dee649f47","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.2.tgz","fileCount":47,"integrity":"sha512-JbU5P5NEImCCr0IovQPgLNPUQF4m1qo0nbSywm9mfldmKrej4UUU88UBALEt6uKgIHgF8kGiyYNaUFL6fQ7h6w==","signatures":[{"sig":"MEYCIQCluSBHaJ5kfKPz7/3VcghftDff2ZzaN9vw7nyWBhT0qwIhALHLB54PiMjcmDY6Kq3dHbeL2bQAKelG0AciI2hfuQck","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398751},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"9f31e88464a1bf57599d6b9edf412fe35de15c1a","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.2_1788689751160_0.11441743811649863","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@coderifts/conformance","version":"0.8.3","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.3","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"b7e1963ba48e4e6f69a1bddbc5648f4eabba1009","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.3.tgz","fileCount":54,"integrity":"sha512-HYUIlMSVl+hGz56K1qalz4QDi8YT9KCsJdGesvkZA7ajOvb3wbnOTze939AXLcWCOXfZdZH5yi/LFNIj5HThWA==","signatures":[{"sig":"MEQCIAfBMTNdsJReM8kssDRIgW7upaxzQ2AEa7T7j5OGTkVrAiB7dnXYurDMv08DmzRfjDjT2asUCSYQpFjkYzuDlGQKbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464482},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"477cca1a9d3e6dc13b19d7de4bedae30336c3650","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":">=1.1.1","@coderifts/agent-guard":">=8.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.3_1788704050580_0.9687435235940292","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@coderifts/conformance","version":"0.8.5","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.5","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"15bdbef0359af302a82c6828dbc4bc375ff5e7e4","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.5.tgz","fileCount":56,"integrity":"sha512-L9RwzNxJOpCAwSfu1OrmKEE+rzsoQezCwY1dwbpgyclkKxBb6n18JKJHTNqPzP/MnzSmJr49B95dqgf3cUwDhw==","signatures":[{"sig":"MEYCIQCbI91IfypxTcsdH6etdoDl6Gja+H2OyNALeXmvJ5jwYQIhAJUvlbA/QOEqQWvSoT1wnaQzFRphDzWVabR7woIQpmxH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534273},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"a362f599272bcd0cacbd865b3a5c31c7a2f2c6a6","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.5_1788808092717_0.40344932727875915","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@coderifts/conformance","version":"0.8.6","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.6","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"8a3239f3d50d131530837369fd763784f4f027f9","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.6.tgz","fileCount":73,"integrity":"sha512-M9UqSQpGtB3GRwqNns0SUkAdJStI6/lix6fm4HMQAiXtPXvilz46N2L53pBb176Xlz/NJwZCyN4oqPg5Thv+pA==","signatures":[{"sig":"MEUCIQCDmudZc0YG8aGVos/xPA9X0etG9lYlskY3BBVhPgzlVQIgXdtIt2P0ppZq1BlhbIXznl5qiI5Z9CobHqKlDm6/rp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676138},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"bd55923a950077c9d01abbc48b3b87a6421fe5a1","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.6_1788872660637_0.8118551997865757","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@coderifts/conformance","version":"0.8.7","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.7","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"0fe409ca5ef296e4a40252ca0f81c411715ee5c1","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.7.tgz","fileCount":73,"integrity":"sha512-hZa5KLEkzOOtwMSy7PffEbjSpB7pbS5EIDWH+0ph0KIyJbN+6Vkj91ZJuwExx9bCWJ12y996+QGpN5NwaCmP6A==","signatures":[{"sig":"MEUCIQD6y4TJl7sC8QX4AqyMBvVdu5qpShzsYOR90ZEe8pRuFAIgfdVNGSORSzD2UNK0agdoYkiCtX6bGtTB5GP+uGs3ddA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703316},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"3d87d5ad0a84be3236d6ca245e2305c2114bbb50","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.7_1788974855773_0.531512959470495","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"@coderifts/conformance","version":"0.8.8","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.8","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"5b65f8d2f00b7a7fe6eb9c770fa2e93cca2258cc","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.8.tgz","fileCount":73,"integrity":"sha512-IAjdcp2d5uJWEq7OLmQZuRHkhbuwYZ9pDhAuhSequvTcumyzIwuFHnU/dQfmEtGrN267rkwxxBsT96nHB10u2w==","signatures":[{"sig":"MEUCIGq/j0k4HNj3K75J4CSDph0l4xX1HY0bUsaTHxgMypJDAiEAh++RItBGRGZEKr9ieU5G0aHBuMdoRUeH1r42QCDAJ0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703648},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"922b27e95aeb7531d1bddaa5b53a96fe01a0c1ec","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.8_1788978965963_0.47800006293857655","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"@coderifts/conformance","version":"0.8.9","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.9","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"c8759a026e56d752dba07cb20cb3bd87dee04cb9","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.9.tgz","fileCount":73,"integrity":"sha512-Xz02KCxND1Pas10rN/G/byEbJmLpNcZB3DKvDzcvp9SmN7G4HEH3Uxg+Tp1XTIX8EWTnGn2/f8MqmzqoCmz3TA==","signatures":[{"sig":"MEUCIQDi4C6iW/jdB1P3e04uh0VyRUrp9+ogcjzgqQGkJT6BQQIgLmspJVjQTjbOUI+Rs2P9km0eEUE07BEUiDaOolx1EqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":706433},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"ff941631697c51aaee044f9745d2cd626729fa31","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.9_1789019311728_0.2668323581056624","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@coderifts/conformance","version":"0.8.10","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"license":"MIT","_id":"@coderifts/conformance@0.8.10","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"homepage":"https://github.com/coderifts/conformance#readme","bugs":{"url":"https://github.com/coderifts/conformance/issues"},"bin":{"conformance":"bin/coderifts-conformance.js"},"dist":{"shasum":"047d4836d54eb93b58bd59132efaa39579e87f10","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.10.tgz","fileCount":73,"integrity":"sha512-Qk+B5Zkx11MBUehRvE3dO3524GWMwksCvktzHmWnNDJrTPDzbCrFVBRhhHTRJow1oNa6sbC5GYOJk6IugmFU0A==","signatures":[{"sig":"MEQCIFhD9JyqlZ719InDjSe37hg9kmW+DzBmZ9BvbaMemFwrAiB+vdu72rGnqYAi6Dg71/Lg24oWRsoZY6d0LcL12JvYKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDSnvehIWwPOfxwLfkMg/KXAh9GNzfHZh1dn452l6KPUAiAh2ZSHIRq2QK6yukTieSeZ+xowFqMlwUTEr6+9PsdCVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707295},"main":"./bin/coderifts-conformance.js","engines":{"node":">=20.0.0"},"gitHead":"12ab69217155bb297d981680857dfbd2965ebd45","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"188479a15ecb2f4ef57f437d0cec67d94e3598fd","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.10.0","@coderifts/agent-guard":"14.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"capability-demo":"git+https://github.com/coderifts/capability-demo.git#188479a15ecb2f4ef57f437d0cec67d94e3598fd"},"_npmOperationalInternal":{"tmp":"tmp/conformance_0.8.10_1789067073036_0.8736088653462619","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"_id":"@coderifts/conformance@0.8.11","bin":{"conformance":"bin/coderifts-conformance.js"},"bugs":{"url":"https://github.com/coderifts/conformance/issues"},"dist":{"shasum":"de2d07dd467eee515bceb72cdc5817f7aa9f2371","tarball":"https://registry.npmjs.org/@coderifts/conformance/-/conformance-0.8.11.tgz","fileCount":73,"integrity":"sha512-k4BZ7juqyb0GNM11vRA49gKCrjTFMTW+1P89f/n4gJAuKQclIothoanNxBbH1CFmyQqT4DrpFCmXfmNSipXSwA==","signatures":[{"sig":"MEYCIQC7eZ+ZDoNeM2mMGWMaClPnsu7d0m7LX3UH703DQ3rcAwIhAIR21y5WbkgqlNxydzNRcMyo0byta/M7naqn86kMjeUU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCaWMfasO4lk+5FJKtEjwOPSxWQ9zJe0RawtIpl5jLMZgIhAO+B8hgU6RsTcye/m932jrwwu2842jovsDo8i0Kh653S"}],"unpackedSize":715498},"main":"./bin/coderifts-conformance.js","name":"@coderifts/conformance","engines":{"node":">=20.0.0"},"gitHead":"eed9c9312ce75cc5edf05455f913ba3172744710","license":"MIT","scripts":{"test":"node bin/coderifts-conformance.js --subject reference && node bin/coderifts-conformance.js --subject sdk && node bin/coderifts-conformance.js --subject agent-guard && node bin/coderifts-conformance.js --subject model-acceptance && node bin/coderifts-conformance.js --subject data-plane && node --test test/*.test.js","profiles":"node bin/coderifts-conformance.js --profiles","conformance":"node bin/coderifts-conformance.js","release:check":"node scripts/assert-changelog-version.js","prepublishOnly":"npm run release:check && npm test && npm run release:packed","release:packed":"node scripts/check-packed-install.js","model-acceptance":"node bin/coderifts-conformance.js --subject model-acceptance"},"version":"0.8.11","_npmUser":{"name":"zsobpeter","email":"zsobpeter@gmail.com"},"homepage":"https://github.com/coderifts/conformance#readme","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"coderifts":{"capability_demo":{"git":"https://github.com/coderifts/capability-demo.git","src":"demo/src","commit":"75a09d8b74f1161d40415fb98c2537f116d9ffdc","package":"capability-demo","sibling":"../capability-demo"}},"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"_npmVersion":"11.6.2","description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","directories":{},"maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"_nodeVersion":"24.12.0","dependencies":{"@coderifts/sdk":"3.14.2","@coderifts/agent-guard":"17.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/conformance_0.8.11_1789213425434_0.6920481658773596"}}},"time":{"created":"2026-08-12T07:14:30.569Z","modified":"2026-09-12T11:43:45.736Z","0.1.0":"2026-08-12T07:14:30.827Z","0.1.1":"2026-08-12T07:19:03.897Z","0.1.2":"2026-08-12T07:22:35.149Z","0.1.3":"2026-08-15T16:22:46.955Z","0.2.0":"2026-08-23T06:49:44.594Z","0.3.0":"2026-08-28T12:22:14.759Z","0.4.0":"2026-09-02T06:14:45.425Z","0.5.0":"2026-09-02T13:21:21.434Z","0.8.0":"2026-09-05T11:08:36.701Z","0.8.1":"2026-09-05T19:01:07.047Z","0.8.2":"2026-09-06T10:15:51.328Z","0.8.3":"2026-09-06T14:14:10.735Z","0.8.5":"2026-09-07T19:08:12.885Z","0.8.6":"2026-09-08T13:04:20.772Z","0.8.7":"2026-09-09T17:27:35.921Z","0.8.8":"2026-09-09T18:36:06.110Z","0.8.9":"2026-09-10T05:48:31.925Z","0.8.10":"2026-09-10T19:04:33.157Z","0.8.11":"2026-09-12T11:43:45.576Z"},"bugs":{"url":"https://github.com/coderifts/conformance/issues"},"license":"MIT","homepage":"https://github.com/coderifts/conformance#readme","keywords":["coderifts","conformance","adapter-acceptance","execution_action","agent-guard","sdk"],"repository":{"url":"git+https://github.com/coderifts/conformance.git","type":"git"},"description":"Offline CodeRifts adapter-acceptance + model-acceptance suite. No network, no API key.","maintainers":[{"name":"zsobpeter","email":"zsobpeter@gmail.com"}],"readme":"# @coderifts/conformance\n\nOffline **adapter-acceptance** suite for every consumer of a CodeRifts decision.\n\nRun the **same case file** the CodeRifts SDKs are tested against — no network, no API key, no CodeRifts account.\n\nCases live in `cases.v1.json` (language-agnostic). Adapters supply a **subject** that maps each case input to an outcome. Scoring rules and the subject interface are defined in [CONTRACT.md](./CONTRACT.md).\n\n## Install / run\n\n```bash\n# one-shot (after publish)\nnpx @coderifts/conformance --subject reference\n\n# from a local checkout of this package\nnode bin/coderifts-conformance.js --subject reference\n```\n\nExit code **0** iff every selected case passes.\n\n### Subjects shipped here\n\n| Subject | Role | Deps |\n|---------|------|------|\n| `reference` | Normative pure mapping (well-known + tool DESC) — **should pass** | none |\n| `branch-on-decision` | Deliberate **wrong** brancher (uses `decision`, ignores `execution_action`) — **should fail** AA-BRANCH-NOT-DECISION | none |\n| `sdk` | Wires `@coderifts/sdk` `readDecision` then normative decide | `@coderifts/sdk` |\n| `agent-guard` | Wires `@coderifts/agent-guard` decide helpers (decide cases only) | `@coderifts/agent-guard` |\n| `model-acceptance` | Canned OpenAI/Anthropic/Gemini/LangGraph tool-use → `bind*` / `execute*ToolCall`. Scorecard of helper-through consistency. **Not** `cases.v1.json`. | `@coderifts/agent-guard` >=8.1.1 |\n| `data-plane` | **Runs** the capability-demo atomic chain (`examples/atomic-v2`) and reports what each hop is evidence *for*. **Not** `cases.v1.json`. Keyless; the two database rows need `CODERIFTS_DATAPLANE_PG`. | capability-demo checkout (pinned) |\n\n```bash\nnode bin/coderifts-conformance.js --subject reference\nnode bin/coderifts-conformance.js --subject sdk\nnode bin/coderifts-conformance.js --subject agent-guard\nnode bin/coderifts-conformance.js --subject agent-guard --profile enforcement_consistent\nnode bin/coderifts-conformance.js --subject model-acceptance\nnode bin/coderifts-conformance.js --subject data-plane\n```\n\n### Profiles\n\n- `normative` (default) — full consumer branching suite  \n- `enforcement_consistent` — subset for guards that fail-closed on decision↔action inconsistency  \n- `all` — every case  \n\n## Write your own subject\n\nSee [CONTRACT.md](./CONTRACT.md). A subject is:\n\n```text\nsubject(case) → result\n```\n\nNo network. No API keys. Branch on `execution_action`, not on `decision` or `safe_for_agent`.\n\nPoint your CI at this package so a decision-only brancher fails the same way CodeRifts’ own SDKs would.\n\n## Model-acceptance (helper-through, not model-spontaneous)\n\n**Honesty.** `model-acceptance` proves that **the host wired** `executeOpenAIToolCall` / `executeAnthropicToolCall` / `executeGeminiToolCall` / `executeLangGraphToolCall` (which call `bind*GuardOutcome`) over the **same Change-IR** (`artifacts[]` → `change_fp`) and got the **same verdict** on all four provider shapes. It does **not** prove that OpenAI/Claude/Gemini/LangGraph **spontaneously** call `preflight_change_set`, and it does **not** prove raw tools outside the returned table are inescapable.\n\nMeasured bind signatures (guard@6.1; dispatcher later):\n\n| Helper | Input | Output (ProofBound brand is TypeScript-only) |\n|--------|--------|-----------------------------------------------|\n| `bindOpenAIGuardOutcome(outcome, { tool_call_id })` | `GuardOutcome` + OpenAI `tool_call_id` | `{ role:'tool', tool_call_id, content }` |\n| `bindAnthropicGuardOutcome(outcome, { tool_use_id })` | `GuardOutcome` + Anthropic `tool_use_id` | `{ type:'tool_result', tool_use_id, content }` |\n| `bindGeminiGuardOutcome(outcome, { name })` | `GuardOutcome` + Gemini function `name` | `{ functionResponse: { name, response } }` (`response` is an object) |\n| `bindLangGraphGuardOutcome(outcome, { tool_call_id, name? })` | `GuardOutcome` + LangGraph `tool_call_id` | `{ content, tool_call_id, name? }` |\n\nCanned tool-use fixtures: `fixtures/model-acceptance.v1.json`. Offline; no provider API key. `--json` prints the machine scorecard.\n\n```bash\nnode bin/coderifts-conformance.js --subject model-acceptance\n# or: npm run model-acceptance\n```\n\nExit 0 iff all 4 providers × allow/block rows pass and `change_fp` + verdict are identical across providers. Two-run determinism is asserted in `test/model-acceptance.test.js`.\n\nLocal guard newer than the published npm copy: set `CODERIFTS_AGENT_GUARD_DIR` (or keep a sibling `../coderifts-agent-guard` checkout with `dist/`).\n\n## Assurance profiles — what a run actually proves\n\nThis suite used to report a single conformance number. One number collapses seven claims of very\ndifferent strength: \"an adapter branches on `execution_action`\" and \"a merge was refused at the\nprovider\" are not the same evidence, and a total cannot tell you which of them is held. It is also\nsilent about what was never attempted.\n\nSo a run is reported as seven profiles, in chain order, on **two axes that are never conflated**:\n\n- **coverage** — `COVERED` / `PARTIAL` / `NOT_COVERED`\n- **evidence_tier** — `LIVE` / `RECORDED` / `MODELLED` / `NOT_RUN`\n- plus an execution **result** `PASS` / `FAIL` (COVERED + LIVE + FAIL means the property is covered AND the run found a regression)\n\n**Every profile is listed, including the empty ones** — a reader who sees only the profiles that pass has learned nothing new. Default `--evidence recorded` verifies vendored pinned external artifacts. `--evidence live` produces new proof on available infra and is `NOT_RUN` without it — it does **not** fall back to recorded bytes.\n\n| Profile | Coverage | Evidence | What a COVERED verdict would mean |\n|---------|----------|----------|-----------------------------------|\n| `DECISION_LOGIC` | **COVERED** | **LIVE** — 15 vectors run now (positive + negative pair) | A consumer branches on `execution_action`, never on `decision` or `safe_for_agent`, and a verdict function is stable for a given input. |\n| `RECEIPT_CRYPTO` | **COVERED** | **RECORDED** — receipt-verifier committed signed token bytes (not minted here) | A grant or attestation verifies offline against its keyring, and expired / misbound / mis-signed / malformed / unknown-kid / retired-key tokens are refused with a named status. |\n| `GUARDED_TOOL_TABLE` | **COVERED** | **LIVE** — 6 vectors run now (positive + negative pair) | The right tool is selected for a given change, and each description carries the scoping facts a reader depends on. |\n| `CREDENTIAL_BOUNDARY` | **COVERED** | **RECORDED** — DENY `42501` + unchanged-state read-back; POINT 3 is that denial, not catalog posture | A host holding a provider credential cannot reach the target except through the guarded path. |\n| `ATOMIC_COMMIT` | **COVERED** | **RECORDED** — replay, concurrency, CAS-stale `STATE_DRIFT`, no-consume-only rollback, no-mutation-only 42501, before/after read-backs | A claim and the mutation it authorises either both happen or neither does, and a replayed nonce buys nothing. |\n| `PROVIDER_ENFORCED` | **COVERED** | **RECORDED** — raw GitHub dumps: ruleset 22074842 + PR#4 required-context FAILURE+BLOCKED + PR#5 SUCCESS + merge-API 405 (PR#4 failing / PR#5 expected); local `gh` dump, not OIDC | A provider actually refused a merge or a deploy because the gate said so — observed, not modelled. |\n| `END_TO_END` | **COVERED** | **RECORDED** — one target-state-transition run in which POINT 8 is filled from a BARE-GIT TARGET-STATE TRANSITION: a throwaway bare repository built inside the run, one ref update authorized by a signed `cr.exec.v2` grant, performed as a compare-and-swap, then read back by a SEPARATE PROCESS that cannot write and is never told what it is about to find. A signed `cr.evidence.root.v1` binds every token's exact digest to one `run_id`, which closes the `cross_run_collage` gap this row named until 0.8.5 — a genuinely signed token taken from a DIFFERENT run of the same producer is now refused by the root's digest. Four correlations are re-checked offline (after-state token, blob digest, content sha256, single parent), and the negative pole is the same producer refusing an uncorrelated readback. | **TRUSTED-EXECUTOR INTEGRITY, and no further.** `proof_scope: TRUSTED_EXECUTOR`, `provider_witness: NOT_APPLICABLE`, `externally_witnessed: false`. The executor and the observer are one machine and one OS user, separated by the target's mode bits — not by two identities and not by a third party. **NOT PATH B**: no pull request was merged and no provider witnessed anything. |\n\n**PROFILE COVERAGE 7/7 · EVIDENCE 2 LIVE + 5 RECORDED + 0 MODELLED · OVERALL RECORDED · FULL LIVE false.**\nThat is a count of COVERED rows plus an evidence breakdown, not a pass-rate over unequal claims.\n`MODELLED` cannot become `COVERED`. Every `RECORDED` operational profile carries a non-empty\n`does_not_prove`. Conformance never mints evidence (`self_minted:false`).\n\n**COVERED requires both polarities** — at least one positive vector (the capability works) and\none negative vector (a real mismatch is refused). A profile with only one half is not covered.\n`PARTIAL` is earned when recorded evidence exists but a required negative or read-back is\nmissing — the gap is named, never filled in.\n\n### Why the empty ones are empty\n\n- **`RECEIPT_CRYPTO` — RETIRED from `cases.v1.json` in 0.4.0; RECORDED from receipt-verifier in\n  this release.** The 23 `EG-*` / `EG2-*` / `EG-A-*` / `MON-A-*` cases were vendored from the\n  CodeRifts app into `cases.v1.json`, and every shipped subject implements only the `decide` and\n  `tool_selection` kinds. A runner here was the wrong fix: the inputs carried a scenario *name*,\n  not a token, so running them would have meant minting the signed token from that name — a\n  generator and a verifier in one repository agreeing with itself. The removal could not start\n  here (`cases.v1.json` is vendored from the app and gated byte-identical).\n\n  **What changed:** this suite now **verifies** receipt-verifier's committed signed token bytes\n  (`fixtures/recorded/receipt-crypto/vectors.json`, pin\n  `sha256:b2ac4482763ad3c4d743e0073f418740f08083f37b397d6074fea3a4ccf93532`, generator\n  `test/gen-vectors.js`, producer commit `4d3cc48d36a2ee7ff256eec8d76f819843bfd429`). Positive\n  VALID tokens pass; the byte-level FORGED negative (`tampered_fp`) reuses the VALID signature\n  over broken protected content and must fail; field-level tampers (sig / key / audience /\n  operation / expired / version) are scored. Conformance does not mint these tokens\n  (`self_minted:false`). A digest-pin mismatch is an error. `does_not_prove`: the live kernel\n  mints this today; the production signing key is current; the key-discovery endpoint is fresh;\n  the grant is currently executable. `--evidence live` without a kernel is `NOT_RUN` and does\n  not fall back.\n- **`CREDENTIAL_BOUNDARY` — COVERED / RECORDED.** The signed prove-transcript DENY panel carries\n  a real target-side denial: `cr_host` INSERT → Postgres `SQLSTATE 42501` (not Node 403, not\n  exit-78), with articles count BEFORE and AFTER the attempt (unchanged). POINT 3 is that\n  denial, not the catalog posture receipt. `does_not_prove` is non-empty (another credential,\n  another target, raw shell, current config). db.js comments are MODELLED\n  source and are not counted.\n- **`ATOMIC_COMMIT` — COVERED / RECORDED.** The same correlated transcript shows single-use\n  (replay 201 then 409 `GRANT_CONSUMED`), concurrency (`ok=1 grew=1`), CAS-stale (`STATE_DRIFT`,\n  row unchanged, jti not consumed), no-consume-only (crash-before-seal rolled back article AND\n  ledger), no-mutation-only (executor raw INSERT `42501`), and before/after read-backs on the\n  positive commit and every negative. `EG-A-STATE-NONCE-MISMATCH` was never evidence here.\n  POINT 8 merge stays MODELLED and is not this profile. The artifact records\n  `working_tree_dirty:false` (generated from a clean checkout of `3a34079`).\n- **`PROVIDER_ENFORCED` — COVERED / RECORDED.** Raw GitHub API dumps of `coderifts/demo`, not a\n  CodeRifts summary. Ruleset `22074842` (`coderifts-enforcement`, required `CodeRifts / contract-gate`,\n  `integration_id` 2860592, `refs/heads/main`, enforcement active). Negative pole: PR#4 head\n  `4b2062b9`, REST `mergeable_state` blocked, required context `CodeRifts / contract-gate`\n  COMPLETED FAILURE (app 2860592). Positive pole: PR#5 head `df76f7a7`, required context\n  `CodeRifts / contract-gate` SUCCESS (same app). Both poles on that required context — not\n  the differently-named `CodeRifts — API Contract Check`. Capture provenance: local `gh api`\n  by `zsobpeter-code` on 2026-09-05, `oidc_attested:false`. Negative dump is REST (PR +\n  check-runs); positive dump is GraphQL — the shapes as captured. `ADV-1` still does not\n  count here. The envelope also carries the merge-API **405** bodies (PR#4\n  `contract-gate is failing`; PR#5 `is expected` as control) — the gate refused\n  the admin merge, not only the check. `does_not_prove` names HISTORICAL freshness,\n  bypass actors, local gh token, that PR#5 remains BEHIND / 405-expected, and that\n  no merge landed. The 1105 canary design remains the cost model for a *live* 405.\n- **`observed_bypass_failure` — recorded 405 pin, not an eighth profile.** The\n  bytes live in `fixtures/recorded/bypass-attempt/` and are **scored on\n  PROVIDER_ENFORCED** (1395). Admin `PUT …/pulls/{4,5}/merge` returned HTTP **405**\n  naming `CodeRifts / contract-gate`. PR#4 reason is **failing**; PR#5 is\n  **expected** (BEHIND, not a gate-refusal). HISTORICAL, local gh, `oidc_attested:false`.\n  The 405 bodies do not identify the actor or the PR; the pin binds path → payload.\n- **`END_TO_END` — PARTIAL / RECORDED.** The two earlier gaps stay closed: authorization is continuous (one challenge-first `cr.exec.v2` ATOMIC grant through authorize, consume, attestation and correlation) and every token authenticates against its issuer's key. The gap that reopened the grade is a different class — CROSS-RUN COLLAGE. The measure checks each token individually, so it cannot see that a set of individually-authentic tokens came from two runs; swapping in the negative pole's own signed tokens was accepted in all three positions. This is stated rather than graded around: `cross_run_collage` is a conjunct of the verdict, not a footnote. COVERED returns when an artifact carries a signed evidence root, and the measure verifies that rather than being told.\n  prove-transcript is a Postgres executor whose POINT 8 merge is MODELLED. The provider bundle\n  is GitHub PRs with different commits and a different `run_id`. A collage of separate artifacts\n  is layer-coverage, not end-to-end. Not COVERED.\n\n### Empty profiles never render green\n\n`0/0` is rejected as a rendering, in every format. It is not merely unclear — it is the *same\nshape* as a pass: `14/14` and `0/0` both read as \"everything selected succeeded\", and a dashboard\naveraging ratios scores `0/0` as 100%. `NOT COVERED` cannot be misread that way because it is not a\nnumber. A count is printed only where a count means something.\n\n```bash\nnode bin/coderifts-conformance.js --profiles          # the table above (default --evidence recorded)\nnode bin/coderifts-conformance.js --profiles --json   # machine shape, explicit `green` per profile\nnode bin/coderifts-conformance.js --evidence live --profiles   # NOT_RUN for recorded profiles; no fallback\nnode bin/coderifts-conformance.js --assurance RECEIPT_CRYPTO   # exit 0 in recorded mode (COVERED / RECORDED)\nnode bin/coderifts-conformance.js --assurance ATOMIC_COMMIT    # exit 0 in recorded mode (COVERED / RECORDED)\nnode bin/coderifts-conformance.js --assurance PROVIDER_ENFORCED # exit 0 in recorded mode (COVERED / RECORDED)\nnode bin/coderifts-conformance.js --assurance END_TO_END        # exit 3 — PARTIAL (cross_run_collage)\n```\n\n`--assurance <ID>` exits **0** only when that profile is COVERED (LIVE or RECORDED), **3** when it\nis PARTIAL, NOT RUN or NOT COVERED, and **2** for an unknown id. Exit 3 is distinct from exit 1 on\npurpose: \"nothing proved this\" is not \"this was disproved\". A CI job pointed at a PARTIAL or empty\nprofile fails instead of going green forever.\n\nOne vector fits none of the seven and is recorded rather than forced: **`ADV-6`** (SHA pin vs the\nmoving `@v0` tag) asserts supply-chain integrity of the enforcing component, which is a\n*precondition* for provider enforcement rather than enforcement, and is not a verdict, a token or a\ntool. Forcing it into the nearest profile would make that profile's name overclaim. See\n`UNPLACED` in `lib/assurance-profiles.js`.\n\nThe ten `COVERAGE BOUNDARY` / `RE-VERIFICATION RECORD` tests count toward **no** profile: they\nassert properties of the fixture, and letting the suite score itself for describing itself is\nexactly the inflation this split prevents.\n\n### The `data-plane` subject\n\nEvery other subject here is a pure function of case input. This one executes real code — the\nfour hops of `examples/atomic-v2/run.js` in the pinned capability-demo checkout — because\n`CREDENTIAL_BOUNDARY` and `ATOMIC_COMMIT` are properties of a running system and no pure function\ncan reach them.\n\n**Measured result, and it is not the flattering one: the keyless run fills zero profiles.** All\nfour hops pass and none of them is admissible as evidence *here*:\n\n| Row | Hop | Profile it looks like | Why it does not count |\n|-----|-----|----------------------|------------------------|\n| `DP-1-REQUEST-SHAPE` | 1 | — | A request shape is not one of the seven claims. It is pinned as a type in the SDKs. |\n| `DP-2-GRANT-OFFLINE-VERIFY` | 2 | `RECEIPT_CRYPTO` | capability-demo mints the grant and capability-demo verifies it. That is the reason `RECEIPT_CRYPTO` was retired in 0.4.0 — one repository agreeing with itself. It runs for real in the app and in `receipt-verifier`, across two languages. |\n| `DP-3-CONSUME-ONCE-KEYLESS` | 3 | `ATOMIC_COMMIT` | `consumeOnce` without a `query` performs no lookup and returns `consumed: true`. `ATOMIC_TRANSACTION` there is a *declaration* about the postgres path, not an observation of it. |\n| `DP-4-ATTESTATION-VERIFY` | 4 | `RECEIPT_CRYPTO` | Same retirement as `DP-2`. |\n\n**With `CODERIFTS_DATAPLANE_PG` pointing at a migrated capability-demo database, two rows become\nreal** — and they are the only two the chain can honestly fill:\n\n| Row | Profile | What it observes | Ceiling |\n|-----|---------|------------------|---------|\n| `DP-PG-SINGLE-USE` | `ATOMIC_COMMIT` | The same `jti` INSERTed twice into `consumed_grants`; the second raises `23505`. | Proves a replayed `jti` cannot be claimed twice. Does **not** prove the claim and the mutation share one transaction end to end. |\n| `DP-PG-SEAL-REQUIRED` | `ATOMIC_COMMIT` | `COMMIT` of a consumed grant with no sealed attestation raises `23514 consumed_unsigned` — the deferred constraint trigger. | Observes the commit-time constraint. Does **not** observe the mutation; `cr_execute_grant` does that, and driving it needs a state challenge. |\n| `DP-PG-HOST-CANNOT-WRITE` | `CREDENTIAL_BOUNDARY` (**PARTIAL**) | `cr_host` attempting `UPDATE` on `articles` raises `42501`. | The **database** half only. The tool-table half — a raw tool beside the guarded one — is untouched here and stays with `@coderifts/bypass-probe`. This row can never take the profile past `PARTIAL`. |\n| `DP-PG-HOST-CAN-READ` | `CREDENTIAL_BOUNDARY` (**PARTIAL**) | The control: `cr_host` `SELECT` on `articles` succeeds. | Without it, the row above passes just as well when the connection is broken or the table is missing. \"The write failed\" is not \"the write was refused\". |\n\n```bash\n# keyless — reports skips with reasons, exits 0, and says in words that nothing was proved\nnode bin/coderifts-conformance.js --subject data-plane\n\n# with a live database\nCODERIFTS_DATAPLANE_PG=\"postgres://demo:demo@localhost:5432/demo\" \\\n  node bin/coderifts-conformance.js --subject data-plane\n```\n\nNo API key on any path. `pg` is **not** a dependency of this package; it is borrowed from the\ncapability-demo checkout, and its absence is a named skip. An absent or off-pin checkout is\n`capability_demo_absent` / `capability_demo_commit_mismatch` — never silently COVERED.\n\nEvery database row runs inside a transaction that is **rolled back**, so a caller's database is\nleft exactly as it was found.\n\n**These rows do not feed `--profiles` or `--assurance`, on purpose.** Those drive CI gates, and a\ngate whose colour depends on whether a database happened to be reachable is worse than one that is\nhonestly red. The seven-profile report takes `CREDENTIAL_BOUNDARY` / `ATOMIC_COMMIT` from the\n**recorded** prove-transcript (COVERED / RECORDED), not from this live subject. Data-plane\nskips remain true of the live path; this subject reports separately what a run *with* a database\nobserved.\n\n`DP-PG-SEAL-REQUIRED` was not designed — it was found. The first version of `DP-PG-SINGLE-USE`\nINSERTed and committed, and the deferred trigger refused it. That refusal turned out to be the\nclosest thing this suite can observe to `ATOMIC_COMMIT`'s actual sentence, so it became a row.\n\n## Case source of truth\n\n`cases.v1.json` is **vendored** from the private CodeRifts app (`test/adapter-acceptance/cases.v1.json`). The app CI asserts byte-identity so this public copy cannot silently drift from what the product tests against.\n\nApp-private anchor checks (that cases still match live app source text) stay **out of this package** — they require the private app tree.\n\n## License\n\nMIT\n\n## Adversarial vectors\n\nA passing adversarial vector proves that ONE NAMED ATTACK SHAPE fails against the behaviour this suite can reach. It never proves the class is closed, and it is not a security guarantee.\n\nWHAT A PASS ASSERTS: the specific shape named in the vector — that payload, that ordering, that ref form — does not produce the outcome the attacker wanted, at the version recorded in the fixture.\n\nWHAT A PASS DOES NOT ASSERT: that a variant of the same shape fails; that the class the shape belongs to is covered; that the product still behaves this way at a version other than the one recorded; or, where a vector mirrors published logic rather than importing it, that the mirror and the product still agree. That last one is not hypothetical — re-verifying against coderifts@4.12.0 found two divergences in the issuer mirror while every test stayed green, and both would have reported a WRONG verdict to an auditor.\n\nWHY SOME VECTORS ARE ABSENT: four of the auditor's seven are not expressible in an offline, credential-free suite. They are listed in fixtures/adversarial.v1.json under `excluded`, each with its reason and where it IS covered, if anywhere. An absent vector is recorded, never silently dropped — a suite that hides what it cannot test is worse than a smaller honest one.\n\nRun them with the rest of the suite (`npm test`), or alone:\n\n```\nnode --test test/adversarial.test.js\n```\n\nNo CodeRifts credential, no network, no account. Three families are carried — issuer collision, MCP negative schema, action tag mutation — and the coverage boundary is a test of its own, so the suite fails if it stops stating what it does not cover.\n\n## Attack-matrix runner (five-point execution; contract rows stay NOT_RUN)\n\n`lib/attack-matrix-runner.js` executes a vector only when the row names an `execute` id that maps to a shipped adapter. **COVERED** means all five points (target, nonce, executor, attestation, gate) were checked by that run — not that the JSON declared an expected outcome. Rows with no `execute` id stay **NOT_RUN**, named. The runner does not invent a verifier and does not call `issueExecutionGrant`. `ATOMIC_COMMIT` stays **NOT COVERED**.\n\nExecuted regressions (fail-closed): git missing `expected_old_sha` (`4742476`), HTTP missing/weak ETag (`0988a20`), reconciler forged attestation (`eeae7e7`). Stated-contract consumeAndCommit rows (replay, expired-nonce, payload-swap, missing-attestation) remain recorded, not executed. Pending-contract: raw-tool, concurrent, stale-state. This file does **not** enlarge `adversarial.v1.json` `excluded[]` (still exactly four).\n\n### capability-demo (declared, commit-pinned — required for the three executed regressions)\n\nThose three regressions load the **shipped adapters** from [capability-demo](https://github.com/coderifts/capability-demo) (`git-atomic.js`, `http-atomic.js`, `reconcile.js`). capability-demo is a **demo repo** (`private: true` in its package.json) — it is **not** on npm. The pin lives in this package's `package.json`, under `coderifts.capability_demo`. It is **not** an npm dependency: installing this package does not fetch it.\n\n**Pinned commit** (the checkout COVERED expectations were measured against):\n\n`75a09d8b74f1161d40415fb98c2537f116d9ffdc`\n\n**Sibling checkout** (path the runner looks for by default):\n\n```\n<parent>/\n  capability-demo/          # git clone + checkout the pin\n  coderifts-conformance/    # this repo\n```\n\n```bash\ncd <parent>\ngit clone https://github.com/coderifts/capability-demo.git\ncd capability-demo\ngit checkout 75a09d8b74f1161d40415fb98c2537f116d9ffdc\n```\n\nAdapters are loaded from `../capability-demo/demo/src` relative to this repo. Override with `CODERIFTS_CAPABILITY_DEMO` (repo root or `demo/src`).\n\n**When the checkout is absent** (or at a different commit): the three regressions are **NOT_RUN** / `capability_demo_absent` (or `capability_demo_commit_mismatch`), named, with the expected path and commit. They are **never silently COVERED**. The rest of this suite still runs. An external user who follows the clone+checkout above can reproduce the COVERED run.\n","readmeFilename":"README.md"}