{"_id":"@luizsantiago/spec-guardrails","_rev":"32-cf81151f434c35d07e4a6a96afd6116a","name":"@luizsantiago/spec-guardrails","dist-tags":{"latest":"5.0.0"},"versions":{"3.0.1":{"name":"@luizsantiago/spec-guardrails","version":"3.0.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.0.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"e238e7ee452a42f38906c738007adef0210382e6","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.0.1.tgz","fileCount":63,"integrity":"sha512-AwywiwTzS7KP+Ou6lIg1hAxtMYUZw1aN7qM+VP/uQ/Ipq26JxkAnWvJQ1UsQF2g0ZxkFp7nlIfCpQ5rtOssHaQ==","signatures":[{"sig":"MEUCIQDte31Rmb/sI76Nhxz6UE/23tmdhS3a+v+lxqExpPFJegIgNbC/bucves3ZjRfs9hLT5hQHXRtx61Wk5X6w+GGMyKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333468},"type":"module","engines":{"node":">=18"},"gitHead":"c986e6ff5b2db91bb76404b2eceaf72ff6ebe4b9","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Guardrails for AI coding agents — spec-driven phases, automatic gates, progressive skill loading (~70% fewer tokens per turn). Works in Cursor and Claude.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.0.1_1787417106400_0.0986742322643912","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.1":{"name":"@luizsantiago/spec-guardrails","version":"3.1.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"fd0eb88709092f6f01289eb3cc0a640e0e5fc57e","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.1.tgz","fileCount":68,"integrity":"sha512-b4StgkW+OmaLc4njI4jYVaDBHeSIhil7TYlAoPhumF4sl8YsJ4U5BkfghfD0N8ACMyRbxCOdBwj5ShI/7bLD/Q==","signatures":[{"sig":"MEUCIGVkhJPaaZhZwwB7VRSiVr+yYJIr7rt0046PXoOPvyj8AiEAwFhYWi9rRMWaCigiYrDVfiZvPhv/qvj+6K2nb4w/zrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359055},"type":"module","engines":{"node":">=18"},"gitHead":"6df20c20dc5c21a0fbb5ed535c95cd46edbdf403","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Guardrails for AI coding agents — spec-driven phases, automatic gates, progressive skill loading (~70% fewer tokens per turn). Works in Cursor and Claude.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.1_1787420118255_0.5102201521514198","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.2":{"name":"@luizsantiago/spec-guardrails","version":"3.1.2","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.2","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"4a4f72cb1a38eb7918544099b55f688de3fbec49","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.2.tgz","fileCount":68,"integrity":"sha512-xP7WtlJBwpiRwrCC7KsQkmRgIJPDuvyGAoctp+ipMnhK6dMfE7aduGAr+9TQgYFK996ktKQVFq2Glw3piyuTwQ==","signatures":[{"sig":"MEUCIQCU5vQmoStNidHLX+AyRMuDP8mpviSnXbecm7SEpeCnYQIgW/NMN2YUtVHQJgliDUJwqDg7JvfqtNRm4zRCkIlBgdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359251},"type":"module","engines":{"node":">=18"},"gitHead":"27dbb27be98c6e39eb1c70c80295c8058e53ad8a","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Guardrails for AI coding agents — spec-driven phases, automatic gates, progressive skill loading (~70% fewer tokens per turn). Works in Cursor and Claude.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.2_1787427208540_0.0055409742437799725","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.3":{"name":"@luizsantiago/spec-guardrails","version":"3.1.3","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.3","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"de1f200e3e8ac162593567d9a7414a9f55367388","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.3.tgz","fileCount":68,"integrity":"sha512-sTJRkSL6oHnVanAh53Nt4RoyJ4dlJsbnY6r8K7/0YQp2qe65W0AIP1/59frBQdSaaqZ6ppjD/C4yM07Za5RveA==","signatures":[{"sig":"MEUCIGuBwgj7g1IdF/b/qWbXZQcHyFGLq/1aDUH4eWZNLgRvAiEAljWWwUXmrq2SszX45DMl7XNVWWEpkA5O4oFi1DdZ4kk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360405},"type":"module","engines":{"node":">=18"},"gitHead":"8c33d9a73c33042d2ad5c09de0023c53129fbc1d","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for repo-local AI agents (Cursor and Claude Code adapters today): written goals, structural stop-gates, independent verify, progressive skill loading.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.3_1787437622581_0.7707611899934272","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.4":{"name":"@luizsantiago/spec-guardrails","version":"3.1.4","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.4","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"cf5c47d38f2857e43534ed4c4a5b4a58ad0836d3","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.4.tgz","fileCount":68,"integrity":"sha512-N1zBJGSt5N1vDC378BPfKeaqLhl5rmWkMhpPWCBEKFY4aB0jrP5MctaJfa0Y5yXMZMEaV+ZvIjrF8fmYM3/ZdQ==","signatures":[{"sig":"MEQCIH68ff7MEYJpoIdFf+Mc/A3D6CjH6PKOluZtJLykiq5zAiA4XXK6gtNLaGucd6eHG2ZuO/gfrpjG0lRRkMzpFMWE+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361828},"type":"module","engines":{"node":">=18"},"gitHead":"1a7927aaadbc099287d934f100428e07d2e9fd04","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for any repo-local AI agent: Process mode (Node) or full Brakes mode (Node + Python gates). Progressive loading, independent verify, Guarantees matrix.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.4_1787438697262_0.704948750061096","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.6":{"name":"@luizsantiago/spec-guardrails","version":"3.1.6","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.6","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"48e661c618f2329154c47527293130f46e39e33b","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.6.tgz","fileCount":68,"integrity":"sha512-kDhP5yrOFNx+iJpC90tKU0aaafL8yA+ExwjTMypJ9xoHu6yuvUHH9DYdk+AOfuKudxMvtzB5MunHN984hdm1Ag==","signatures":[{"sig":"MEUCIQC7gJYBOjyeOW1AExnHfGHlW7J68PMn4z7gj1eobw7/lAIgJo6j1CfpGKSvk4IMPoPpQkXm20sF8M8HZ9GjGk6KK+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361911},"type":"module","engines":{"node":">=18"},"gitHead":"c036fb140e9a3887527910ce3d8d5965ec5b3dee","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.6_1787439004758_0.6982552029839251","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.8":{"name":"@luizsantiago/spec-guardrails","version":"3.1.8","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.8","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"874eeea1ac065c8ef3aca1bbc0e1ca9f84291ee1","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.8.tgz","fileCount":74,"integrity":"sha512-RBNMVMy+XXl+bbu1UZNft4gFwQ5gVy6sJBM3kgZcoYujSypSalbU2058mW7hNnizZmdtv60n8vMqMo9+gFfzgA==","signatures":[{"sig":"MEQCIDQPTBoOeLzzzGqab3hZbZczYgr7ZurwEiylQM9a0IyfAiAFtR9lhROQ8pjU7wYCGmL/m8nftcsfeYuknABJgS+mDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370508},"type":"module","engines":{"node":">=18"},"gitHead":"4221c2e5515589872508d7cfe16d87b148748c25","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.8_1787442823518_0.8676483162439552","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.9":{"name":"@luizsantiago/spec-guardrails","version":"3.1.9","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.9","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"f64cd0626589536702dea7c802819761836e0692","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.9.tgz","fileCount":75,"integrity":"sha512-f6cPmpRfJnJzTZWVO3Y3lC3/YO/FwvDOGH5+ooktT92cDhQHTKBcNW5MmZRIuXxRtYehofqfHylOlOk1WhQlhw==","signatures":[{"sig":"MEUCIFwamvc9DZcAi+h/kU1ot0TEJ3LDe6Q1J+iJ50BAaHznAiEAi95OZ1c/fe/Af888vFHpIt9e0FraH3AUY2bpVDaf9LQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385425},"type":"module","engines":{"node":">=18"},"gitHead":"56b15eb77cc0cdb816ea4747989dd69c1f4fac48","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"11.13.0","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.9_1787446311133_0.14729477220998977","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.10":{"name":"@luizsantiago/spec-guardrails","version":"3.1.10","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.10","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"6220a2037ae8aabdbbd83d12503e47aee707cb17","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.10.tgz","fileCount":75,"integrity":"sha512-RsS+eBYbwIDB7T/oSnWPHsGUbVPNZ51K14qk/3GlBcb9ZoBSyvMUy1Af5x/CcKXK4dksFGINQ1R7zOrpH8rLGg==","signatures":[{"sig":"MEUCIQCueAX52h4NeFEdNaKtZTjR3+disyWFK8RNvKsmtBnuegIga5LPEpJAQIwyxsJbE1kz1mCnocrBA2Cly+xEfM09pj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375596},"type":"module","engines":{"node":">=18"},"gitHead":"e3d37e66779346d2dc5d2bdf27696a38b7d592a9","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.10_1787447998543_0.5636207034430827","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.1.11":{"name":"@luizsantiago/spec-guardrails","version":"3.1.11","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.1.11","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"7d5cfa3a7ec7d5d0c7850e9926c52ef654bb679f","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.1.11.tgz","fileCount":77,"integrity":"sha512-4O/U7J6t8mX5A+Ryb3lYE4p8ffSGRPMq0OCfNhpokHUJsY2iJGuGddpesEFKxQVF4uHKPeESrxxTd2EEgfDG9g==","signatures":[{"sig":"MEYCIQCfD0H11udo4aWVIkckFZkcHTGeCxTdMxYGcddh/Z5K+QIhAJhlGROX0xW7kDB/ZuhAt+L/tkangMEA/3TKdzgVoJ4b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":384556},"type":"module","engines":{"node":">=18"},"gitHead":"6b9d222aa44cfbace7637634ac61c7d101b967bc","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_companions.test.js test/test_companion_doctor.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.1.11_1787459957029_0.6673943144301822","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.2.0":{"name":"@luizsantiago/spec-guardrails","version":"3.2.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.2.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"fda87ba842a86b5d2afed014b85ffa2ea64ac5d3","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.2.0.tgz","fileCount":78,"integrity":"sha512-DsdusJoH+X94C0pyXX/YEIf5DhaPT27B0xEJvrmVpgvqsIYJ7kpyDTiYrniMKX5iJDJZ3dmjtEhvhIa8xOiiOA==","signatures":[{"sig":"MEUCIQCxcsli0IBawGuDNcIHG0diKZBzXLVvZIrpWMO5uk7dFQIgcdpjWfzZWyBg3FHR3NTiGZtv4x8yqQ13GqG/LVqmwaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402319},"type":"module","engines":{"node":">=18"},"gitHead":"8caa7a120bca5dd260ee8df1eabeafc2f518c684","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.2.0_1787550495275_0.8949905894920882","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.2.1":{"name":"@luizsantiago/spec-guardrails","version":"3.2.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.2.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"9443bda6821be251ca32cc2f99b678e5c53fc986","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.2.1.tgz","fileCount":82,"integrity":"sha512-IA5J77uvSVrNwJ2jEs85C4cFl6dBekb5+xH3Fl40uX4kElmvPQ7WQSJyDizRpkQw/gPaIVn0x1NPXCiKiAc82w==","signatures":[{"sig":"MEUCIQDVPC0J+ZtB3O6zXAHI8qgV/QNZ0IsLxixqfyI90I9ZuwIgGTYtXxZ+QhfwjJJ2nRPzdXNZKRaHP5E6Yq9o5DLGGQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434915},"type":"module","engines":{"node":">=18"},"gitHead":"9008c9c6b88bd414d6253a41546d0d14fb3aa0bc","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.2.1_1787554464717_0.06931734570664294","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.3.0":{"name":"@luizsantiago/spec-guardrails","version":"3.3.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.3.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"c93ecb69b1e8f46ce3c800b627dc6b8735a9080e","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.3.0.tgz","fileCount":82,"integrity":"sha512-T0bYqDnDzQTw0eqhdqm5By0y/7vxVpd3KkofhTXhOoWyBg0yTvDhdHkimiTb8r9HpMBDyrKoG3pixuaFZ9k0+Q==","signatures":[{"sig":"MEUCIH6q3dXRdfNJxlVl4MnI9F/ayxbOGwx59XAoWhydkiO0AiEAjoZiY5UyACl3+1d7NS+ZV6XTMq8Cb4Pb6zQx8hUToQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440716},"type":"module","engines":{"node":">=18"},"gitHead":"9093d1063e4fca4f0783a9f929c73d83bb4d6cd8","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.3.0_1787606692651_0.5907029763154008","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.4.0":{"name":"@luizsantiago/spec-guardrails","version":"3.4.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.4.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"e6d1f647b38b90ce34352375ceb647641bd46dfe","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.4.0.tgz","fileCount":84,"integrity":"sha512-jiC64tjEsVyNDZBwy7d5E1TDV/4sFRJnXA1jQlaKBZx+RrnpDE8Fu6cPeLG+wVnmyT7loz85A36YMtnxcyYRjw==","signatures":[{"sig":"MEUCIQDPHG1o+a4HYJhqrWMtLdMQBh/URECmc+G8vyEIs/9PCQIgV4pzufYLoSGRP/ccNqGpruV9DD9uGPUpr7n6gLQA23Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":456975},"type":"module","engines":{"node":">=18"},"gitHead":"40d9dca42245357389bfaccc3e73a695e5b05489","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.4.0_1787607211814_0.9728276630038759","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.5.0":{"name":"@luizsantiago/spec-guardrails","version":"3.5.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.5.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"d3957ee91102a3f0b9283bf741027a11bf801d81","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.5.0.tgz","fileCount":86,"integrity":"sha512-dT59Wxwdyn4LugIfYBshLe/JJAl+pA6pehnCPWFDY5bY7bpEEgzVrbaqyA33DFEXph/jRJmlGt9ikRooNrTJVg==","signatures":[{"sig":"MEUCIA22PiEtTIHd9bu7bUohJdTpDMVEG+b6mFfIi2TN+I1eAiEAp9mh/fK9pXokhaOT7taKl1j16cU29qgVMjXT3rJ/ffc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":482181},"type":"module","engines":{"node":">=18"},"gitHead":"2904b2d411b8a4cd1b935f05a7ec4e0e1ef22c06","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.5.0_1787607783706_0.48211503793578636","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.6.0":{"name":"@luizsantiago/spec-guardrails","version":"3.6.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.6.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"899a7807d80e2f08d03ec9ee6e30535c2e262bd5","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.6.0.tgz","fileCount":89,"integrity":"sha512-zVwjSd0hcEhwTsIL6SZ96WHylVU7w7/aSuBmamoFMGyczzqKbwMMfZ+6T56uoCbkeUWxDdl9UNbW5kJnJDzPxw==","signatures":[{"sig":"MEYCIQD/hiy/4vPEEr5hJKc6dJ26EdzYO1FTZ321hyxDyFGYEgIhAP1YJjYz/dv3PCX7LtKdlHs+8WKCUg1+TPstIlRkAqJF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":511090},"type":"module","engines":{"node":">=18"},"gitHead":"5a5fe8a0c0b63b448777f0d836d1102bed7151b9","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Keep AI coding agents honest — specify the work, prove each step, verify independently. Process mode (Node) for flexibility; Brakes mode (Node + Python) for structural gates and a Guarantees matrix. Progressive loading, independent verify — any AI agent.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.6.0_1787609705704_0.4534695584697974","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.8.0":{"name":"@luizsantiago/spec-guardrails","version":"3.8.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.8.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"db7d4e1468a950fbab7c2c8c89833abe6c1493af","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.8.0.tgz","fileCount":93,"integrity":"sha512-C/4TsThMA7lT+StKA4kj3aRiFAo44wGGqi4aqoPKGzR8WkEpYcnfOUsi+hJe0H2tcj22+BKmpLMDE/dtaq9tiA==","signatures":[{"sig":"MEUCIQDBquHWrVMg2bDHWr7emXb4zNEj+y3U5fc86GpT7mXmhAIgW0Qso4mgLcQ/oVuUJsmIL2mT/PKHoBFbHbRbjNBpbz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518787},"type":"module","engines":{"node":">=18"},"gitHead":"bd382575e9fdf838085a9e03e5497de276b1fcb9","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for AI coding agents: write goals in .specs/, break into tasks, implement in waves, verify with proof. Process mode (Node) or Brakes mode (Node + Python gates). Works with Cursor, Claude, Copilot, and Codex.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.8.0_1787613473607_0.5416140403313616","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"3.9.0":{"name":"@luizsantiago/spec-guardrails","version":"3.9.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@3.9.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"63fb31e700692a7dea9bd42e0a26a63babc0a578","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-3.9.0.tgz","fileCount":97,"integrity":"sha512-yvBkqOWC8UtBOZg94uMtsH+xQxRFqQsn0dA2MUz4KpqutPoCDbDT0H3GA/61f/vWCSm2LR/2GqEGjmnzrte49A==","signatures":[{"sig":"MEYCIQCoSvnlwhCdG27k7DGphuLBNF5WfkjLacWTvv96nr1kMQIhAP2Yh/8UD/oKnepxttE60Sf+in2a5qbIgzTwSNqL6utB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":548779},"type":"module","engines":{"node":">=18"},"gitHead":"ee562d131a8cb672dc8bb537dd2982bea0feec1b","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for AI coding agents: write goals in .specs/, break into tasks, implement in waves, verify with proof. Process mode (Node) or Brakes mode (Node + Python gates). Works with Cursor, Claude, Copilot, and Codex.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_3.9.0_1787614411698_0.2469034613238441","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.0.0":{"name":"@luizsantiago/spec-guardrails","version":"4.0.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.0.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"df996364c1420517b28a7e813852c2b84bbcb739","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.0.0.tgz","fileCount":99,"integrity":"sha512-7F/rJl0j3Iegoh7xD6KYd6NPEMJ+A+sBkIqaEkFobIas+zufdvUm3UjiIcjp/sPaHHIMA7FHocgNvMUuIGbdPg==","signatures":[{"sig":"MEUCIQDKsX3Ii75DaAU+04cyDQo1bUgW3i5Crr8wp/mS/LN0kwIgTPkxWlD0VpBtxun0FnywNguiftLpMCHVvqHiR+wz+J8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":570351},"type":"module","engines":{"node":">=18"},"gitHead":"e0c688c78e4c035f3b8c47b9d04c8122e3f1b0f8","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for AI coding agents: write goals in .specs/, break into tasks, implement in waves, verify with proof. Process mode (Node) or Brakes mode (Node + Python gates). Works with Cursor, Claude, Copilot, and Codex.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.0.0_1787871860388_0.7086556251722038","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.1.0":{"name":"@luizsantiago/spec-guardrails","version":"4.1.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.1.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"e4a4da1b1d17c0549473c36af505f1e45e28025f","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.1.0.tgz","fileCount":101,"integrity":"sha512-XumG6AKmCeBi2/OkP+fXG/KmcYvpB15uU9BK8e6lMizWnt+WlKFEbcJJM5P46VorsWQPFnyFhDdo8B7tW5PWYA==","signatures":[{"sig":"MEUCIQDDFp+Gw7xf3U4xORUiPHzKtSSJwNssSKU/7KRy7jxRagIgNlEwMTLhCF2lZAPGAr6ly6hWZ7aNJ8HVBVix6x6MzWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":584074},"type":"module","engines":{"node":">=18"},"gitHead":"9908f5426d283528c641339b8dd24bca93db729e","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Spec-driven process kit for AI coding agents: write goals in .specs/, break into tasks, implement in waves, verify with proof. Process mode (Node) or Brakes mode (Node + Python gates). Works with Cursor, Claude, Copilot, and Codex.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.1.0_1787879697851_0.16142897074069706","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.1.1":{"name":"@luizsantiago/spec-guardrails","version":"4.1.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.1.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"799fefc4eabbfa1c7ece9feab4c51065dde3f50e","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.1.1.tgz","fileCount":101,"integrity":"sha512-S4+h0qhUGGSiNAQ8+Gg+zQ3iiLPtpIb9aCwHRxZnNiKTJW+wH03LQaS/J0zbbtR8By9nPcINGtFU3snWU8+TOw==","signatures":[{"sig":"MEYCIQDge+8rlwkTJxs46SwQytB6oJdXi0EuOKX4cN00wfXH0QIhAKa6Jm+k1ZLYmB14vXwclcYNuhb4uw83s+tEALFG06XR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590026},"type":"module","engines":{"node":">=18"},"gitHead":"cd8fdc708017333699fcc4b042cbf4f64001b2b4","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven process kit for AI agents: phase guides, .specs/ memory, optional Python gates. Loop: specify, tasks, execute, verify. Cursor hooks (scope + shell policy) are optional; disable on lighter machines. Node 18+; Python 3.10+ for Brakes. C","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.1.1_1787891521016_0.5866108833190078","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.0":{"name":"@luizsantiago/spec-guardrails","version":"4.2.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.2.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"adbb2b5fe23ffd4a4c5a08433ff0f8646c51e9c3","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.2.0.tgz","fileCount":101,"integrity":"sha512-7vzWcqr2R3tJDrM7D/UcwWlnZizSB8TE39Lpaxdc/fbof7/nXGv5jPcB7ArxHNYCoEnrwr4SlX6WD+RRLpR4bw==","signatures":[{"sig":"MEQCIDJ7u9GLAO3FFc6Fkx/DdXocQpkeVCU+wsdu4q0W7CArAiAfg6vK5o4CJXvT8l6SlEFU3u8CDjP0H25XqnodNRaMIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597929},"type":"module","engines":{"node":">=18"},"gitHead":"2608022961f88d9d318275023f7b822a8e8f2bc7","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven process kit for AI agents: phase guides, .specs/ memory, optional Python gates. Loop: specify, tasks, execute, verify. Cursor hooks opt-in (off by default). Node 18+; Python 3.10+ for Brakes. Cursor, Claude, Copilot, Codex.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.2.0_1787893873228_0.7692019991472889","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.2.1":{"name":"@luizsantiago/spec-guardrails","version":"4.2.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.2.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"5a9796a644a78678833e6ad28dc90be2e3703e61","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.2.1.tgz","fileCount":101,"integrity":"sha512-+Lm70oZroJMAyFZCkhlfsSQPxOm8A+i3GJIuw0kE+GjfBVY2R7wD/8OB2JcZAZ92YXX4rMvXcvuoLQ7ULCAB8Q==","signatures":[{"sig":"MEYCIQDujhg/R50510/ofH37kVij3KGMWsr50FaFtAgPbQK4MwIhALQ6JGWTrgfW21Wbx3H77Xgc8hH2q2lffYiBYIKkKilf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597891},"type":"module","engines":{"node":">=18"},"gitHead":"dd5ad146bbb670275893e947a0f81fd0b5237155","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.2.1_1787897014281_0.22454042357635484","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.4.0":{"name":"@luizsantiago/spec-guardrails","version":"4.4.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.4.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"7699a1e84d99bdef9972a0e759ad15320d8496d9","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.4.0.tgz","fileCount":98,"integrity":"sha512-4m3AHM+B/fyCW3T69IOdQtWPQNd9wTWUwzytCRE+/PTxoK9R70RkzD3Ij4SqjxcYwnb/ihyOaahjcOT/qqfl1w==","signatures":[{"sig":"MEUCIH0/1L7cup3q4KT8jQg+YCgwGVHI04tYM7zEDVo/W8IzAiEAoo4ICDsHAl5a2TVl+VbbHc8yrzLmbaVvEtJtKNYgH8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590858},"type":"module","engines":{"node":">=18"},"gitHead":"2dbcf08fdd02dd81e4c2a11e3bdc2dcc4a8a7bf4","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.4.0_1788079283557_0.09388145562125616","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.5.0":{"name":"@luizsantiago/spec-guardrails","version":"4.5.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.5.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"8d21c1c83e0a1ea9a1665aba1276e94d5e0d8a69","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.5.0.tgz","fileCount":101,"integrity":"sha512-H9YvcEQqdXhX7zNG4CoJJ1FScupx5Mv59QGPfphFcF9iMcc0o8oqiD/BC2losTXot5wgNMktJ37m4F8JpBCu0g==","signatures":[{"sig":"MEYCIQCJq9zN3y/NHJjFI6xSzQI5WIcS6PM8gDhtB4hr0kRcAAIhAPgO8R6CjyBca3VmyWEmMIJZtSpXQAlHqxWXqSmYHp1X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":605434},"type":"module","engines":{"node":">=18"},"gitHead":"07787da195251d3f64714e81f6937e189e55e491","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.5.0_1788096204951_0.6440188114918632","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.5.1":{"name":"@luizsantiago/spec-guardrails","version":"4.5.1","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.5.1","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"e70d2b7f92bcc892b2038e495896aee015bcb7d1","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.5.1.tgz","fileCount":101,"integrity":"sha512-qZCEjSYCC2HIZHtYim7n1Y9ajrM8X/GDyYSwnbL8/5VP7gkz/CiQQYVA81zl7Lu3ij2xqVodi79bp/AQ1aPSmQ==","signatures":[{"sig":"MEQCIBXmOxjAK2QgiR2WCyZdVocyXo2/PM8R4X/gCMQcnfY7AiA3f3PAepi2jz12nHg8bLPDcJQOQXhp0gw0H6DbnGziFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":606322},"type":"module","engines":{"node":">=18"},"gitHead":"285ed59124f3815642c8a6058f7e4376745b48a1","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.5.1_1788102790901_0.20616740629069108","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.5.2":{"name":"@luizsantiago/spec-guardrails","version":"4.5.2","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.5.2","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"31eeac6397978ffb44177cffd568728b6f1358a6","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.5.2.tgz","fileCount":101,"integrity":"sha512-Em8dcTTbUOksTElBsrjdDbpm/5zNajcskQ2obxEoPVtzPMvGSuw9oBqdLKDd2Pxd2Ke9IHF78vHF7J/Zu+v3DA==","signatures":[{"sig":"MEQCIEC5rTZZSxMEKen8xr/j5VSWeCfFykzKsEJ1Uv+Gt6CoAiBzzPX/JWaxDjcTumawxOpI6bObY0jepX2ljZcIqvyOow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607169},"type":"module","engines":{"node":">=18"},"gitHead":"3dfd3e92448f27e3fd46fed8919d12c2f1b9ba82","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.5.2_1788281264099_0.4501904102381298","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.6.0":{"name":"@luizsantiago/spec-guardrails","version":"4.6.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.6.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"c79e04e6f5cb4ede9a50b3d5f5c1755fc5f117c3","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.6.0.tgz","fileCount":102,"integrity":"sha512-OAAtYS1LTeNUtC0NW+XvniHBZ/rsr2B0uqZaQGukVY7edsmaUR+Ew56pOEMIoh0ZtOqdM3r/yJDe1G0l2mXE7Q==","signatures":[{"sig":"MEUCIQCgyksYPo0wUgLqGCJyqFZBR2tl/w8JBokjP1cwzlsV3gIgRH8eL8IDG3pv6t7GxpMt2ExVbNElNYhLXBZfZxnOm5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617608},"type":"module","engines":{"node":">=18"},"gitHead":"f24e6c40b704937732428ea66bd610104b998ca6","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_feature_overview.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.6.0_1788283906911_0.7029307382626062","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.7.0":{"name":"@luizsantiago/spec-guardrails","version":"4.7.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.7.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"f87090b380bd2f95c6e7341b8591d3167fee6ce7","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.7.0.tgz","fileCount":106,"integrity":"sha512-Hk0JW/HnnfNg9FNGaiIoG27F6di2SlqW4UbZKGMgxUnCTvH6kZy1/KPRvg/A4ndIl7ZcMIefjHpEv4TcTcolbA==","signatures":[{"sig":"MEUCIAnbEf3173ZvjEIeloqitY/VENRkgqIpf9FkDEs808mqAiEA27gl0X8X5bN1L/fhQjvwNdIE1p2iahZCok6QmCvF7Rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645135},"type":"module","engines":{"node":">=18"},"gitHead":"454eeb7b2eccb70f0a154f1b1537e026ee757fa2","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_feature_overview.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents. Your agent writes the spec, gets your approval, builds in small waves, and proves the result — plans and project memory stored as files in your repo.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.7.0_1788295874405_0.7488884818964385","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"4.8.0":{"name":"@luizsantiago/spec-guardrails","version":"4.8.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli","python","devops"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@4.8.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"243b63524661e8c3809b30d1808639ab8d2a735c","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-4.8.0.tgz","fileCount":112,"integrity":"sha512-H+0DB40cGXK8QceszGNQYqV5eLn3Q+SmZbYPmvYVg8TuZYRTSiA7FxAYGMcVP4GruNRybCMCvcqbUzADSmTTEA==","signatures":[{"sig":"MEYCIQDUbUIkMrcPbjs46YrhD/npJ5ka/L45JnsQPIW1QlRH7QIhAK0q8t3S7oP4vainTqKKbLbvVYandxXx3uzwMW4fNYOS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@4.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678299},"type":"module","engines":{"node":">=18"},"gitHead":"26ffa17c10b2157572dc34f68c5dba3f51701bb3","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_feature_overview.test.js test/test_feature_pr_body.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents: spec-first workflow, optional Python gates (Brakes), repo memory in .specs/, and an optional python-platform preset when Python features touch deploy/infra and/or AI paths.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_4.8.0_1788311699891_0.08841098321304064","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"5.0.0":{"name":"@luizsantiago/spec-guardrails","version":"5.0.0","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli","python","devops"],"author":{"name":"luizsantiago"},"license":"MIT","_id":"@luizsantiago/spec-guardrails@5.0.0","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"bin":{"spec-guardrails":"index.js"},"dist":{"shasum":"df40bb9db815c798240f5acfca7f510c5285baee","tarball":"https://registry.npmjs.org/@luizsantiago/spec-guardrails/-/spec-guardrails-5.0.0.tgz","fileCount":114,"integrity":"sha512-GPqa5KfvgjgbDt9jOtPRYajxiF+/kQj45TTeWA8DnSv2x7JU+uVfJrd2dvggRi9M9XcJykDJQ1mQT6ibHz2wew==","signatures":[{"sig":"MEYCIQDb1XOljNffZLI8SHqKGEyurRnOJMwfsvehtTpS3K0KgAIhAKiqq5mxWJ9qBxz49CztL9WrWWUD3DZPqa4QCfgcHxR4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@luizsantiago%2fspec-guardrails@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":694446},"type":"module","engines":{"node":">=18"},"gitHead":"a290b552357d3c14bb16c9a3ce19049a4515e5e4","scripts":{"test":"npm run test:node && npm run test:gates","test:node":"node --test test/install.test.js test/test_platform_detect.test.js test/test_feature_init.test.js test/test_config.test.js test/test_archive.test.js test/test_delta_merge.test.js test/test_presets.test.js test/test_brownfield.test.js test/test_doctor.test.js test/test_token_cost.test.js test/test_next_steps.test.js test/test_classify_change.test.js test/test_feature_status.test.js test/test_feature_overview.test.js test/test_feature_pr_body.test.js test/test_operational_loops.test.js test/test_agent_contract.test.js test/test_gates_python.test.js test/test_specs_utils.test.js test/test_validation_verdict.test.js test/test_execution_policy.test.js test/test_workspace_isolation.test.js test/test_adapter_registry.test.js test/test_context_guard.test.js test/test_solution_exploration.test.js test/test_memory_doctor.test.js test/test_cursor_hooks_cleanup.test.js test/test_sandbox_policy.test.js test/test_req_analysis.test.js","guardrails":"node index.js","test:gates":"node test/run-gate-tests.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"luizsantiago","email":"luizssantiago92@gmail.com"},"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"_npmVersion":"10.9.8","description":"Governed spec-driven development for AI coding agents: spec-first workflow, optional Python gates (Brakes), repo memory in .specs/, and an optional python-platform preset when Python features touch deploy/infra and/or AI paths.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spec-guardrails_5.0.0_1788314988842_0.41421074836523153","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2026-08-22T16:45:06.188Z","modified":"2026-09-30T04:08:37.981Z","3.0.1":"2026-08-22T16:45:06.539Z","3.1.1":"2026-08-22T17:35:18.398Z","3.1.2":"2026-08-22T19:33:28.692Z","3.1.3":"2026-08-22T22:27:02.712Z","3.1.4":"2026-08-22T22:44:57.412Z","3.1.6":"2026-08-22T22:50:04.886Z","3.1.8":"2026-08-22T23:53:43.658Z","3.1.9":"2026-08-23T00:51:51.282Z","3.1.10":"2026-08-23T01:19:58.699Z","3.1.11":"2026-08-23T04:39:17.152Z","3.2.0":"2026-08-24T05:48:15.423Z","3.2.1":"2026-08-24T06:54:24.871Z","3.3.0":"2026-08-24T21:24:52.806Z","3.4.0":"2026-08-24T21:33:31.964Z","3.5.0":"2026-08-24T21:43:03.858Z","3.6.0":"2026-08-24T22:15:05.839Z","3.8.0":"2026-08-24T23:17:53.773Z","3.9.0":"2026-08-24T23:33:31.904Z","4.0.0":"2026-08-27T23:04:20.557Z","4.1.0":"2026-08-28T01:14:58.015Z","4.1.1":"2026-08-28T04:32:01.157Z","4.2.0":"2026-08-28T05:11:13.454Z","4.2.1":"2026-08-28T06:03:34.449Z","4.4.0":"2026-08-30T08:41:23.722Z","4.5.0":"2026-08-30T13:23:25.097Z","4.5.1":"2026-08-30T15:13:11.094Z","4.5.2":"2026-09-01T16:47:44.266Z","4.6.0":"2026-09-01T17:31:47.073Z","4.7.0":"2026-09-01T20:51:14.562Z","4.8.0":"2026-09-02T01:15:00.057Z","5.0.0":"2026-09-02T02:09:49.019Z"},"bugs":{"url":"https://github.com/luizssantiago92/spec-guardrails/issues"},"author":{"name":"luizsantiago"},"license":"MIT","homepage":"https://github.com/luizssantiago92/spec-guardrails#readme","keywords":["ai","agent","cursor","claude","spec-driven","guardrails","cli","python","devops"],"repository":{"url":"git+https://github.com/luizssantiago92/spec-guardrails.git","type":"git"},"description":"Governed spec-driven development for AI coding agents: spec-first workflow, optional Python gates (Brakes), repo memory in .specs/, and an optional python-platform preset when Python features touch deploy/infra and/or AI paths.","maintainers":[{"name":"luizsantiago","email":"luizssantiago92@gmail.com"}],"readme":"# Spec Guardrails\n\n[![npm version](https://img.shields.io/npm/v/@luizsantiago/spec-guardrails.svg)](https://www.npmjs.com/package/@luizsantiago/spec-guardrails)\n[![CI](https://github.com/luizssantiago92/spec-guardrails/actions/workflows/ci.yml/badge.svg)](https://github.com/luizssantiago92/spec-guardrails/actions/workflows/ci.yml)\n[![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n![Spec Guardrails — governed spec-driven development for AI coding agents](https://raw.githubusercontent.com/luizssantiago92/spec-guardrails/main/.assets/banner.svg)\n\n**Governed spec-driven development for AI coding agents.**\n\nAgents are fast — and optimistic. They ship code, summarize what they *think* they did, and move on. Spec Guardrails installs a **repeatable contract** into your repo: agree on the goal in writing, break work into provable steps, implement in waves, and verify with evidence that lives in **git**, not in a chat scrollback.\n\nYou keep control: the agent proposes; you approve specs and tasks; push, merge, and deploy stay on your terms.\n\n| Without Spec Guardrails | With Spec Guardrails |\n| --- | --- |\n| Jumps to code and says “done” | Written goal first; “done” needs evidence |\n| Each chat starts from zero | `.specs/` survives sessions and handoffs |\n| Same ceremony for a typo and a payment flow | Complexity router matches depth to risk |\n| Whole playbook pasted every turn | One skill per turn — lower cost, sharper focus |\n\n**Platform adapters.** The same kit installs into the skill tree your agent already reads — **Cursor** (`.cursor/skills/`), **Claude Code** (`.claude/skills/`), **GitHub Copilot** (`.github/skills/`), **OpenAI Codex** (`.codex/skills/`), plus root `AGENTS.md` for other tools. By default `install` detects one platform and writes **one** tree; use `--all-platforms` when the repo serves multiple agents. Existing trees are preserved when you switch IDEs.\n\nnpm: [`@luizsantiago/spec-guardrails`](https://www.npmjs.com/package/@luizsantiago/spec-guardrails) **5.0.x**\n\n**Docs:** [Overview](docs/guide/Overview.md) · [Quick start](docs/guide/Quick-start.md) · [Full guide index](docs/guide/README.md)\n\n---\n\n## Install\n\nTwo commands — run both once in your project root:\n\n```bash\nnpx @luizsantiago/spec-guardrails install\nnpx @luizsantiago/spec-guardrails doctor\n```\n\n| Command | What it does |\n| --- | --- |\n| **`install`** | Copies phase guides and sister skills into your agent tree, creates `.specs/`, installs Python gate scripts |\n| **`doctor`** | Audits readiness — **Process** score (Node workflow) and **Brakes** score (Python gates available). Run after install and after every upgrade |\n\n| Requirement | What you get |\n| --- | --- |\n| **Node.js 18+** | **Required** — CLI, skills, `.specs/` scaffold, full SDD workflow |\n| **Python 3.10+** | **Optional** — enables **Brakes mode** (automatic gates below) |\n\nRe-run `install` after package upgrades — your `.specs/` notes are preserved. Day to day you work in **agent chat**; the agent calls the CLI when a phase needs it.\n\n### Optional presets\n\nSeed team rules and stack hints in `.specs/config.yaml`:\n\n```bash\nnpx @luizsantiago/spec-guardrails init-config --preset <name>\nnpx @luizsantiago/spec-guardrails preset list\n```\n\n| Preset | Typical use |\n| --- | --- |\n| `default` | General SDD |\n| `node-ts` | Node / TypeScript projects |\n| `python` | Python apps (`pytest`, `ruff`) |\n| `python-platform` | Python + optional deploy/infra and/or AI paths per feature — [guide](docs/guide/python-platform.md) |\n\n**Go deeper:** [Quick start](docs/guide/Quick-start.md) · [Platform parity](docs/guide/Platform-parity.md) · [Migration](docs/guide/Migration.md)\n\n### Node alone vs Node + Python (gates)\n\n**Node is enough for the full process** — every phase, every artifact, every approval. The agent follows the same hub and phase guides.\n\nThe difference is who decides whether a step is really finished:\n\n| | **Process** (Node only) | **Brakes** (Node + Python) |\n| --- | --- | --- |\n| **Workflow** | Same SDD phases | Same SDD phases |\n| **Who checks** | Agent reads the checklist in skills | Python scripts with **exit codes** |\n| **When something is incomplete** | Agent *should* stop — relies on honesty | Agent **cannot** advance — non-zero = STOP |\n| **Best for** | Learning the method, light teams | Teams that want proof between your approvals |\n\nAdd Python when you want those checklists enforced by **exit codes** instead of agent honesty — [what gates check at each boundary](#2-gates-brakes--done-has-to-be-provable). `doctor` reports Process vs Brakes readiness after install and upgrades.\n\n**Go deeper:** [Gates reference](docs/guide/gates.md) · [Guarantees matrix](docs/guide/Guarantees-matrix.md) · [Process vs Brakes (FAQ)](docs/guide/FAQ.md#process-vs-brakes)\n\n---\n\n## Why teams adopt it — three pillars\n\nMost agent failures are not “bad code in one file.” They are **wrong goal**, **lost context**, or **fake done**. Spec Guardrails attacks those three problems directly.\n\n| Problem | Pillar | One-line win |\n| --- | --- | --- |\n| Built the wrong feature | **Requirements analysis** | Agree on intent before `spec.md` |\n| Skipped steps and called it done | **Gates (Brakes)** | Proof at boundaries, not trust |\n| Every chat starts from zero | **Memory** | `.specs/` in git beats chat history |\n\n### 1. Requirements analysis — stop building the wrong thing\n\n**Without it:** “Add login” becomes three different products in three chats — OAuth vs magic link vs username/password — and you discover the mismatch halfway through a PR.\n\n**With `/elicit`:** The agent asks a **small number of sharp questions** (at most five per round, one topic at a time, always with suggested options). It reads what you already wrote (`prd.md`, `docs/brief.md`, kickoff notes) and **does not re-ask** what those files already answer. You approve a **requirements brief** before `spec.md` exists — so vague chat does not harden into vague acceptance criteria.\n\n| Without analysis | With analysis |\n| --- | --- |\n| Assumptions stay implicit in chat | Assumptions surface early with owners |\n| Spec rewrites mid-build | Spec starts from an approved brief |\n| “I thought you meant…” after code exists | Disagreement costs minutes, not days |\n\nIt is **suggested**, not mandatory — clear requests can go straight to `/specify`. The win is catching ambiguity **before** the agent treats a half-sentence as a contract.\n\n**4.8+:** optional `elicitation` policy (`require_brief` on Complex), NFR section checks, and `req-analysis diff` for brief↔spec drift — [workshop](docs/guide/tutorials/05-requirements-analysis-workshop.md).\n\n**Go deeper:** [Requirements analysis](docs/guide/requirements-analysis.md) · [/elicit in agent commands](docs/guide/agent-commands.md)\n\n---\n\n### 2. Gates (Brakes) — “done” has to be provable\n\n**Process vs Brakes** — who enforces the checklist — is in [Install](#node-alone-vs-node--python-gates). Here is *when* Brakes run: scripts return non-zero = **STOP**; fix the artifact, re-run.\n\n| Moment | What gates protect |\n| --- | --- |\n| **Before spec approval** | Criteria are testable (`SHALL`/`MUST`), assumptions documented |\n| **Before task approval** | Every REQ maps to a task; tasks have shape and file ownership |\n| **Each commit** | Conventional message, no empty staged diff, no linter/test bypass in the diff |\n| **Before “feature done”** | Traceability REQ → task → `file:line` evidence; PASS verdict and `Verifier-Mode` in `validation.md` |\n| **After verify FAIL** | Lessons are recorded — failures become rules, not forgotten |\n\nFifteen+ gates cover planning through close — including `validate-design` (Complex), optional [Python Platform](#python-platform-optional--47) checks, CI template (`templates/ci/guardrails-pr.yml`), and opt-in `install-hooks` for pre-commit. Command list and pipeline order: [gates reference](docs/guide/gates.md).\n\n---\n\n### 3. Memory — the repo remembers so you do not have to\n\n**Without memory:** Every new session starts cold. You re-paste context, re-explain decisions, and hope the model does not contradict last week’s architecture chat.\n\n**With `.specs/`:** `STATE.md` says where you left off. Each feature folder holds spec, tasks, design, and validation. Archive folds shipped work into **domain specs** and `ROADMAP.md`. Failed verifies become **lessons** that constrain the next run.\n\n| Without `.specs/` | With `.specs/` |\n| --- | --- |\n| Chat is the source of truth | Git is the source of truth |\n| Handoff = long message | Handoff = read `STATE.md` + feature folder |\n| Same mistake twice | Lessons promote to confirmed rules |\n| “What did we decide about timeouts?” | `memory-retrieve \"session timeout\"` (optional index) |\n\nThe **markdown artifacts alone** already beat chat-only workflows for any team that ships more than one feature. Optional search (keyword, graph, semantic embed) — see [Optional capabilities](#optional-capabilities-off-by-default).\n\n**Go deeper:** [Memory guide](docs/guide/Memory.md) · [Brownfield context](docs/guide/brownfield-context.md)\n\n---\n\n## Spec-driven development (SDD)\n\nUnder the three pillars sits the **spec-driven method** the agent follows: written phases instead of improvisation. Before work starts, **`classify-change`** picks a complexity tier (Quick → Parallel) so a typo does not get a task graph and a payment flow does not skip review.\n\nLineage: [tlc-spec-driven](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven), [loop-engineering](https://github.com/cobusgreyling/loop-engineering), [graph-engineering](https://github.com/codejunkie99/graph-engineering), [loopgate_harness](https://github.com/rxdt/loopgate_harness). **Repo-native harness** — not another desktop runtime.\n\n![Spec Guardrails phase flow — classify, optional elicitation, approvals, build loop, verify, archive](https://raw.githubusercontent.com/luizssantiago92/spec-guardrails/main/.assets/flow.svg)\n\n### Phase map — what runs when\n\n| Phase | Required? | What happens | You approve? |\n| --- | --- | --- | --- |\n| **Explore** | Optional | Research before a feature folder exists | — |\n| **Elicit** | Optional | Structured Q&A → requirements brief ([pillar §1](#1-requirements-analysis--stop-building-the-wrong-thing)) | Brief |\n| **Constitution** | Once per project | Project principles (`/constitution`) | Once |\n| **Specify** | Yes (full path) | Written requirements | **Spec** |\n| **Discuss** | When product is gray | Options A/B/C, decision records | As needed |\n| **Design** | When architecture matters | Technical approach in `design.md`; `validate-design` on Complex | As needed |\n| **Solution explore** | When architectures fork (optional — [off by default](#optional-capabilities-off-by-default)) | Compare candidates; record decision | Decision |\n| **Tasks** | When work needs a job list | Atomic tasks, file ownership, REQ coverage | **Tasks** |\n| **Execute** | Yes | `/loop` waves — implement, gate, commit; parallel when files are disjoint | — |\n| **Verify** | Yes | **Independent proof** — fresh context writes `validation.md`; author ≠ verifier | Verdict |\n| **Archive** | After Verify PASS | Fold into domain memory and roadmap | — |\n| **Quick** | Alternative path | ≤3 files, express lane — skips full spec/tasks ceremony | — |\n| **Converge** | On drift | Realign spec ↔ tasks before more Execute | — |\n\n**Brownfield:** `project-init` maps an existing repo into `.specs/` (`PROJECT.md`, domains, suggested preset) so the agent is not guessing stack every session.\n\n**Traceability:** REQ → task → evidence at verify ([pillar §2](#2-gates-brakes--done-has-to-be-provable)); semantic test quality is still your judgment.\n\n**Parallel work:** `loop-plan` picks the next wave; `task-graph.md` and git worktrees (`workspace-prepare`) keep parallel agents off the same files.\n\n**Git tiers:** approving spec/tasks authorizes **local work only** (Tier 0). Push, PR, merge, and deploy need your explicit go-ahead — see [git-handoff](docs/guide/agent-commands.md).\n\n![Complexity tiers — Quick, Simple, Medium, Complex, Parallel](https://raw.githubusercontent.com/luizssantiago92/spec-guardrails/main/.assets/tiers.svg)\n\n**Go deeper:** [How it works](docs/guide/How-it-works.md) · [Loop patterns](docs/guide/loop-patterns.md) · [Agent commands](docs/guide/agent-commands.md) · [Concepts](docs/guide/concepts.md)\n\n### Hub and skills — how the agent navigates\n\nThe **hub** (`agent-architecture.md`) is the map loaded every turn: contract, **complexity router**, gate schedule, phase order, and git tiers. It tells the agent *which* procedure to open next — not the whole playbook at once.\n\n**Phase guides** (`references/`) load **one per turn** (`specify.md`, `tasks.md`, `implement.md`, `validate.md`, …) — roughly **70% fewer skill tokens** than dumping the full kit each message.\n\n**Sister skills** load only when the work needs extra depth (security, task graphs, platform infra/AI, …). The hub loads **at most one** conditional sister at a time for Verify extras (AppSec, then QA).\n\nFor **what each skill does and when to load it**, see the full catalog — hub, nineteen phase guides, ten sister skills:\n\n**Go deeper:** [Skills and hub](docs/guide/skills-and-hub.md) · [Token efficiency](docs/guide/Token-efficiency.md)\n\n---\n\n## Python Platform (optional — 4.7+)\n\n**What it is:** an optional **preset and gate pack** for **Python repos** where **some features** also touch **deploy/infra** and/or **AI/LLM** code paths. You do **not** need backend + DevOps + AI on every change — surfaces activate **per feature** when task files match:\n\n| Your feature touches… | What gets documented in `design.md` |\n| --- | --- |\n| Docker, Compose, Terraform, Helm, CI workflows | **Ship Surface** (deploy unit, CI, rollback) |\n| `prompts/`, `evals/`, MCP, RAG, embeddings | **AI Surface** (eval harness, fallback, scope) |\n| Application Python only | Standard SDD — extra surfaces only when paths match |\n\n`project-init` may suggest this preset when it detects compose, Terraform, CI, or eval directories — you still opt in.\n\n```bash\nnpx @luizsantiago/spec-guardrails init-config --preset python-platform\n```\n\n**Without the preset:** deploy steps live in someone’s head, eval harnesses are “later,” rollback is learned during an incident.\n\n**With the preset:** gate `validate-ship-surface` blocks verify when matching paths lack documented surfaces; sisters `python-devops` and `ai-engineering` guide authoring; `feature-overview` adds operational + AI traceability tables.\n\n### What Python Platform is **not** (honest)\n\n| It is **not** | What we do instead |\n| --- | --- |\n| LangSmith, Coze Loop, live production traces | Version **contracts** in git + `/verify` evidence |\n| MLOps / eval runtime | Require a **documented** harness — quality is yours |\n| `terraform plan` security or cost review | Structural checks when you configure them |\n| Separate FastAPI/Django presets | Framework patterns in **tutorial appendices** |\n\nRepos without `python-platform` are unchanged.\n\n**Go deeper:** [Python platform guide](docs/guide/python-platform.md) · [Tutorial 04](docs/guide/tutorials/04-python-platform-ship-surface.md)\n\n---\n\n## Optional capabilities (off by default)\n\nThese ship in the package but stay **disabled or unused until you configure them** — extra guardrails and power tools, not part of the default SDD path.\n\n| Capability | What it adds | Turn on when |\n| --- | --- | --- |\n| **Semantic memory** | Meaning-based search across archived specs (`memory-index embed`) | Many archived features; keyword search is not enough |\n| **`execution-policy`** | Path allow/deny, retry and run budgets in `.specs/config.yaml` | Agent has broad shell or file access |\n| **`context-guard`** | Block edits outside approved task `Files` | You want scope enforcement before edits |\n| **`sandbox check-command`** | Warn or block destructive shell (`rm -rf`, force-push, …) | Agent runs terminal commands unsupervised |\n| **`episodes`** | Short-lived session notes (`episodes record`) | Very long sessions; prune when done |\n| **`solution-explore`** | Formal architecture fork with `exploration.md` | Two+ defensible designs for the same spec |\n\n**Go deeper:** [Agent commands](docs/guide/agent-commands.md) · [Architecture](docs/guide/Architecture.md)\n\n---\n\n## More in the kit\n\n| Capability | Role |\n| --- | --- |\n| **`feature-status` / `feature-overview`** | Human-readable checklist and REQ → task → evidence dashboard |\n| **`phase-context`** | Inject team rules from `config.yaml` at a given phase |\n| **Tutorials** | Hands-on paths: quick fix → medium feature → parallel → python platform — [index](docs/guide/tutorials/README.md) |\n\n**Go deeper:** [Tutorials](docs/guide/tutorials/README.md) · [Ecosystem map](docs/guide/ecosystem.md)\n\n---\n\n## Limitations\n\nGates enforce **structure and evidence in `.specs/`** — not product taste, not semantic test quality, not a full AST review of implementation code.\n\n| Enforced | Not enforced |\n| --- | --- |\n| Spec shape, REQ → task → proof traceability | Semantic test ↔ REQ alignment |\n| Evidence citations and PASS verdict | Stub code outside cited paths |\n| Ship/AI fields when paths match (platform) | Rollback tested in prod, eval quality |\n| Commit policy and suppression patterns | Coverage % as quality proxy |\n| Commands under `quality.checks` | Commands you never configured |\n\nA green gate means the paperwork looks complete — **you** still approve specs and tasks.\n\n**Go deeper:** [Gates and guarantees](docs/guide/Gates-and-guarantees.md) · [FAQ](docs/guide/FAQ.md)\n\n---\n\n## Contributing\n\nFocused improvements are welcome — [CONTRIBUTING.md](CONTRIBUTING.md). Sources: `skills/`, `lib/`, `scripts/`, `rules/`. Run `npm test` before every PR.\n\n---\n\n## Credits\n\nPatterns adapted from open source. **Shipped influences** (skills, gates, or layout consumers install):\n\n| Source | License | What we extracted |\n| --- | --- | --- |\n| [tlc-spec-driven](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven) | CC-BY-4.0 | Spec → tasks → execute → verify phases; `.specs/features/`, `STATE.md`; gate “brakes” philosophy |\n| [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills) | MIT | Discuss-phase options A/B/C; definition-of-done in verify/archive |\n| [graph-engineering](https://github.com/codejunkie99/graph-engineering) | MIT | Task-graph rules; `validate-tasks` graph hygiene |\n| [loop-engineering](https://github.com/cobusgreyling/loop-engineering) | MIT | Execute wave model; [loop-patterns.md](docs/guide/loop-patterns.md) |\n| [Addy Osmani — Loop engineering](https://addyosmani.com/blog/loop-engineering/) | Essay | Loop taxonomy in loop-patterns guide |\n| [awesome-harness-engineering](https://github.com/ai-boost/awesome-harness-engineering) | CC0 | Harness vs app vocabulary in [ecosystem.md](docs/guide/ecosystem.md) |\n| [loopgate_harness](https://github.com/rxdt/loopgate_harness) | MIT | `check-suppressions`; `quality.checks` as verify evidence; `check-commit --staged`; honest-limits framing; README diagram approach |\n| [obra/superpowers](https://github.com/obra/superpowers) | MIT | Two-stage subagent review in `sub-agents.md` |\n\n**Original work here:** Node CLI, Python gates, platform adapters, elicitation (`/elicit`), Python Platform pack (4.7+), SDLC integration helpers (4.8+), memory-index, execution policy, req-analysis tooling.\n\n**Cited, not vendored:** [DeepCode](https://github.com/HKUDS/DeepCode), [RepoGraph](https://github.com/ozyyshr/RepoGraph), [NVIDIA SkillSpector](https://github.com/NVIDIA/SkillSpector) — see [credits.md](docs/guide/credits.md).\n\n---\n\n## Documentation\n\n| Topic | Link |\n| --- | --- |\n| Start here | [Overview](docs/guide/Overview.md) · [Quick start](docs/guide/Quick-start.md) · [Tutorials](docs/guide/tutorials/README.md) |\n| Chat & CLI | [Agent commands](docs/guide/agent-commands.md) |\n| Process | [How it works](docs/guide/How-it-works.md) · [Concepts](docs/guide/concepts.md) |\n| Skills (each role) | [Skills and hub](docs/guide/skills-and-hub.md) |\n| Gates | [gates.md](docs/guide/gates.md) · [Guarantees matrix](docs/guide/Guarantees-matrix.md) |\n| Requirements | [requirements-analysis.md](docs/guide/requirements-analysis.md) |\n| Memory | [Memory.md](docs/guide/Memory.md) |\n| Python platform | [python-platform.md](docs/guide/python-platform.md) |\n| Versions | [CHANGELOG](docs/CHANGELOG.md) · [Product history](docs/guide/Product-history.md) |\n| Help | [FAQ](docs/guide/FAQ.md) · [Glossary](docs/guide/Glossary.md) |\n\nFull index: [docs/guide/README.md](docs/guide/README.md)\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}