npm @schoolai/shipyard @3.7.0
score
0.6
med
flagged
2026-06-05 06:21
Signals fired
| signal | weight | rationale |
|---|---|---|
| content | ||
| install_script_payload | 1.0 | install/lifecycle script matches payload regex |
| topology | ||
| no_repo | 0.3 | package.json has no repository field |
| dist_tag_anomaly | 0.5 | dist-tags.latest=3.7.0 but max published is 3.8.0-rc.20260529.0 |
Prior profile (what it deviated from)
{
"had_install_script": true,
"maintainers": [
"canadaduane",
"cahlan_schoolai",
"jacobpetterle",
"sai-ops"
],
"versions": 353
}
Evidence (package doc at flag time)
{
"dependencies_count": 16,
"dist": {
"integrity": "sha512-KdxC98vdYAlXURx9JKnreIj6kszA4gQYoRlOtleElPWIQsuwqChhYbNMytrtkMC7awm+t159pB3jmenVYDbfng==",
"tarball": "https://registry.npmjs.org/@schoolai/shipyard/-/shipyard-3.7.0.tgz",
"unpackedSize": 33098757
},
"dist-tags": {
"latest": "3.7.0",
"next": "3.8.0-nightly.20260605.0"
},
"latest_version": "3.7.0",
"maintainers": [
{
"email": "duane.johnson@gmail.com",
"name": "canadaduane"
},
{
"email": "cahlan@schoolai.com",
"name": "cahlan_schoolai"
},
{
"email": "jacobpetterle@gmail.com",
"name": "jacobpetterle"
},
{
"email": "ops@schoolai.com",
"name": "sai-ops"
}
],
"num_versions": 353,
"repository": null,
"scripts": {
"postinstall": "node -e \"const fs=require('fs'),path=require('path');const d=path.join(__dirname,'node_modules','node-pty','prebuilds');if(fs.existsSync(d))for(const a of fs.readdirSync(d)){const h=path.join(d,a,'spawn-helper');try{fs.chmodSync(h,0o755)}catch{}}\""
},
"signal_details": {
"dist_tag_anomaly": "dist-tags.latest=3.7.0 but max published is 3.8.0-rc.20260529.0",
"install_script_payload": "install/lifecycle script matches payload regex",
"no_repo": "package.json has no repository field"
},
"time": {
"created": "2026-02-15T23:52:08.911Z",
"modified": "2026-06-05T10:16:45.766Z"
}
}