{"_id":"@cobusgreyling/loop-audit","_rev":"10-32b96f965cd29ff2b2aff1e78bcda34f","name":"@cobusgreyling/loop-audit","dist-tags":{"latest":"1.7.0"},"versions":{"1.3.0":{"name":"@cobusgreyling/loop-audit","version":"1.3.0","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.3.0","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"581c0bd33c6830202ce07309f4250d39b47de037","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.3.0.tgz","fileCount":8,"integrity":"sha512-ybku0D11xpBSAdAJxkDq3D/d9lJgwIEVMYm/HCI9+remL/5kAU1yex8rt8CTpziJLFd25AkZPwZ4MSoNBBL8ag==","signatures":[{"sig":"MEUCIQDkKSLbYAcG1JlM9uV0iWU5eizcEJYbnKlp8+zjrltrtAIgS/cfDSzRESGFA1PzGbm9gqS9pxYVnOg5jzqpQMTvgn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21304},"type":"module","engines":{"node":">=18"},"gitHead":"a57b5c0b99c04205a79a362a256cb24f77ddb11b","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"10.9.2","description":"Loop Readiness Score — audit a project for loop engineering readiness (L0-L3). Supports --suggest for copy commands.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.3.0_1781008808513_0.4332088494340425","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@cobusgreyling/loop-audit","version":"1.4.0","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.4.0","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"a39d6efe913de5691caff54d4a373166faacbfc6","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.4.0.tgz","fileCount":8,"integrity":"sha512-s3JQWNiLsYLlkE8xzp0SR5rTnOVRtNLxvve5M0u//5rb8tlb5dBKqwbSBgTx6dfofqCnxIAoQfJ9Rbx8lh54Gw==","signatures":[{"sig":"MEUCIQC98Zdt2IheFXAMNXZf1A7WycW4a7P+niXf/etMFqlkfQIgfL4JED8pHvLl0wIxnvWIAnuhGSJ6DjRd/G/dICQv9SM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30232},"type":"module","engines":{"node":">=18"},"gitHead":"a2da9d0e7af6e2bf8724580a25d27d9cc6960d1d","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.16.0","description":"Loop Readiness Score — audit a project for loop engineering readiness (L0-L3). Dynamic activity detection + --suggest. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.4.0_1781164632997_0.8129352308100246","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@cobusgreyling/loop-audit","version":"1.4.1","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.4.1","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"0a724124fc9b7677952f68267873bad285ea4b40","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.4.1.tgz","fileCount":8,"integrity":"sha512-0aBxDYWSRAliRLiwdbTW7UX7kBW6PoYl5ofqXoAIzjnqWrStXNw1R9yVKuUizqJ9lHoXQBSh7OmJ0dwHO8Au6Q==","signatures":[{"sig":"MEYCIQCf6AcnKGC0PbJoVPaPuL8q2AQPZgnKa24qFx1sZ4ctDwIhAJ6WmB/Lj5114vrodunOUECZaFTheGp+z7GNqaD84bjM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30234},"type":"module","engines":{"node":">=18"},"gitHead":"dafabcb0db1827eabc02d3e6169651b1b04abc07","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.17.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.4.1_1781340088843_0.7062470340274236","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@cobusgreyling/loop-audit","version":"1.4.2","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.4.2","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"0e168480cf4ae60fb03b54035a9df4f89c6b4c08","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.4.2.tgz","fileCount":8,"integrity":"sha512-YLsGEQUFgtehvV42hBzxn8OAwe+VB/bR1K8LWdCvzqJVQDXJUAxGxpAt+dDyU2ug/aST4sQPCMqN/Ien3vLpNQ==","signatures":[{"sig":"MEUCIF87HCro2vsjK34USfXJ8C7SpUxcSgRhvxndi8bq6KxSAiEA+tWm+IKASrRW00C31789+5qzdhA4iXVk7AzaLfq9fPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32080},"type":"module","engines":{"node":">=18"},"gitHead":"32c5c3343989ce894a3a707103d4bf8da54726a9","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.17.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.4.2_1782380838833_0.15513681580927696","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@cobusgreyling/loop-audit","version":"1.5.0","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.5.0","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"311d7a4c3c42f3f86ccf9f697b67a8c0cf9810ab","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.5.0.tgz","fileCount":8,"integrity":"sha512-QsOdHO/+arWu53FervbHNkSRqdULZjhhv+I3vwwLhRu37HzN6sHGa1qY8GAzkXZUJRobUEV5agiOTfJGc+fkbw==","signatures":[{"sig":"MEYCIQD07F6WQv0c6Me9UOcljsOC1AD51bNtRNX45t89vxXs3QIhAPnhGncet4dWlaQO/lsgE1wGmEUD/VojoDHi3Kk4hOTT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33843},"type":"module","engines":{"node":">=18"},"gitHead":"c87f8cce6cbaaff30e1b6fc4d98de62b5d85f2c9","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.18.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.5.0_1782806533966_0.4173939868323975","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@cobusgreyling/loop-audit","version":"1.5.2","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.5.2","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"9aff1a7cf013167390808f17446555c023a6dab8","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.5.2.tgz","fileCount":8,"integrity":"sha512-472hHJAabS4olPC/dkqLIEO32m1AkVXMlO4M0i9HgFNsEd6rgiyg1nk1eyVx6OqtI2g0IYEtf83ttrPcsmEIkw==","signatures":[{"sig":"MEQCIH86KMCyIeQAleEvbDSg+3JGu2GwzYQpmCwuoj56Ht5mAiA9a5tJnmIKZ+608UUs/l47N/8EBcnpasm+03Pa5V/v/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35611},"type":"module","engines":{"node":">=18"},"gitHead":"0587d2a2d040b916e9d6208bf43e3d70bfe20faa","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.18.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.5.2_1782849740144_0.06129464701391485","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@cobusgreyling/loop-audit","version":"1.5.3","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.5.3","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"c70128fa394cf96608b091c5e8b279a4408f8b9f","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.5.3.tgz","fileCount":10,"integrity":"sha512-qS64GMZY+kXQaK5tdxvBbEQo96YLwUZb9LiGHBlANrMeq8hvgEa5eOAW4rqXj8hrAj4vREJvBZI050PQDmEWXg==","signatures":[{"sig":"MEUCIQDANH1o9En5GNdwfOMU5BkWxL2TnVkv3RnWwna/GStSMQIgb6aX4t+3Gt6YxhDA2gcXrZ5+d4piSVujc+1cDzXCKhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36180},"type":"module","engines":{"node":">=18"},"gitHead":"a425c42f00168bd8bed21ca458df4c3ce3e310ab","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"11.18.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.5.3_1783343334668_0.9823664188894397","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@cobusgreyling/loop-audit","version":"1.6.0","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.6.0","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"296ee2651b63b4d0e508fd2566a618395058dd36","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.6.0.tgz","fileCount":10,"integrity":"sha512-e9g8PCYIbXsAYamo5N6uiqB/gRVkBfoKbWc+M1qFFyD8w5yaD/t1eWFnjmM5FzdpXz69Qj2EJHXcP7O2+G1irw==","signatures":[{"sig":"MEUCIEd6IkotaycfgPlzfB4I1u9Nyzi73KvlDYMjEf/wlgVeAiEAi3at9IqX5tzkVXZMkV/43hN6VOeXgRwTzQCyzTFBY3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41470},"type":"module","engines":{"node":">=18"},"gitHead":"ea1d4ce3ba67efd2f669049a1e881b4a2f952809","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"12.0.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.6.0_1783580718420_0.7155140831732041","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@cobusgreyling/loop-audit","version":"1.6.1","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","_id":"@cobusgreyling/loop-audit@1.6.1","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"bin":{"loop-audit":"dist/cli.js"},"dist":{"shasum":"413821be2dfe9fab0112d39d1f673a738b9e9da7","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.6.1.tgz","fileCount":10,"integrity":"sha512-VOltCOhnj1jaeHVExc3NsESCD10GF4VfscWrlDyo/7By/lwsVekr9UItNrg6ZcN+hC7uPe9FrjfnI+hVXIbouQ==","signatures":[{"sig":"MEYCIQDqAxF96rnCAd5KdaGBGBLOIBwyYdie5ouHXuBMyFPtyQIhANu7iOORT/EgSankdKNzz4K9ES18FOocYD5feDH61FFZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41340},"type":"module","engines":{"node":">=18"},"gitHead":"3d012ea8caa2d0d32407d472cb47cadda5df028d","scripts":{"demo":"bash ../../scripts/before-after-demo.sh","test":"npm run build && node --test test/auditor.test.mjs","audit":"npm run build && node dist/cli.js","build":"tsc","start":"node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","prepublishOnly":"npm test"},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"repository":{"url":"git+https://github.com/cobusgreyling/loop-engineering.git","type":"git","directory":"tools/loop-audit"},"_npmVersion":"12.0.1","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/loop-audit_1.6.1_1784487293775_0.4657715355787251","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@cobusgreyling/loop-audit","version":"1.7.0","description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity + harness runtime, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","type":"module","bin":{"loop-audit":"dist/cli.js"},"scripts":{"build":"tsc","test":"npm run build && node --test test/auditor.test.mjs","prepublishOnly":"npm test","start":"node dist/cli.js","audit":"npm run build && node dist/cli.js","audit:suggest":"npm run build && node dist/cli.js . --suggest","demo":"bash ../../scripts/before-after-demo.sh"},"engines":{"node":">=18"},"keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"author":{"name":"Cobus Greyling"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cobusgreyling/loop-engineering.git","directory":"tools/loop-audit"},"homepage":"https://cobusgreyling.github.io/loop-engineering/","bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^26.0.0","typescript":"^7.0.2"},"gitHead":"548ad72faca686766c23fcb88b3bccf643bd3b2d","_id":"@cobusgreyling/loop-audit@1.7.0","_nodeVersion":"22.23.1","_npmVersion":"12.0.1","dist":{"integrity":"sha512-Xtw7bkx20VFqPCHR4qt0QlrAXvOjAHc4eYk2vqoBuGvSqBGSoc5SYtdDoEF/UoZbnIP/YbYsSqJ7H0HoQsqknQ==","shasum":"8ba1adae88219db0fc3c71c89ee9a8ff44b421e4","tarball":"https://registry.npmjs.org/@cobusgreyling/loop-audit/-/loop-audit-1.7.0.tgz","fileCount":10,"unpackedSize":47335,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cobusgreyling%2floop-audit@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDwnrpTR/HntqR75QRJk/de0kbaD4OH/pRfFb70qu2TNQIhAKsO1r5mZ5oGA/+PVEDlW9I7pTSWEnNDDPpzSIq3ajrV"}]},"_npmUser":{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"},"directories":{},"maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/loop-audit_1.7.0_1784564070776_0.5764304687336812"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T12:40:08.335Z","modified":"2026-07-20T16:14:31.238Z","1.3.0":"2026-06-09T12:40:08.634Z","1.4.0":"2026-06-11T07:57:13.116Z","1.4.1":"2026-06-13T08:41:28.966Z","1.4.2":"2026-06-25T09:47:18.973Z","1.5.0":"2026-06-30T08:02:14.111Z","1.5.2":"2026-06-30T20:02:20.318Z","1.5.3":"2026-07-06T13:08:54.815Z","1.6.0":"2026-07-09T07:05:18.565Z","1.6.1":"2026-07-19T18:54:53.910Z","1.7.0":"2026-07-20T16:14:30.917Z"},"bugs":{"url":"https://github.com/cobusgreyling/loop-engineering/issues"},"author":{"name":"Cobus Greyling"},"license":"MIT","homepage":"https://cobusgreyling.github.io/loop-engineering/","keywords":["loop-engineering","ai-agents","coding-agents","claude-code","codex","grok","opencode","readiness","audit"],"repository":{"type":"git","url":"git+https://github.com/cobusgreyling/loop-engineering.git","directory":"tools/loop-audit"},"description":"Loop engineering readiness auditor. Compute Loop Readiness Score (L0-L3), detect activity + harness runtime, and get actionable suggestions. npx @cobusgreyling/loop-audit . --suggest","maintainers":[{"name":"cobusgreyling","email":"greyling.cobus@gmail.com"}],"readme":"# loop-audit\n\nCLI that scores a project's **Loop Readiness** (0–100) and suggests next steps.\n\n**npx @cobusgreyling/loop-audit . --suggest** works immediately (published package).\n\n## Install & Run\n\n**npm (recommended):**\n\n```bash\nnpx @cobusgreyling/loop-audit .\nnpx @cobusgreyling/loop-audit . --suggest\n```\n\n**From this repo:**\n\n```bash\ncd tools/loop-audit\nnpm install\nnpm run build\nnode dist/cli.js /path/to/your/project\n```\n\n## Before/after demo\n\nSee scores climb from empty → L1 starter → L2 verifier:\n\n```bash\nbash scripts/before-after-demo.sh\n```\n\n## Options\n\n```bash\nloop-audit .              # human-readable (default)\nloop-audit . --json       # machine-readable\nloop-audit . --md         # markdown report\nloop-audit . --suggest    # copy-from-template commands + activity tips (all tools)\nloop-audit . --badge      # markdown README badge (Loop Ready level + score)\n```\n\nExit code `2` if score < 40 (useful for CI gates once your project is loop-ready).\n\n## Publish to npm\n\nMaintainers:\n\n```bash\ncd tools/loop-audit\nnpm run build\nnpm publish --access public\n```\n\n## Signals Checked (v1.7+)\n\n| Signal                  | Notes |\n|-------------------------|-------|\n| State file              | STATE.md or pattern-specific |\n| Triage skill            | loop-triage / ci-triage / pr-review-triage etc. |\n| Verifier skill          | maker/checker split (skills or Claude/Codex agents) |\n| LOOP.md / config        | Cadence, limits, handoff |\n| AGENTS.md / CLAUDE.md   | Project conventions |\n| Safety docs             | safety.md + LOOP.md mentions of gates |\n| .github/ + workflows    | Dogfooding / automation |\n| MCP / connectors        | Mentions or config files |\n| Worktree evidence       | Isolation patterns in docs |\n| patterns/registry.yaml  | Machine index for tooling |\n| loop-budget.md          | Token caps and kill switch |\n| loop-run-log.md         | Append-only run history |\n| LOOP.md budget section  | Cadence limits documented in config |\n| loop-budget skill       | Runtime budget guard |\n| Least-privilege tool scope | `allowed-tools` in SKILL.md, or documented tool/MCP scopes (agents get only what their role needs) |\n| Stall / no-progress detection | loop-context circuit breaker, a ledger, or a documented max-attempts / no-progress rule |\n| Human-escalation path   | LOOP.md / safety docs define when to stop and hand off to a human |\n| **loopActivity (v1.4)** | **Dynamic proof**: \"Last run\" timestamps in state, loop-related git commits, scheduled workflows, run logs |\n| **Harness Runtime (v1.7)** | `.foundry/stack.yaml`, lock, sessions/traces, outerloop emit, host integrate — LE → [harness-foundry](https://github.com/cobusgreyling/harness-foundry) funnel |\n\nWhen score ≥ 80 and no `.foundry/stack.yaml`, audit recommends:\n\n```bash\nnpx @cobusgreyling/loop-init . --with-foundry\n```\n\nL3 requires verifier + state + cost observability (budget + run log + LOOP.md budget) **and** proven loop activity (not just files on disk).\n\n## Levels\n\n| Level | Meaning |\n|-------|---------|\n| L0 | Draft — document intent |\n| L1 | Report-only loops |\n| L2 | Assisted auto-fix with verifier |\n| L3 | Unattended-capable (with human gates) |\n\nSee [docs/loop-design-checklist.md](../../docs/loop-design-checklist.md).","readmeFilename":"README.md"}