{"_id":"@getpipher/armory-fleet","_rev":"36-01bf5df71192b5fb2d9dd9b234eb9229","name":"@getpipher/armory-fleet","dist-tags":{"latest":"1.4.0"},"versions":{"0.2.0":{"name":"@getpipher/armory-fleet","version":"0.2.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.2.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"aef7af142c8e140e490f6f0a992596ca9f0e4e29","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.2.0.tgz","fileCount":22,"integrity":"sha512-DXNhDXJ1rTo8Rv6GRERW8ELplQ5L2OvetwKp0gqjTT3R76E+p0PO+HNh96VGHIxR6Jrx8HLpPV8rvdXLDFALTQ==","signatures":[{"sig":"MEQCIHimZm1p1A7xQjV+O5iYAsNrbcYw034ACEyL6Ak49GDYAiAYS7yZbaGqhrJ20HaRpGD0DyplQz4KdO07My44fJE8FA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52023},"type":"module","_from":"file:getpipher-armory-fleet-0.2.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/4feea5e8b49947d45b37ab2ba6395ecd/getpipher-armory-fleet-0.2.0.tgz","_integrity":"sha512-DXNhDXJ1rTo8Rv6GRERW8ELplQ5L2OvetwKp0gqjTT3R76E+p0PO+HNh96VGHIxR6Jrx8HLpPV8rvdXLDFALTQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.2.0_1784877348051_0.00026070449768678117","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@getpipher/armory-fleet","version":"0.3.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.3.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"63a99feaf12df44c30631b0e0f8daf424093d9ae","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.3.0.tgz","fileCount":31,"integrity":"sha512-pMasyAJSxjBVbVrE2LhLYCdWIqsjce2qqPq4jujFKAR01oTpRIGKu/c4orvmoKqUceU8a6ayqIIPJVV5rUdVmg==","signatures":[{"sig":"MEQCIFAMTYBurZ7TDgk/ZcAEYNONjQFencfzLjDuxlcx0Q3zAiByFvjbictWvOV1FOfeWenr15d7YSxckw+pBK/59xPPZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74645},"type":"module","_from":"file:getpipher-armory-fleet-0.3.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/4eaa78003a8c684090a4f6e3991b2c92/getpipher-armory-fleet-0.3.0.tgz","_integrity":"sha512-pMasyAJSxjBVbVrE2LhLYCdWIqsjce2qqPq4jujFKAR01oTpRIGKu/c4orvmoKqUceU8a6ayqIIPJVV5rUdVmg==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.3.0_1784880995100_0.030658033898358195","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@getpipher/armory-fleet","version":"0.4.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.4.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e1d7b7f0670b6abaff77c76fabd7397f97a8c367","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.4.0.tgz","fileCount":39,"integrity":"sha512-iT3/yOj07TBKXh1IUQPH/p9W3enmtq3iulKhBx5bsTNRbe3PjCh5+SUUeeK7Qt/eGD5ObnvGn/OAMWljECQhQw==","signatures":[{"sig":"MEYCIQD69fw5HFOygim2grUYHZ9m9u6k2K3cO5JJOlIioqcuvQIhAKcRNO4rV3rSzfrR5Bwqz+YZHDYv6NFfynyMClAXTLhJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126110},"type":"module","_from":"file:getpipher-armory-fleet-0.4.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/405a0132aab3ca4dc101ab3a357dc970/getpipher-armory-fleet-0.4.0.tgz","_integrity":"sha512-iT3/yOj07TBKXh1IUQPH/p9W3enmtq3iulKhBx5bsTNRbe3PjCh5+SUUeeK7Qt/eGD5ObnvGn/OAMWljECQhQw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.4.0_1784906549576_0.7673702647098024","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@getpipher/armory-fleet","version":"0.5.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.5.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c38e1ae746752660ad9bfd145bfcc81cf13e670f","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.5.0.tgz","fileCount":58,"integrity":"sha512-NmK1bLcsKpoHP5W1T8RHRXnLa0sl2V4DwfHBaM0b743pvHxjwZu8uCQFTzuSmCsrzLo7KfJNQLeubUainK5klg==","signatures":[{"sig":"MEUCIQDAVtdtbR2kCtpmapieTU1t+33vqRDoQR0bgFSC4NSe3wIgJZDPpdf5MztM3MQq17dWZyrXzTyGaDvXduGCdx5N2w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193789},"type":"module","_from":"file:getpipher-armory-fleet-0.5.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/7f80394b7ba9e2c58a5b2808cb78586f/getpipher-armory-fleet-0.5.0.tgz","_integrity":"sha512-NmK1bLcsKpoHP5W1T8RHRXnLa0sl2V4DwfHBaM0b743pvHxjwZu8uCQFTzuSmCsrzLo7KfJNQLeubUainK5klg==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.5.0_1784937138815_0.3682226182095205","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@getpipher/armory-fleet","version":"0.5.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.5.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"686cd57f6dcf11da1f92135a0d2fd762bd729c7c","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.5.1.tgz","fileCount":59,"integrity":"sha512-iDR1lGKUgDPwNQfZUVO+kgM1XqNUk5XxAN4GTtcjzUKlEUO4NU2yHfyVxM+Z+uUW3ZqSOa07fu4jUzeWyPz6DQ==","signatures":[{"sig":"MEYCIQCvouA+SNpx9ZEaSpY4Eja1Hri6XewUVmAr7LHTzbjJXwIhAK7d2T+7y3GaeHC1j8JBYutlC3SkFY6e7WObxGw19nMX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194346},"type":"module","_from":"file:getpipher-armory-fleet-0.5.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/d112e1d9b82e4c627955f9e05182b4be/getpipher-armory-fleet-0.5.1.tgz","_integrity":"sha512-iDR1lGKUgDPwNQfZUVO+kgM1XqNUk5XxAN4GTtcjzUKlEUO4NU2yHfyVxM+Z+uUW3ZqSOa07fu4jUzeWyPz6DQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.5.1_1784937421547_0.14115966236219912","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@getpipher/armory-fleet","version":"0.5.2","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.5.2","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"edb8630591c5314ab06a050e622c188be1f16ec6","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.5.2.tgz","fileCount":59,"integrity":"sha512-HpDWrtYYI5tiX0+HakAA3RzeuxMJp0bS0uOj2gjyi51RoE4AF4Nuavc4Z2X9mgugiCk30mh86nUPksQyfDQyKA==","signatures":[{"sig":"MEYCIQCLEY14CPYl5jHH0GgAGemmqjX5X7CkMhHuuo2oMDH5fgIhAOb1THB4d0DoWdQrg1baHG/CLD8507fIcEVkCaNVw5fM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196412},"type":"module","_from":"file:getpipher-armory-fleet-0.5.2.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/b4364bcf8ebdf070162ffe488fc1ed14/getpipher-armory-fleet-0.5.2.tgz","_integrity":"sha512-HpDWrtYYI5tiX0+HakAA3RzeuxMJp0bS0uOj2gjyi51RoE4AF4Nuavc4Z2X9mgugiCk30mh86nUPksQyfDQyKA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.5.2_1784939063926_0.7305239629933964","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@getpipher/armory-fleet","version":"0.6.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.6.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b6811ff03751333f47b208edce2a54cd1bc95706","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.6.0.tgz","fileCount":63,"integrity":"sha512-eWpm1Y/+DkmA7P1fYYq9CC+jalJXch2pzkJDJxZwps/XgLcg0MKDB5eT+Ch+tuDKVviePC5NjQGu+4ivPp11LQ==","signatures":[{"sig":"MEYCIQD916KEEfqRqqonB1VJ/ho2u54A8uLCZeYaeKLDkCYQ/gIhANYK35ue9O5YkDhY32XMrGuU4nhMlCWdgcELdXYe5BuC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215344},"type":"module","_from":"file:getpipher-armory-fleet-0.6.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/6f788fb39ea91e4b8bbf9f103fa2f317/getpipher-armory-fleet-0.6.0.tgz","_integrity":"sha512-eWpm1Y/+DkmA7P1fYYq9CC+jalJXch2pzkJDJxZwps/XgLcg0MKDB5eT+Ch+tuDKVviePC5NjQGu+4ivPp11LQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.6.0_1785028614517_0.5236780479781391","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@getpipher/armory-fleet","version":"0.7.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.7.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1c2cb0e3dd6c98edc2ee00be0a261e873c4ee5bc","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.7.0.tgz","fileCount":65,"integrity":"sha512-mugazD7qOTZJmkOTp89VswmwjEtLSgjLO5FrYHbcRQtQEMQQsVyFR8T5iCQd7OJIRsF8lt88Njva6MyVfRLByA==","signatures":[{"sig":"MEQCIGZLzWo11d5ag35QRxQQ7b7USQWz1CBBuhZySfVoBeMWAiBDLjKKCqbxZGCI1JQjW8ngClMbd9jo2zCLg5t+DjmTbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224432},"type":"module","_from":"file:getpipher-armory-fleet-0.7.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/201b0fa7516b026069cb3f4a39e212ff/getpipher-armory-fleet-0.7.0.tgz","_integrity":"sha512-mugazD7qOTZJmkOTp89VswmwjEtLSgjLO5FrYHbcRQtQEMQQsVyFR8T5iCQd7OJIRsF8lt88Njva6MyVfRLByA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.7.0_1785032572015_0.7937049107844738","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@getpipher/armory-fleet","version":"0.8.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.8.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6df53b9839ff90155d8e8e0a1275945d0b7378fc","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.8.0.tgz","fileCount":66,"integrity":"sha512-IPOh9WohCvuqoovZY8MnrLXdBA4Fi5qzfR6lyVk5Qmec44csNDMGAlCbwRihAJ5/gmGxvE0nxrLiPAJ8QQgBsw==","signatures":[{"sig":"MEYCIQDAHBymVWrCEyBxKX+73xGUTzz0R/6Wt//Rh6D/dygc9wIhAIIS6QDnbOUPHrjRjPdShll1xTBD2xmzoIfY2eLFYR04","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231682},"type":"module","_from":"file:getpipher-armory-fleet-0.8.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/2b21cd4e11950f7fd8d773a4510c0972/getpipher-armory-fleet-0.8.0.tgz","_integrity":"sha512-IPOh9WohCvuqoovZY8MnrLXdBA4Fi5qzfR6lyVk5Qmec44csNDMGAlCbwRihAJ5/gmGxvE0nxrLiPAJ8QQgBsw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.8.0_1785119912037_0.9006714298361653","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@getpipher/armory-fleet","version":"0.9.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.9.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4827a42cbd92d12c463d708339759885aa550c22","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.9.0.tgz","fileCount":66,"integrity":"sha512-cxQn/IeQFiN8GCpKe8abzGF8esv0l1TjIAfsJOEny4iK7e1P0tuyFXTgbP2CSb/dTcaYKJR99JL3WUWcT7OieA==","signatures":[{"sig":"MEYCIQDR91x2fQQE4Vg7XVdrOf/sbYN8Z2o5SPLmS/X01D0qXgIhANkdYkWMIq7DyuEXEFPJi943IAiHbVPMn+VxCrbklfH4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237455},"type":"module","_from":"file:getpipher-armory-fleet-0.9.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/6715223debe9a600798f5aa26e3b4c0b/getpipher-armory-fleet-0.9.0.tgz","_integrity":"sha512-cxQn/IeQFiN8GCpKe8abzGF8esv0l1TjIAfsJOEny4iK7e1P0tuyFXTgbP2CSb/dTcaYKJR99JL3WUWcT7OieA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.9.0_1785122241758_0.4020487682714369","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@getpipher/armory-fleet","version":"0.9.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.9.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7ce6acc0302a3e0dddbe883a8068b8ceac049259","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.9.1.tgz","fileCount":66,"integrity":"sha512-Cs3hWUgTCF8vx90ICZ84P8iEXAciBkXbCmpT44n5llrKI/U8D71m8KD1MrWOw9c0kTn2Z+DYke1mmNsUP11//A==","signatures":[{"sig":"MEQCICrGicecsybSD3pW2Iqr6TzrafhU2SB4534H+WE7rMZTAiAL5+HfgPNWpeyAjF1CY7M4JH0rE1qn+xAoFl3PkHSU+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237730},"type":"module","_from":"file:getpipher-armory-fleet-0.9.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/43fed1f5285bada433420e6ffdd0830b/getpipher-armory-fleet-0.9.1.tgz","_integrity":"sha512-Cs3hWUgTCF8vx90ICZ84P8iEXAciBkXbCmpT44n5llrKI/U8D71m8KD1MrWOw9c0kTn2Z+DYke1mmNsUP11//A==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.9.1_1785122696136_0.3859298859460196","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@getpipher/armory-fleet","version":"0.9.2","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.9.2","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"2edff236edb09664fce84a636de0230526c01895","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.9.2.tgz","fileCount":66,"integrity":"sha512-58F2uAfz30qypSu529+J2zyQ+b116rmmLEiUkwk8a6YZ9lqnD4kexdo05hLBD4w5TSbS1zTkg9HGptoOH/GsWQ==","signatures":[{"sig":"MEUCIBguuWeyMAIvC6OwZSpO6feQE6m+wF8eXcNeRQgmIUneAiEA1ocBSWPJZz/elwf6+9UcVhAbIHMwpGqaRqXCWQ0pGFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237459},"type":"module","_from":"file:getpipher-armory-fleet-0.9.2.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/47a7ef949999986e206c6d47e3cef4f5/getpipher-armory-fleet-0.9.2.tgz","_integrity":"sha512-58F2uAfz30qypSu529+J2zyQ+b116rmmLEiUkwk8a6YZ9lqnD4kexdo05hLBD4w5TSbS1zTkg9HGptoOH/GsWQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.9.2_1785123848033_0.026388845582979936","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@getpipher/armory-fleet","version":"0.9.3","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.9.3","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"242da15d17ed87c4e6288ad656fc6a3c31fffcea","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.9.3.tgz","fileCount":66,"integrity":"sha512-eRLM2HHxH4VOXT9pq396+YKGkDvdOhW8AQwOm45J43uWFl4gPIiobl/odTS5dIUl94/t6jZtBm55+NHJFx+lZw==","signatures":[{"sig":"MEQCIC4LuoZCymdy4dJMwCfbD4XXOJNNZzBzHDHEdAqnfIrHAiBZHKWPEo9fEIuW6yy/yQPh5dNCPYTzQBJxe1oD8N3gLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237749},"type":"module","_from":"file:getpipher-armory-fleet-0.9.3.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/13b7b9922e9bf27f968fb43cb09bd18f/getpipher-armory-fleet-0.9.3.tgz","_integrity":"sha512-eRLM2HHxH4VOXT9pq396+YKGkDvdOhW8AQwOm45J43uWFl4gPIiobl/odTS5dIUl94/t6jZtBm55+NHJFx+lZw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.9.3_1785134660952_0.3993463664682084","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@getpipher/armory-fleet","version":"0.9.4","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.9.4","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3eb37a6d8741689e89eb2804cc4c925887aa0a04","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.9.4.tgz","fileCount":66,"integrity":"sha512-CtHgiPvAUDTCUWwy3d0K3j7FzItEBQ9UQCaOZRFI4ovFApDGG4dap1I57+XyZyquZONgNNpxSAZbX553j5l4DQ==","signatures":[{"sig":"MEUCIQChPekoiHqMB0S9oaZYJTGNGiVb2UWeZK8IDwgL2JMSSwIgXg6K1xHh+QfTPpyi03B2RVEBimukyp9xqKQ2pFqOsVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238039},"type":"module","_from":"file:getpipher-armory-fleet-0.9.4.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/72d3c72ea43e1ffdd0efd1ec26c6ec02/getpipher-armory-fleet-0.9.4.tgz","_integrity":"sha512-CtHgiPvAUDTCUWwy3d0K3j7FzItEBQ9UQCaOZRFI4ovFApDGG4dap1I57+XyZyquZONgNNpxSAZbX553j5l4DQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.9.4_1785135097587_0.8246550364587053","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@getpipher/armory-fleet","version":"0.10.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.10.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"88b64adfb22f5ac96f9fae501754de0a327ab529","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.10.0.tgz","fileCount":72,"integrity":"sha512-adMJS7Uhjs7VyciXmCg/F0TYNTTyl7yj4Myp8lCV0Fro4XMHfUpHe4Y7WLTS4aXgZOkoms6sDb0iJX8b3vZ+Vw==","signatures":[{"sig":"MEYCIQDvEThDrQ4MkrPgIRVJzzO6NdeUjhp7AyQ7a2kbCdIW4QIhANBljHcy10G0nGY5393iK4j0Lr2tWKDmmMRXTxG76vDG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262500},"type":"module","_from":"file:getpipher-armory-fleet-0.10.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/a539c948cd28adc0218067b36c74bca3/getpipher-armory-fleet-0.10.0.tgz","_integrity":"sha512-adMJS7Uhjs7VyciXmCg/F0TYNTTyl7yj4Myp8lCV0Fro4XMHfUpHe4Y7WLTS4aXgZOkoms6sDb0iJX8b3vZ+Vw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.10.0_1785207162275_0.6156260470121966","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@getpipher/armory-fleet","version":"0.10.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.10.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"fe4aa0d172f15d540a6ef9507579b59615b46ddd","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.10.1.tgz","fileCount":72,"integrity":"sha512-xHksgOIekiXtE+YOiOtsQWulCT5tFBHGDglct/fxRJa493L9Am+tz8E2u2EEmxuZ6mkH3dnuozbXRp7KDPzT0g==","signatures":[{"sig":"MEYCIQCTxmwvTLCVed8PVk7OkdIggLFYK4r/+7QyktRNK3S58AIhAIM365/NmoMrZyL3zJGOKuHjh9NxvHeb/+Fy/0RLWK7W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263001},"type":"module","_from":"file:getpipher-armory-fleet-0.10.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/b921c36c67c75d21a7f64ebb8a7b48cc/getpipher-armory-fleet-0.10.1.tgz","_integrity":"sha512-xHksgOIekiXtE+YOiOtsQWulCT5tFBHGDglct/fxRJa493L9Am+tz8E2u2EEmxuZ6mkH3dnuozbXRp7KDPzT0g==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.10.1_1785207590092_0.08597448223679227","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@getpipher/armory-fleet","version":"0.10.2","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.10.2","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"0b7276e9e70d5f3221fab2877ef60000f726b25b","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.10.2.tgz","fileCount":72,"integrity":"sha512-qSgYk4A8UZ4lH3koIrCq1eAnyuPQCqUS90CAeHjIJS4dS8//TOp+pYqEEulhUSphGVzzzKubP4SBdZUOmErg2w==","signatures":[{"sig":"MEUCIGv+vWclxtVc+DvzJDNg4QF4yWMTu5EcbSdsBcJiYUdhAiEAjPaWAmfzQW/kVxt3GfTwIV8D5+em7oBLOJsSyA99L8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264404},"type":"module","_from":"file:getpipher-armory-fleet-0.10.2.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/245b0c3eeaa4b539127b9730404eb63e/getpipher-armory-fleet-0.10.2.tgz","_integrity":"sha512-qSgYk4A8UZ4lH3koIrCq1eAnyuPQCqUS90CAeHjIJS4dS8//TOp+pYqEEulhUSphGVzzzKubP4SBdZUOmErg2w==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.10.2_1785209205935_0.7357259321857772","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@getpipher/armory-fleet","version":"0.10.3","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.10.3","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7eb0d4d101b7131b912f446666d68634de144065","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.10.3.tgz","fileCount":72,"integrity":"sha512-rYCU6lyfK5FsTrGsAS8BTIh3kMZW2fTUanxxpFM0giPtY48yo9npxglh7sgli2Vq37mjaDmzKigSaNzOBwW99A==","signatures":[{"sig":"MEUCIQD+qWXkbY4sQnXyAUKJTqa7hZwZdNdB9I9Asee0ZoxIhgIgH5GIWbWD+2U6oZSsw3i9T5LOuHE7oVawOFEinFg4HBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264873},"type":"module","_from":"file:getpipher-armory-fleet-0.10.3.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/36d870b5b03d94ae9a7a4c7897b2d057/getpipher-armory-fleet-0.10.3.tgz","_integrity":"sha512-rYCU6lyfK5FsTrGsAS8BTIh3kMZW2fTUanxxpFM0giPtY48yo9npxglh7sgli2Vq37mjaDmzKigSaNzOBwW99A==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.10.3_1785229952013_0.5029986875525352","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@getpipher/armory-fleet","version":"0.11.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.11.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c9fbcc72e311c075817b2f53d0d7b7a9b0432d05","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.11.0.tgz","fileCount":80,"integrity":"sha512-MgEq3/bc0NwBkIQgnwssWB/gaMfGfxAj5OnixEHUZMQ43XZOORo5nkI3hqHcbshizNhb2Lvvb+SLnUdoWpBkyQ==","signatures":[{"sig":"MEYCIQDw3ae8hpOiWgUQhaK8/emskyJ7Pwe5cUjnSgqM6Ya0dwIhAIFVQt/DBPJjSFqfjMGeqCmuQttlIHjqrzJzAvOx1J3E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291491},"type":"module","_from":"file:getpipher-armory-fleet-0.11.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/2953a38725f68460ec2ad71286153993/getpipher-armory-fleet-0.11.0.tgz","_integrity":"sha512-MgEq3/bc0NwBkIQgnwssWB/gaMfGfxAj5OnixEHUZMQ43XZOORo5nkI3hqHcbshizNhb2Lvvb+SLnUdoWpBkyQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.11.0_1785230115019_0.37211100550964704","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@getpipher/armory-fleet","version":"0.11.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.11.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9a3b7d5be221ca1c3b352077b30b7bb8538a3b7b","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.11.1.tgz","fileCount":80,"integrity":"sha512-JmKbSlJ0bqF1UR595jhMqZuD4xJ7bMDwDVKkueHXxkMeDKGclJcp8OXMl2EW10DtazbBb2bFyhy2VacGjndzpg==","signatures":[{"sig":"MEQCIGq7siT1MCbVc28+luf8MLubq4E/9XBQr0ol3pC/9euFAiBhTYz/q6HjbQ0m5AM0HqVTN3Hg0tRx6KKe1mNzdT1f5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296192},"type":"module","_from":"file:getpipher-armory-fleet-0.11.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/21a83197a0beb496bf334eea906dc3d4/getpipher-armory-fleet-0.11.1.tgz","_integrity":"sha512-JmKbSlJ0bqF1UR595jhMqZuD4xJ7bMDwDVKkueHXxkMeDKGclJcp8OXMl2EW10DtazbBb2bFyhy2VacGjndzpg==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.11.1_1785255850683_0.9153578853325643","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@getpipher/armory-fleet","version":"0.12.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e2622b904c19ccf4ffbf7699e70c229a7c09f07f","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.0.tgz","fileCount":111,"integrity":"sha512-LHQrV5g/mO2NcTZAaaBA/VCgKOOwecm6kDAkXQhh6DeVh6sLExcuhQUG8SzSnUZ9ruFPjh6MNR9YS55Nj+C6dA==","signatures":[{"sig":"MEQCICfV6w/EgGYcTqN9q199sTS1suhndg1UEQGvSg7C50CFAiBqrDGiXHTCRFfF2tSVoDLsNmLe+HcSQ00GZKf+SWXnQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420107},"type":"module","_from":"file:getpipher-armory-fleet-0.12.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/3a8a4b2b06b3847cbe6e0f365f6cb102/getpipher-armory-fleet-0.12.0.tgz","_integrity":"sha512-LHQrV5g/mO2NcTZAaaBA/VCgKOOwecm6kDAkXQhh6DeVh6sLExcuhQUG8SzSnUZ9ruFPjh6MNR9YS55Nj+C6dA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.0_1785797360643_0.02357079586217181","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@getpipher/armory-fleet","version":"0.12.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"700148fdc866474c90e1e0606e347504f635137f","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.1.tgz","fileCount":111,"integrity":"sha512-y/0l5BfSqIgjHBsFJyMAoKlB4+Yb59e+BhipoIOLGztB/KquzDVHpYJZRPg0nFFjYDI7Ocwu/pF7yh8V+pLvbw==","signatures":[{"sig":"MEYCIQCMo6moS1E4TeEZSvjxrAqGfsN11kNzzjeaK7Rp89gHWQIhAOtT2rxkECH4zMwGHSvJAdeiUQ6AYoQ4VZSF2WUOECb2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447277},"type":"module","_from":"file:getpipher-armory-fleet-0.12.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/99aef5296e2450e8ce7010eeb996c436/getpipher-armory-fleet-0.12.1.tgz","_integrity":"sha512-y/0l5BfSqIgjHBsFJyMAoKlB4+Yb59e+BhipoIOLGztB/KquzDVHpYJZRPg0nFFjYDI7Ocwu/pF7yh8V+pLvbw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.1_1785882398550_0.4115203971928816","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@getpipher/armory-fleet","version":"0.12.2","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.2","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ca718b0ee992e8f287d228cd6325a3dac42aebbc","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.2.tgz","fileCount":111,"integrity":"sha512-hQiPvATWAXFxOzxMMMVOUzsyIdTIVOiQmnYpsV/a0SwwRYuhG6Gkdv2AkDysqkib+vmaXBZ2XFbhmLUlCO8nTQ==","signatures":[{"sig":"MEQCIFUdRJoEEP6BOLrT1DMTFmVxAbjF7icVS37DWsJmoziCAiBeruuKSaDwB0JgYpSGQq/F7Z9I0sORYsp+rFc/1gFWlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":455102},"type":"module","_from":"file:getpipher-armory-fleet-0.12.2.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/3ca3ef9fe9b813622dc3305a2b3d27d0/getpipher-armory-fleet-0.12.2.tgz","_integrity":"sha512-hQiPvATWAXFxOzxMMMVOUzsyIdTIVOiQmnYpsV/a0SwwRYuhG6Gkdv2AkDysqkib+vmaXBZ2XFbhmLUlCO8nTQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.2_1785974650763_0.3780723186321573","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@getpipher/armory-fleet","version":"0.12.3","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.3","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"0e1d57a952052118f5e9b3db4b6871181cb51643","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.3.tgz","fileCount":111,"integrity":"sha512-YUY6wjs1S7L1b1oNYO/yCZ0cFYWarIWfEEtK0VO7NxBhvbsdmORkkPYN4Ittbt+JMxTC1Ne51h2xWihFAVR9NA==","signatures":[{"sig":"MEUCIDtRSEUjefMtaFMEjcg1R9O8tM6NSrZ+SxnGOt5yuYl8AiEAnQV9nFf5plXYbh+1lUohhefBzaME1tk3u6/rSLJJvtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459827},"type":"module","_from":"file:getpipher-armory-fleet-0.12.3.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/b4f45676775b2e5975cb975177adbe38/getpipher-armory-fleet-0.12.3.tgz","_integrity":"sha512-YUY6wjs1S7L1b1oNYO/yCZ0cFYWarIWfEEtK0VO7NxBhvbsdmORkkPYN4Ittbt+JMxTC1Ne51h2xWihFAVR9NA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.3_1785975950015_0.13133277381254382","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@getpipher/armory-fleet","version":"0.12.4","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.4","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"69d834012f137da7b0dc9984b6011ebdb6e80a1c","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.4.tgz","fileCount":111,"integrity":"sha512-+zirdtd1QfQEwhCrUFNeOSZOgYrc3bLzXd1IfSwwY66shzZxMwKrEZoP6VNOElk6wr2YgArUI1wYfvfVJ6f/Iw==","signatures":[{"sig":"MEUCIACe2CuTbC6ePJbxJrTHNo/le3G8CADxQOMLIJAB4ExtAiEAyKbNNjhWDqpioaaDIDc233eCswPZKesSkXGaCbxnWXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":460760},"type":"module","_from":"file:getpipher-armory-fleet-0.12.4.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/63578fb82de96102ecdc22cce6fb58d9/getpipher-armory-fleet-0.12.4.tgz","_integrity":"sha512-+zirdtd1QfQEwhCrUFNeOSZOgYrc3bLzXd1IfSwwY66shzZxMwKrEZoP6VNOElk6wr2YgArUI1wYfvfVJ6f/Iw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.4_1785977867099_0.2521147781205719","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@getpipher/armory-fleet","version":"0.12.5","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.12.5","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5e6073e6bcda88c9dddcb6a530376ef797bd5d66","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.12.5.tgz","fileCount":112,"integrity":"sha512-Ommzf8guDsV9q/qXawG9K6DU6wKrh8Q6YJW44YfIvKeUP8xleSpqROOfWphppT0G2e540fSzOlHyW+Lr4R50PA==","signatures":[{"sig":"MEQCIHOlskt0K909w1eM5W8GS+ISXOGYdonMPsCtrs/EoJktAiAlnm/r3fT0FB+DQmh0kOa/7CFRBFAnZynW/MlipePyUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474517},"type":"module","_from":"file:getpipher-armory-fleet-0.12.5.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/b94dd7b9a06d92497c19063ff68b7096/getpipher-armory-fleet-0.12.5.tgz","_integrity":"sha512-Ommzf8guDsV9q/qXawG9K6DU6wKrh8Q6YJW44YfIvKeUP8xleSpqROOfWphppT0G2e540fSzOlHyW+Lr4R50PA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.12.5_1785982517014_0.43943987430456266","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@getpipher/armory-fleet","version":"0.13.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.13.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3ad8352c9dd1cc6d1033f4e6967234eb281bc563","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.13.0.tgz","fileCount":112,"integrity":"sha512-zH+I/3UTRbickrjLlW+4E/Do45rfZYbriFj0IDxvIR0MJk1bTi+NjT6T0odbig8fJyj5B/gQRytTBb62Lb4LJA==","signatures":[{"sig":"MEUCICLA0k28eOHsgEl5I2gznyUnMJrHCjl1VYa4mnhjHLZ8AiEA8WZyBpE0oQetZB0skli34FXNB+/DxCLooCD7BQ/og8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485476},"type":"module","_from":"file:getpipher-armory-fleet-0.13.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/2f97877479e6c00b75cf6102f5c36218/getpipher-armory-fleet-0.13.0.tgz","_integrity":"sha512-zH+I/3UTRbickrjLlW+4E/Do45rfZYbriFj0IDxvIR0MJk1bTi+NjT6T0odbig8fJyj5B/gQRytTBb62Lb4LJA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.13.0_1787975420042_0.5606796254297486","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@getpipher/armory-fleet","version":"0.14.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.14.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"42e445b0b625162f36f8ca149cebe23b899a4002","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.14.0.tgz","fileCount":113,"integrity":"sha512-wQuu/GLA3DonnzKmLCmiip/IRZ2hV1Scm0Ddxk41vemIYlmsAZDe6/6mF6gabmdmjmIiiISsnxIsjvfBmKq+qg==","signatures":[{"sig":"MEQCIGcDLK+1SFStE0ZIyd8DCquSVDcGYxfXf3UZrwI3yf++AiB+DWpidespoHwz9EId2R6eEu4xZQ+4Z4hKmiqi25D0uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495237},"type":"module","_from":"file:getpipher-armory-fleet-0.14.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/0f2e0f4429a245284bf26b6dfe372cac/getpipher-armory-fleet-0.14.0.tgz","_integrity":"sha512-wQuu/GLA3DonnzKmLCmiip/IRZ2hV1Scm0Ddxk41vemIYlmsAZDe6/6mF6gabmdmjmIiiISsnxIsjvfBmKq+qg==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.14.0_1787979984654_0.2734674687875487","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@getpipher/armory-fleet","version":"0.15.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.15.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6ca60151f2d97a58fdb9db9c2950015cf4031bce","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.15.0.tgz","fileCount":113,"integrity":"sha512-+kIgFEwV57E6XvYuafAy3kvsI4t+LJ6ZiNQnN1WqrTiGuotHx15n/kv4zmKTtkzyU6cVa/jQoCXxbmj+SHi3xQ==","signatures":[{"sig":"MEQCIEoXz25NemKpvHiflHT5XVDB8dx7Lwpkx95rFAaYSxLgAiBuktI3uOmZskIYHpoEU8lVD8sJjSj9Kz+6rYoV4sLsCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499307},"type":"module","_from":"file:getpipher-armory-fleet-0.15.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/a45b440a017e93206d647bb1a290d0a2/getpipher-armory-fleet-0.15.0.tgz","_integrity":"sha512-+kIgFEwV57E6XvYuafAy3kvsI4t+LJ6ZiNQnN1WqrTiGuotHx15n/kv4zmKTtkzyU6cVa/jQoCXxbmj+SHi3xQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.15.0_1788012641733_0.2868669662243515","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@getpipher/armory-fleet","version":"0.16.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@0.16.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6d0faed583d9fab6ec9a093792deee741361c8cd","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-0.16.0.tgz","fileCount":113,"integrity":"sha512-k8XnyYTAxuy/hp05rKSpeQ2LxMl6tloKVUEYJc9I1nf/yfLmsro7Q3SF+7oZIsS5qN/xyQpRn0qpq+bq/Sc0iQ==","signatures":[{"sig":"MEQCIEnxqvBzyuTagfm8IYSTbgOGMwYQfNau/R0hiWq+kWlnAiAVDNrTQ/zDfOVvtSrPEyixnkpXQ26bQA5K718eoeKURg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502894},"type":"module","_from":"file:getpipher-armory-fleet-0.16.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/973cb2f12f1a88ec64f8e199a61548b6/getpipher-armory-fleet-0.16.0.tgz","_integrity":"sha512-k8XnyYTAxuy/hp05rKSpeQ2LxMl6tloKVUEYJc9I1nf/yfLmsro7Q3SF+7oZIsS5qN/xyQpRn0qpq+bq/Sc0iQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_0.16.0_1788014224489_0.6932298201725418","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@getpipher/armory-fleet","version":"1.0.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@1.0.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"55aa717d63bf1b977979beac86e55d08d4b037d1","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.0.0.tgz","fileCount":116,"integrity":"sha512-LLNJ8PHZx85h5U06Af51uqGIvYZ9YRJg4LP22vafSxsHHRT0NLA5Yvl7t7YH1qiFcskFKioDzxDlKWMqrUbxNg==","signatures":[{"sig":"MEUCIQDm3FG+RfqN9/1cUf0gtU1jrK86Ogmp4X7VSAPCCTl5WQIgHYDLHPS9yaeFg+LXTZLLAKuFWsaBZgCp8s+vrP4ZwLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534629},"type":"module","_from":"file:getpipher-armory-fleet-1.0.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/fcf5586a4e35b1c41940135310fb6fc2/getpipher-armory-fleet-1.0.0.tgz","_integrity":"sha512-LLNJ8PHZx85h5U06Af51uqGIvYZ9YRJg4LP22vafSxsHHRT0NLA5Yvl7t7YH1qiFcskFKioDzxDlKWMqrUbxNg==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_1.0.0_1788048802663_0.5339949596235332","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@getpipher/armory-fleet","version":"1.1.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@1.1.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"0525e0ccd68a79e21d430d697bb3d0df5f45809b","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.1.0.tgz","fileCount":117,"integrity":"sha512-9IOvXRzmPR+SHmtaVLWQZlajkmv/kUmkvS4sYlLF70PDZjOw1Wh2eJZPKOBy4xMiVO5ZxgwLypdGd0jlmirNrA==","signatures":[{"sig":"MEYCIQCBJbWApOHsr+OmFUx/Zw19I0CKZKHnt4plVvOUuO/YIgIhAOjt72s25ywqovK5dML0xWu84oneh0vJrR+UzUGEC5m4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553679},"type":"module","_from":"file:getpipher-armory-fleet-1.1.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/36c7419f00ff311ef9809d7a32577ffa/getpipher-armory-fleet-1.1.0.tgz","_integrity":"sha512-9IOvXRzmPR+SHmtaVLWQZlajkmv/kUmkvS4sYlLF70PDZjOw1Wh2eJZPKOBy4xMiVO5ZxgwLypdGd0jlmirNrA==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_1.1.0_1788076534713_0.3067976910752255","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@getpipher/armory-fleet","version":"1.1.1","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@1.1.1","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"603837a20b8bfba1896027a9e2664e28907e4e22","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.1.1.tgz","fileCount":118,"integrity":"sha512-EAlPb3B+Kb27b5i/i/OgxwaJLp0PkmmxCJX7olJfy7U9PKMeq7UyRohbUdbFfbBecDhzR2KpKh4uX6APkI5gJQ==","signatures":[{"sig":"MEUCIH3e5UPF74ZqwDln1/x9JXkam5RMeqvl3mC7kl1Xl0/0AiEAnmsudForKYNp3ENyNiiQfoUY7zt11+sUYeWpzkUbxu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559232},"type":"module","_from":"file:getpipher-armory-fleet-1.1.1.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/cad6498f1191885337564cb7c9ad727c/getpipher-armory-fleet-1.1.1.tgz","_integrity":"sha512-EAlPb3B+Kb27b5i/i/OgxwaJLp0PkmmxCJX7olJfy7U9PKMeq7UyRohbUdbFfbBecDhzR2KpKh4uX6APkI5gJQ==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_1.1.1_1788079562190_0.6666030081661192","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@getpipher/armory-fleet","version":"1.2.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@1.2.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7f9b5451ba35cf89ddc1875799c774a77bb32a29","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.2.0.tgz","fileCount":119,"integrity":"sha512-mVqlEQoCXacR6Mvq0P7osh7PtfmoIG1coMVZq7db87UhgL51jDeMHiSApb2OpxS/rg71T80/QPAYdTvqm864tw==","signatures":[{"sig":"MEUCIHlh0CLdL/X6O9j4tnyEz2ENGJX0jT7Hg1+g6PFifu/VAiEAn3847HRbqajMdEkNVp/hauPBvwCFV/TvWA9YetWLCSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567824},"type":"module","_from":"file:getpipher-armory-fleet-1.2.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/e6c9372282b0aecaec1b06434a90dda8/getpipher-armory-fleet-1.2.0.tgz","_integrity":"sha512-mVqlEQoCXacR6Mvq0P7osh7PtfmoIG1coMVZq7db87UhgL51jDeMHiSApb2OpxS/rg71T80/QPAYdTvqm864tw==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.2","@earendil-works/pi-ai":"^0.81.1","@earendil-works/pi-tui":"^0.81.1","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.81.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_1.2.0_1788318140020_0.6387119072533083","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@getpipher/armory-fleet","version":"1.3.0","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"author":{"url":"https://github.com/rz1989s","name":"RECTOR"},"license":"MIT","_id":"@getpipher/armory-fleet@1.3.0","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"168ebd384127b69be0a83ce06164d2e4eb42f0f5","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.3.0.tgz","fileCount":131,"integrity":"sha512-zNtw2qWOZEJMtGmAkXO5VyHQqU1tyViWNFSbHSIa4hTYBir7Hh8IFi9tcBO0sJwot0jqaBWM1FLuFKE8buIo4w==","signatures":[{"sig":"MEYCIQCH0rl/VD4agwWNt5KGULstfCn9gI3Ed2yYN3QGWzpvwQIhAJ4kKPyeYC9MFnW9c0P4+mbCS3PUqdJW/+KkchX/xUac","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621254},"type":"module","_from":"file:getpipher-armory-fleet-1.3.0.tgz","exports":{".":"./src/index.ts"},"private":false,"scripts":{"test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"_resolved":"/tmp/f7c769abff1f04e8ed2b54bcb6c31640/getpipher-armory-fleet-1.3.0.tgz","_integrity":"sha512-zNtw2qWOZEJMtGmAkXO5VyHQqU1tyViWNFSbHSIa4hTYBir7Hh8IFi9tcBO0sJwot0jqaBWM1FLuFKE8buIo4w==","repository":{"url":"git+https://github.com/getpipher/armory-fleet.git","type":"git"},"_npmVersion":"10.9.8","description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.5.0","typebox":"^1.1.38","@getpipher/vision":"^0.5.3","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@getpipher/armory-todo":"^0.5.4","@getpipher/armory-memory":"^0.1.1","@earendil-works/pi-coding-agent":"^0.84.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@getpipher/armory-gateway":"file:../armory-gateway"},"_npmOperationalInternal":{"tmp":"tmp/armory-fleet_1.3.0_1788573311218_0.4210701488635591","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@getpipher/armory-fleet","version":"1.4.0","private":false,"description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","license":"MIT","type":"module","author":{"name":"RECTOR","url":"https://github.com/rz1989s"},"keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"repository":{"type":"git","url":"git+https://github.com/getpipher/armory-fleet.git"},"homepage":"https://github.com/getpipher/armory-fleet#readme","bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"exports":{".":"./src/index.ts"},"pi":{"extensions":["./src/index.ts"]},"dependencies":{"@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@getpipher/armory-memory":"^0.1.1","@getpipher/armory-todo":"^0.5.4","@getpipher/vision":"^0.5.3","typebox":"^1.1.38","yaml":"^2.5.0"},"devDependencies":{"@getpipher/armory-gateway":"file:../armory-gateway","@types/node":"^22.0.0","tsx":"^4.19.0","typescript":"^5.6.0"},"scripts":{"typecheck":"tsc --noEmit","test:run":"node --import tsx --test --test-timeout=30000 test/*.test.mts"},"_id":"@getpipher/armory-fleet@1.4.0","_integrity":"sha512-cKSxEjRTGsow561cT+rrz/48IqglSNQcyJ2mQx4nQqEGITnyDVNF7wCZFoyun49DvSmJLDvR3GfkhUWKdXVHNQ==","_resolved":"/tmp/1764cb6270130e104fa33b1aa275f642/getpipher-armory-fleet-1.4.0.tgz","_from":"file:getpipher-armory-fleet-1.4.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-cKSxEjRTGsow561cT+rrz/48IqglSNQcyJ2mQx4nQqEGITnyDVNF7wCZFoyun49DvSmJLDvR3GfkhUWKdXVHNQ==","shasum":"5e814d2ef313c14afb410dab8e0515b2cb2d4a55","tarball":"https://registry.npmjs.org/@getpipher/armory-fleet/-/armory-fleet-1.4.0.tgz","fileCount":131,"unpackedSize":628946,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC4ZnkSaN8lOt+TpPlD/pFRmWAaRf0JLqD2dohle+lqpAIhAOoWqeo81E1Q+oK8OdIudraWAMMeqn1Wb9vfdcfiSX+O"}]},"_npmUser":{"name":"rz1989","email":"rector@rectorspace.com"},"directories":{},"maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/armory-fleet_1.4.0_1788660426973_0.4954169438023712"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-24T07:15:47.945Z","modified":"2026-09-06T02:07:07.360Z","0.2.0":"2026-07-24T07:15:48.183Z","0.3.0":"2026-07-24T08:16:35.252Z","0.4.0":"2026-07-24T15:22:29.709Z","0.5.0":"2026-07-24T23:52:18.926Z","0.5.1":"2026-07-24T23:57:01.692Z","0.5.2":"2026-07-25T00:24:24.082Z","0.6.0":"2026-07-26T01:16:54.699Z","0.7.0":"2026-07-26T02:22:52.169Z","0.8.0":"2026-07-27T02:38:32.166Z","0.9.0":"2026-07-27T03:17:21.942Z","0.9.1":"2026-07-27T03:24:56.276Z","0.9.2":"2026-07-27T03:44:08.180Z","0.9.3":"2026-07-27T06:44:21.124Z","0.9.4":"2026-07-27T06:51:37.728Z","0.10.0":"2026-07-28T02:52:42.437Z","0.10.1":"2026-07-28T02:59:50.251Z","0.10.2":"2026-07-28T03:26:46.136Z","0.10.3":"2026-07-28T09:12:32.399Z","0.11.0":"2026-07-28T09:15:15.158Z","0.11.1":"2026-07-28T16:24:10.847Z","0.12.0":"2026-08-03T22:49:20.813Z","0.12.1":"2026-08-04T22:26:38.716Z","0.12.2":"2026-08-06T00:04:10.942Z","0.12.3":"2026-08-06T00:25:50.186Z","0.12.4":"2026-08-06T00:57:47.241Z","0.12.5":"2026-08-06T02:15:17.191Z","0.13.0":"2026-08-29T03:50:20.186Z","0.14.0":"2026-08-29T05:06:24.778Z","0.15.0":"2026-08-29T14:10:41.883Z","0.16.0":"2026-08-29T14:37:04.673Z","1.0.0":"2026-08-30T00:13:22.822Z","1.1.0":"2026-08-30T07:55:34.844Z","1.1.1":"2026-08-30T08:46:02.328Z","1.2.0":"2026-09-02T03:02:20.216Z","1.3.0":"2026-09-05T01:55:11.361Z","1.4.0":"2026-09-06T02:07:07.220Z"},"bugs":{"url":"https://github.com/getpipher/armory-fleet/issues"},"author":{"name":"RECTOR","url":"https://github.com/rz1989s"},"license":"MIT","homepage":"https://github.com/getpipher/armory-fleet#readme","keywords":["pi-package","pi-extension","pi","pi-coding-agent","subagents","ai-agents","multi-agent","orchestration","agent-orchestration","claude-code","superpowers","armory","cross-harness"],"repository":{"type":"git","url":"git+https://github.com/getpipher/armory-fleet.git"},"description":"The armory suite's subagent orchestrator for the pi coding agent — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.","maintainers":[{"name":"rz1989","email":"rector@rectorspace.com"}],"readme":"<div align=\"center\">\n\n<img src=\"assets/armory-fleet-logo.png\" alt=\"@getpipher/armory-fleet\" width=\"220\" height=\"220\" />\n\n# @getpipher/armory-fleet\n\n**The armory suite's subagent orchestrator for the [pi coding agent](https://github.com/earendil-works/pi-coding-agent) — a cross-harness, superpowers-native fleet where every agent is armory-native from birth.**\n\n[![npm version](https://img.shields.io/npm/v/@getpipher/armory-fleet?color=cb3837&logo=npm&label=npm)](https://www.npmjs.com/package/@getpipher/armory-fleet)\n[![npm downloads](https://img.shields.io/npm/dm/@getpipher/armory-fleet?color=cb3837&logo=npm)](https://www.npmjs.com/package/@getpipher/armory-fleet)\n[![pi compatibility](https://img.shields.io/badge/pi-%5E0.81.1-6f42c1?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHRleHQgeD0iNCIgeT0iMTgiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9IiNmZmYiPuKCrTwvdGV4dD48L3N2Zz4=)](https://github.com/earendil-works/pi-coding-agent)\n[![license](https://img.shields.io/github/license/getpipher/armory-fleet?color=blue)](./LICENSE)\n[![tests](https://img.shields.io/badge/tests-593%20passing-21c463?logo=jest)](#testing)\n[![release](https://img.shields.io/github/v/release/getpipher/armory-fleet?color=success&label=latest%20release)](https://github.com/getpipher/armory-fleet/releases)\n[![platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20WSL-lightgrey)](#compatibility)\n\n[Why](#why) · [Features](#features-at-a-glance) · [Quick start](#quick-start) · [Architecture](#architecture) · [The fleet panel](#the-fleet-panel) · [Workflows-as-code](#workflows-as-code) · [Cost-aware tiers](#cost-aware-tiers) · [Roadmap](#roadmap) · [Ecosystem](#ecosystem)\n\n</div>\n\n---\n\n## Why\n\nThe pi-subagent ecosystem is crowded — `nicobailon/pi-subagents` (2688⭐), `tintinweb/pi-subagents` (702⭐), `QuintinShaw/pi-dynamic-workflows` (287⭐), `kky42/pi-flow` (66⭐), `teelicht/pi-superagents` (54⭐). Three structural gaps remain open, and `armory-fleet` owns all three — then reaches parity on the rest to be the best pi-subagent package in the ecosystem.\n\n| Gap | Status quo | armory-fleet |\n|---|---|---|\n| **Armory-native integration** | No external package can integrate with the armory suite; they don't own it. | Agents that sync to [armory-todo](https://github.com/getpipher/armory-todo), hydrate from [armory-memory](https://github.com/getpipher/armory-memory), see via [vision](https://github.com/getpipher/vision), and edit via [cursor](https://github.com/getpipher/cursor) **by default** — uncopyable. |\n| **Cross-harness peers** | Only one early attempt runs Claude Code + Pi as peer backends, foreground-only. | First-class dual-arsenal topology — pi and Claude Code spawn as sibling backends from one fleet. |\n| **Superpowers-native lifecycle** | Only one attempt wraps the superpowers skill pipeline, synchronous-only. | The full superpowers lifecycle (brainstorm → plan → implement → review → finish) with checkpoints, quality gates, and lifecycle hooks baked in. |\n\nBeyond those: a fleet TUI, cron/interval scheduling, git worktree isolation, cost accounting, quality gates, workflows-as-code, and a journaled event-bus — all in one package.\n\n> **Vision, spine, and the 7-SPEC roadmap** live in [`PRD.md`](./PRD.md). The landscape deep-read (11+ packages mapped, 5 contenders deep-read) is in [`research/`](./research).\n\n---\n\n## Features at a glance\n\n| Capability | What you get |\n|---|---|\n| 🧬 **Armory-native agents** | Every child syncs to `armory-todo`, hydrates from `armory-memory`, sees via `vision`, edits via `cursor` — by default, from birth. No bolt-on. |\n| 🏛️ **Cross-harness backends** | Spawn pi **and** Claude Code sessions as peer backends from one fleet. Auto-detect Claude; hook-parity keeps both on equal footing. |\n| 🦸 **Superpowers lifecycle** | `brainstorm → plan → implement → review → finish`, checkpoint-driven, skill-loaded per phase. `/fleet-implement <task>` runs the whole pipeline. |\n| 🎚️ **Cost-aware tiers** | `economy` / `standard` / `frontier` model tiers with cost caps + context floors. Route cheap work to cheap models, escalate when it matters. Live cost $ + context % per run. |\n| 🚦 **Quality gates** | `verification-before-completion`, `completeness-check`, `gate`, `verify` — built-in. Register your own. Composite helpers: `judgePanel`, `loopUntilDry`, `retry`. |\n| 🧩 **Workflows-as-code** | Author multi-phase workflows in a JS DSL with `agent()`, `pipeline()`, `phase()`, `checkpoint()`. 5 builtins ship: adversarial-review, code-review, codebase-audit, deep-research, multi-perspective. Journaled + resumable. |\n| 🖥️ **Fleet TUI** | `/fleet` opens an interactive panel: Runs, Tiers, Lifecycle, Workflows, Conversation viewer. Live widget, mid-run Steer/Stop, edit-resume, save-as. |\n| ⏱️ **Scheduling** | Cron expressions, intervals, one-shot ISO datetimes. PID-locked scheduler, session-scoped (no catch-up). Background runs on isolated git worktrees. |\n| 🔒 **Worktree isolation** | Background runs get isolated git worktrees (in-place fallback for non-git cwds). Foreground runs share the session cwd. |\n| 📒 **RunLog + journaling** | Every run is journaled; interrupted workflows recover on restart. A results inbox lets the model pull completed background runs. |\n| 🔄 **Edit-and-resume** | Re-run a workflow by replaying the unchanged prefix and re-running only the edited suffix. |\n| 📡 **Vision built-in** | `describe_image` tool is wired into child sessions — agents can see screenshots and diagrams without leaving the fleet. |\n\n---\n\n## Quick start\n\n### Install\n\narmory-fleet is a [pi extension](https://pi-coding-agent.dev/docs/extensions) — it loads inside pi, no build step.\n\n```bash\n# 1. Add to your pi packages (~/local-dev/arsenal or your package dir)\npnpm add @getpipher/armory-fleet\n\n# 2. Register in ~/.pi/agent/settings.json\n```\n\n```jsonc\n// ~/.pi/agent/settings.json\n{\n  \"packages\": [\n    \"@getpipher/armory-fleet@0.12.0\"\n    // + its armory siblings: armory-todo, armory-memory, vision, cursor\n  ]\n}\n```\n\n```bash\n# 3. Reload pi (/reload) and open the panel\npi\n# inside pi → /fleet\n```\n\n### Your first subagent (model-callable tool)\n\nThe `subagent` tool is what the model calls to delegate a focused task. Every child is armory-native by default.\n\n```ts\n// the agent calls this — not you\nsubagent({\n  agent: \"general-purpose\",\n  task: \"Audit src/auth/ for token-handling bugs; report findings.\",\n  // optional: model, lifecycle, todoId, background, isolation, schedule, maxTurns\n});\n```\n\n| Param | Effect |\n|---|---|\n| `agent` | Agent definition to spawn (from `agents/` or discovered). |\n| `task` | The prompt handed to the child. |\n| `model` | Override the session model. **Tip:** omit to inherit the session model, or use `Ollama/...` when the session is on Ollama — don't cross providers. |\n| `lifecycle` | Run the task through a superpowers lifecycle (e.g. `default`) instead of a single delegate. |\n| `todoId` | Link the run to an existing armory-todo entry. |\n| `track` | Default `true` (syncs to armory-todo). Pass `false` only for throwaway lookups. |\n| `background` | Fire without awaiting — run goes to the async pool on an isolated git worktree. |\n| `isolation` | `worktree` (default for bg in a git repo) · `none` (in-place) · `auto`. |\n| `schedule` | Cron (`0 9 * * 1-5`), interval (`30m`), or one-shot ISO datetime. Session-scoped, no catch-up. |\n| `maxTurns` | Per-run turn budget (default 20). Raise for complex multi-step tasks. |\n\n### Your first workflow\n\nWorkflows are plain JS files evaluated in a sandboxed vm realm. The orchestration primitives — `agent`, `parallel`, `pipeline`, `phase`, `gate`, `judgePanel`, `loopUntilDry`, `retry`, `checkpoint`, `verify`, `workflow`, `log` — are **injected globals** (no imports). The only thing you `export` is `meta`.\n\n```js\n// ship-feature.js — drop into a workflows/ dir discovered by WorkflowRegistry\nexport const meta = {\n  name: 'ship-feature',\n  description: 'Plan → implement → 3 parallel review angles with a gate',\n  phases: [{ title: 'Plan' }, { title: 'Implement' }, { title: 'Review' }],\n}\n\nphase('Plan')\nconst plan = await agent('Plan this feature: ' + args.task, { tier: 'economy' })\n\nphase('Implement')\nconst impl = await agent(`Implement the plan:\\n${plan}`, { tier: 'standard' })\n\nphase('Review')\nconst angles = ['security', 'performance', 'correctness']\nconst reviews = await parallel(\n  angles.map((a) => () => agent(`Review the implementation for ${a} issues.`, { tier: 'economy' })),\n)\n\n// gate: revise the synthesis until it passes a validator\nconst synthesis = await gate(\n  async (_feedback, n) => n === 0\n    ? agent(`Synthesize ${reviews.length} reviews.`, { tier: 'economy' })\n    : agent('Revise synthesis per feedback.', { tier: 'economy' }),\n  (v) => typeof v === 'string' && v.length > 200 ? { ok: true } : { ok: false, feedback: 'more detail' },\n  { attempts: 3 },\n)\n\nreturn { plan, impl, reviews, synthesis }\n```\n\nOpen `/fleet → Workflows`, pick `ship-feature`, run it. The panel shows live phase progress; mid-run you can Steer (inject a message) or Stop. The realm also exposes `args`, `cwd`, and a `budget` object (`{ total, spent(), remaining() }`) so workflows can self-limit.\n\n### Your first lifecycle run\n\n```text\n/fleet-implement Refactor the auth module to use the new session API --auto\n```\n\nRuns `brainstorm → plan → implement → review → finish` autonomously. Drop `--auto` for checkpointed mode (pauses at each checkpoint; continue/revise/abort from `/fleet → Lifecycle`).\n\n---\n\n## Architecture\n\n```\n                        ┌─────────────────────────────────────────────┐\n                        │              pi host session                 │\n                        │   (loads @getpipher/armory-fleet extension)  │\n                        └───────────────────────┬─────────────────────┘\n                                                │\n        ┌───────────────────────────────────────┼───────────────────────────────────────┐\n        ▼                                       ▼                                       ▼\n  subagent tool                          fleet tool                           /fleet panel\n  (model-callable)                  (workflow runner)                    (FleetView TUI)\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\n  createAgentSession()                WorkflowController                  Runs · Tiers · Lifecycle\n  (pi SDK child)                      + ConcurrencyPool                   Workflows · Conversation\n        │                             + adapters                            + live widget\n        ├─→ armory-todo sync          + journal/resume\n        ├─→ armory-memory hydrate           │\n        ├─→ vision (describe_image)         ▼\n        ├─→ lifecycle + gates          backend registry\n        └─→ tier routing               (pi | Claude Code)\n```\n\n### Core engine\n\n- **Engine primitive:** `createAgentSession()` from the pi SDK — child Pi sessions, in-memory or file-backed `SessionManager`, `ResourceLoader`. Each child is wrapped to emit `session_init` on subscribe so the fleet can track it from the first event.\n- **Child loader:** `buildChildLoader()` threads armory-todo, armory-memory, and vision into every child's resource + tool set — armory-native from birth, cwd-agnostic.\n- **Concurrency:** a single-slot lock for foreground runs + a `ConcurrencyPool` for parallel workflow branches.\n- **Turn budget:** `engine/turn-budget.ts` caps each child's run; the `subagent` tool surfaces exhaustion as a structured status (not a silent truncation).\n\n### Armory integration (the uncopyable layer)\n\n| Sibling | What the fleet wires in | Where |\n|---|---|---|\n| [armory-todo](https://github.com/getpipher/armory-todo) | Every run syncs to the cross-session TODO store. Pass `todoId` to link. | `src/todo-sync/` |\n| [armory-memory](https://github.com/getpipher/armory-memory) | Children hydrate project memory on spawn. Shared port, cwd-agnostic. | `src/memory-hydrate/` |\n| [vision](https://github.com/getpipher/vision) | `describe_image` tool is wired into child sessions. | `src/vision/` |\n| [cursor](https://github.com/getpipher/cursor) | Children edit through the cursor extension when present. | (via child loader) |\n\n### Cross-harness backends\n\n`src/backend/` ships a backend registry with **pi** (default) and **Claude Code** as peer backends. `detectClaude()` auto-discovers Claude; `PI_HOOK_PARITY` / `CLAUDE_HOOK_PARITY` tables keep both backends on equal footing. `hook-parity.ts` normalizes lifecycle/event hooks across harnesses. A `ResumeStore` persists backend session IDs so cross-harness runs can resume.\n\n### Superpowers lifecycle\n\nThe default lifecycle (`src/lifecycle/default.ts`) is the superpowers-native 5-phase pipeline:\n\n| Phase | Skills loaded | Checkpoint? | Gates |\n|---|---|---|---|\n| `brainstorm` | `brainstorming` | ✅ | — |\n| `plan` | `writing-plans` | ✅ | `completenessCheck` |\n| `implement` | `executing-plans`, `test-driven-development`, `verification-before-completion` | ❌ | `verification-before-completion`, `completenessCheck`, `gate` |\n| `review` | `requesting-code-review`, `receiving-code-review` | ✅ | — |\n| `finish` | `finishing-a-development-branch` | — | — |\n\nCustom lifecycles: drop a YAML file in your `lifecycles/` dir, register via `discoverLifecycles()`. Gates are registered on a `GateRegistry` (`fleet-register-gate` command for runtime extensibility).\n\n### Quality gates\n\nBuilt-in (`src/lifecycle/gates/`): `verification-before-completion`, `completeness-check`, `gate`, `verify`.\n\nComposite helpers (`src/workflows/helpers/`) — usable from any workflow:\n\n| Helper | What it does |\n|---|---|\n| `judgePanel` | Run N judge agents; majority/weighted verdict. |\n| `loopUntilDry` | Re-run an agent until a dry-run gate passes. |\n| `retry` | Retry an agent with backoff on failure. |\n| `checkpoint` | Pause a workflow for human review. |\n| `completeness-check` / `gate` / `verify` | Gate wrappers for workflow use. |\n\n### Cost-aware tiers\n\n`src/tiers/` ships three built-in tiers:\n\n| Tier | Models | Cost cap | Context floor |\n|---|---|---|---|\n| `economy` | `inherit` | — | — |\n| `standard` | `inherit` | — | — |\n| `frontier` | `inherit` | — | 200k ctx |\n\nThe shipped defaults use the **`inherit` sentinel** — each tier resolves to your **active session model**, so tier routing works on any provider out of the box. To route across models, override a tier by name with a concrete `provider/id` chain in `~/.pi/agent/fleet/tiers.json` (global) or `<project>/.pi/fleet/tiers.json` (project):\n\n```json\n[\n  { \"name\": \"economy\",  \"models\": [\"Ollama/minimax-m3:cloud\"] },\n  { \"name\": \"standard\", \"models\": [\"Ollama/glm-5.2:cloud\", \"inherit\"] },\n  { \"name\": \"frontier\", \"models\": [\"anthropic/claude-sonnet-4\"], \"costCap\": 5, \"contextFloor\": 200000 }\n]\n```\n\nModels are an ordered fallback chain (primary first; a spawn retries the next candidate if model creation is rejected); the `inherit` sentinel (case-insensitive) may appear anywhere in the chain as a provider-agnostic fallback and always resolves to the session model without catalog or floor checks. `contextFloor` skips catalog models below the window size; `costCap` aborts a run whose live cost exceeds the cap (a no-op on flat subscriptions). Tier routing applies to pi-backend agents — `backend: \"claude\"` agents receive the resolved string via `--model` and the claude CLI expects its own model names, so route those by `model:` instead.\n\nLive cost $ and context % are tracked per run and surfaced in the Tiers view. Override per-run with `model`, or let the tier registry route based on the task class.\n\n### Fleet settings (v1.1.0)\n\n`~/.pi/agent/fleet/settings.json` (global) and `<project>/.pi/fleet/settings.json` (project — wins per-field) hold fleet-wide defaults that aren't env-shaped. Currently one field:\n\n```json\n{\n  \"defaultSubagentThinking\": \"high\"\n}\n```\n\n`defaultSubagentThinking` (#78) sets the thinking level for **every subagent whose frontmatter does not pin `thinkingLevel`** — so a controller can think at `max` while the fleet runs at `high`, without replacing builtin agents (agent-frontmatter overrides still win; per-dispatch overrides are not exposed yet). Valid values: `off | minimal | low | medium | high | xhigh | max`. On flat subscriptions (z.ai/GLM coding plans, Ollama) this is the quota lever — thinking tokens on every cheap subagent call are pure waste.\n\nInvalid values and unknown keys produce a startup warning naming the file, the field, and the bad value — never a silent no-op. Absent files are normal.\n\nAgent frontmatter `thinkingLevel` is validated with the same strictness (#90): an invalid value (typo'd level, wrong type) fails that agent's load with an actionable warning naming the file, the bad value, and the valid levels (`off | minimal | low | medium | high | xhigh | max`) — never a silent no-op. A YAML-empty value (`thinkingLevel:` with nothing after it) counts as absent.\n\n### Operational runtime\n\n`src/runtime/` — the async/scheduling spine:\n\n- `async-runner.ts` — background dispatch (fire-and-forget).\n- `run-journal.ts` + `run-log.ts` — durable run records; `reconcile.ts` reattaches orphaned runs on restart.\n- `concurrency-pool.ts` — bounded parallel branches.\n- `results-inbox.ts` — the model pulls completed background runs via the `fleet_results` tool.\n- `resume.ts` — scan for resumable runs + workflows.\n\n### Scheduling + worktree\n\n`src/scheduling/` — cron expressions (`expressions.ts`), a `Scheduler` with PID-locking (`pid-lock.ts`), session-scoped (no catch-up). `src/worktree/` — `WorktreeService` for isolated bg-run worktrees + `DiffService` for reviewable diffs.\n\n---\n\n## The fleet panel\n\n`/fleet` opens an interactive TUI panel (TUI-only; in non-interactive modes use the `subagent` tool).\n\n| View | What it shows |\n|---|---|\n| **Runs** | Running + recent subagents; status, cost, context %, agent, model. Action submenu: Steer, Stop, View conversation. |\n| **Tiers** | Per-tier model lists, cost caps, context floors. Configure routing. |\n| **Lifecycle** | Active lifecycle runs; Continue/Revise/Abort at checkpoints. |\n| **Workflows** | Registered workflows + live runs. Run, edit-resume, save-as, view result, checkpoint. |\n| **Conversation** | The full message timeline for any selected run. |\n\nA live `FleetWidget` can render in the pi footer/overlay for at-a-glance fleet status while you work.\n\n### Slash commands\n\n| Command | Purpose |\n|---|---|\n| `/fleet` | Open the interactive fleet panel (TUI). |\n| `/fleet-implement <task> [--lifecycle <name>] [--auto]` | Run a task through the superpowers lifecycle. |\n| `/fleet-register-gate` | Register a custom gate on the fleet gate registry (extensibility). |\n\n### Model-callable tools\n\n| Tool | Purpose |\n|---|---|\n| `subagent` | Delegate a focused task to a child agent (sync foreground or async background). |\n| `fleet` | Run + control fleet workflows (JS orchestration: `agent`, `pipeline`, `phase`, checkpoints). |\n| `fleet_results` | Pull completed background run results from the inbox. |\n\n---\n\n## Workflows-as-code\n\nWorkflows are authored in a JS DSL (`src/workflows/source.ts` parses; `vm-realm.ts` evaluates). 5 builtins ship in `src/workflows/builtin/`:\n\n| Workflow | Description | Phases |\n|---|---|---|\n| `adversarial-review` | Red-team + blue-team review with judge panel | Attack → Defend → Judge |\n| `code-review` | 7 parallel review angles plus verification | Review → Verify |\n| `codebase-audit` | File-tree scan with completeness check | Scan → Audit |\n| `deep-research` | 3-round discovery loop with de-duplication | Discover → Synthesize |\n| `multi-perspective` | 4 personas review the same artifact | Review → Merge |\n\nEvery workflow run is **journaled** (`workflows/journal.ts`) and **resumable**. `edit-resume` replays the unchanged prefix from cache and re-runs only the edited suffix. `runtime/controller.ts` orchestrates; `runtime/pause-gate.ts` handles checkpoints; `runtime/adapters.ts` binds the controller to the fleet's spawn + accounting.\n\n**Full JS DSL API reference:** [`docs/workflows.md`](./docs/workflows.md) — `export const meta`, `agent()`/`parallel()`/`pipeline()`/`phase()`, the 7 helpers, the script context, worked examples, and the error surface.\n\n---\n\n## Migration (v0.13.0 — SPEC-6-5 cwd isolation)\n\n- **`cwd` param on the `subagent` tool** (default = the session cwd, backward-compat). Pass it to scope a child's working dir + context (AGENTS.md cascade, skills, memory) to a dispatch target outside the session cwd — the #20 confabulation fix. Cross-cwd dispatches surface a `↗<basename>` glyph in the fleet widget + a spawn-time notify.\n- **`userMemory` default flip:** the global cross-project user memory scope (`/__armory-fleet-user__`) is no longer hydrated by default. If you populated that dir + relied on it, add `userMemory: true` to the agent frontmatter (only meaningful with `memoryHydrate: true`). TS consumers constructing `AgentDef` literals must now include `userMemory: boolean` (required field; use `false` for the old default behavior).\n- **Lifecycle `cwd` field:** lifecycles accept an optional `cwd` frontmatter field to pin a target repo; absent → the entry-point cwd (the panel's chosen cwd, or the dispatching `subagent` tool's cwd/session cwd). When present, it overrides the entry-point cwd for all phases.\n- **Panel Run-action:** a 3rd `cwd` input step (task → name → cwd), prefilled with the session cwd; Enter accepts, Escape cancels.\n- **bg/scheduled + worktree cwd-isolation (#62):** the `cwd` param now scopes background and scheduled runs too — in-place bg runs pass it as the lifecycle entry cwd, and `isolation: 'worktree'`/`'auto'` resolve isolation (and create the worktree) against the **dispatch cwd's** repo, not the session's. Cross-cwd bg worktrees land in `<child-cwd>/.pi/fleet/worktrees/`.\n\n## Event bus + RPC (v1.0)\n\narmory-fleet publishes every run on pi's cross-extension event bus and answers an RPC verb\nset — so your own extensions can spawn, steer, observe, and abort subagents programmatically.\n\n### Event stream (broadcast, `pi.events`)\n\nTwo tiers, every event enveloped as `{ runId, seq, ts, ...payload }` (`seq` = per-run\nmonotonic, one space per source store):\n\n| Channel | Payload |\n|---|---|\n| `fleet:run:started` | `{ agent, model?, cwd?, sessionCwd?, mode: foreground\\|background\\|scheduled\\|workflow, task }` |\n| `fleet:phase:started` / `completed` / `failed` | `{ phase, … }` (lifecycle runs) |\n| `fleet:run:ended` | `{ status: completed\\|failed\\|aborted, result?, error?, filesTouched?, toolCallCount?, durationMs? }` |\n| `fleet:child:message` | `{ role, text }` (journal excerpts) |\n| `fleet:child:tool` | `{ toolName, args, result, isError }` (one per completed tool call) |\n\n### RPC (`fleet:rpc` → `fleet:rpc:result`)\n\nEmit `{ id, verb, params }`, get exactly one reply `{ id, ok, data }` or\n`{ id, ok: false, error: { code, message } }`. Verbs: `spawn` (returns `{ runId }`\nimmediately; result arrives via `fleet:run:ended`), `schedule` (#83 — returns\n`{ scheduleId, nextFire }`; schedules run lifecycles, not single delegates), `status`,\n`observe` (replay dump — subscribe to the broadcast channels + dedupe by\n`(channel, runId, seq)` for the live tail), `steer`, `abort`.\n\n`spawn` params: `agent`, `task`, `background?`, `lifecycle?` (named lifecycle — with\n`background: true` routes through the bg runner; without it runs as a detached\nforeground-semantics lifecycle), `modelFallback?` (per-request retry-once on a retryable\nprovider failure — the retry mints a fresh runId and relinks the primary's todo), `cwd?`,\n`isolation?`, `maxTurns?`, `model?`, `skills?`, `readOnly?`, `track?`, `todoId?`.\n\n`schedule` params: `task`, `expression` (cron or interval), `lifecycle?`, `auto?`,\n`isolation?`, `cwd?` — no `agent`: the scheduler runs lifecycles only. Registration emits\nno run events; on fire, the normal `fleet:*` stream flows with `mode: \"scheduled\"`.\n\nError codes: `E-CONTROL-DISABLED`, `E-RUN-NOT-FOUND`, `E-RUN-FINISHED`, `E-BAD-VERB`,\n`E-BAD-PARAMS`, `E-STEER-UNSUPPORTED`, `E-INTERNAL`.\n\n### Client helper (~15 lines)\n\n```ts\ntype FleetReply = { id: string; ok: true; data: any } | { id: string; ok: false; error: { code: string; message: string } };\nlet n = 0;\nexport function fleetRpc(pi: { events: { emit(c: string, d: unknown): void; on(c: string, h: (d: unknown) => void): () => void } }) {\n  return <T = any>(verb: string, params?: Record<string, unknown>): Promise<T> => {\n    const id = `fleet-${Date.now().toString(36)}-${++n}`;\n    return new Promise<T>((resolve, reject) => {\n      const unsub = pi.events.on(\"fleet:rpc:result\", (raw) => {\n        const r = raw as FleetReply;\n        if (r.id !== id) return;\n        unsub();\n        r.ok ? resolve(r.data as T) : reject(new Error(`${r.error.code}: ${r.error.message}`));\n      });\n      pi.events.emit(\"fleet:rpc\", { id, verb, params });\n    });\n  };\n}\n// const rpc = fleetRpc(pi); const { runId } = await rpc(\"spawn\", { agent: \"scout\", task: \"look\" });\n```\n\n### Control gate\n\n`spawn`/`steer`/`abort`/`schedule` are on by default. Set `ARMORY_FLEET_RPC_CONTROL=0` (or `false`) to\nreject them with `E-CONTROL-DISABLED`; read-only `observe`/`status` stay available. Honest\nthreat model: in-process extensions already have full system access through pi itself — the\nswitch guards accidents, not adversaries.\n\n### Live conversation viewer\n\n`/fleet` → Runs → open a **running** run: the timeline overlay streams the child's\nconversation as it happens (tail-follows; scroll up to read, back to the bottom to re-pin).\nFinished runs replay from the journal exactly as before.\n\n\n\nThe #62 tail of SPEC-6-5: `subagent({ cwd })` now scopes **background and scheduled** runs too, not just foreground —\n\n- **bg/scheduled cwd** — in-place bg runs pass the dispatch cwd as the lifecycle entry cwd (full context scoping: cascade, skills, memory); schedules persist the pinned cwd and honor it on every fire.\n- **Per-dispatch worktrees** — `isolation: 'worktree'` / `'auto'` resolve against the **dispatch cwd's repo**, not the session's; cross-cwd worktrees land in `<child-cwd>/.pi/fleet/worktrees/` and are cleaned up via the same service.\n- **bg lifecycle parity** — the bg adapter now honors the lifecycle cwd chain (`lifecycle.cwd` → dispatch `cwd`), which also fixes a pre-existing mismatch where bg isolated runs spawned phases in the session cwd but committed in the worktree.\n\n## RPC parity + fleet settings (v1.1.0)\n\nPost-v1.0 batch (issues #78/#83):\n\n- **`fleet.defaultSubagentThinking` (#78)** — a fleet-dir settings home (`~/.pi/agent/fleet/settings.json` global, `<project>/.pi/fleet/settings.json` project override) whose first field sets the thinking level for every subagent that doesn't pin its own — the quota lever for flat subscriptions. See [Fleet settings](#fleet-settings-v110).\n- **RPC spawn parity (#83)** — `spawn` gains `lifecycle` (bg routing, or a detached foreground-semantics lifecycle run) and `modelFallback` (per-request retry-once; the retry mints a fresh runId and relinks the primary's todo).\n- **New `schedule` verb (#83)** — `{ task, expression, lifecycle?, auto?, isolation?, cwd? }` → `{ scheduleId, nextFire }`. Schedules run lifecycles only, so `spawn`'s uniform `{ runId }` reply stays unbranched; the frozen surface needed zero renames and zero new error codes.\n\n## Provider-agnostic tiers (v0.15.0)\n\nSmall-backlog batch (issues #57/#63/#64/#65):\n\n- **Tier `inherit` sentinel (#64)** — builtin tiers no longer hardcode a provider: `economy`/`standard`/`frontier` now resolve to your **active session model** out of the box (frontier keeps its 200k context floor; the $5 cost cap moved to the override example — a no-op on flat subs). Override by name in `tiers.json` with concrete `provider/id` chains for real multi-model routing; `inherit` can appear mid-chain as a provider-agnostic fallback. See [Cost-aware tiers](#cost-aware-tiers).\n- **Self-correcting model errors (#57)** — dispatching with a model the runtime doesn't have now lists the session's available (authed) models in the error, so the orchestrating model can pick a valid one on the retry instead of guessing.\n- **Panel Escape semantics documented + dead code removed (#63)** — Escape always cancels the active panel flow; defaults are accepted via Enter-on-blank. (Also fixed: ctrl+c could trigger the never-documented \"escape accepts default\" callbacks.)\n- **README example tier names fixed (#65)** — the `ship-feature` example now uses real tier names (`economy`/`standard`).\n\n## MCP governance (armory-gateway integration)\n\nWhen [armory-gateway](https://github.com/getpipher/armory-gateway) is resolvable, fleet\nregisters an MCP governance provider at session start: every MCP call made through the\ngateway passes fleet's `mcpDeny` policy before it executes.\n\n`~/.pi/agent/fleet/settings.json` (global) and `<cwd>/.pi/fleet/settings.json` (project,\nwins per-field):\n\n```json\n{\n  \"mcpDeny\": [\n    \"github__delete_repo\",\n    \"internal-tools\"\n  ]\n}\n```\n\n- Entries: bare `server` (deny the whole server) or `server__tool` (deny one exact tool).\n- Invalid entries produce an actionable warning and are dropped; valid entries stay enforced.\n- Policy is re-read per call — edits take effect immediately.\n- Gateway absent (the default for public fleet installs)? Nothing changes: registration\n  is skipped silently and fleet behaves exactly as before. Check the gateway's `status`\n  output — `interceptors governance=✗` means standalone.\n- Deliberately deferred to later slices: per-call cost accounting, per-agent/per-run policy\n  scoping, and child-session MCP access (see `docs/SPEC-1b-2-fleet-governance-adapter.md` §15\n  for the rationale and revival conditions).\n\n## Dogfood reliability (v0.14.0)\n\nFour fixes from dogfooding the fleet on itself (issues #58–#61):\n\n- **`ARMORY_FLEET_MODEL_FALLBACK=auto`** — resolve the global fallback per session from the configured+available model snapshot: a different **provider** than the session model is preferred, else a different model id; unresolvable (single-model setup) stays off with a one-time warning. Non-`auto` env values are used verbatim; per-dispatch `modelFallback` still wins.\n- **No-fallback hint** — a retryable provider failure (stopReason `error`) with neither a per-dispatch `modelFallback` nor the global default surfaces `no modelFallback configured — pass modelFallback or set ARMORY_FLEET_MODEL_FALLBACK` so silent no-retry failures are visible.\n- **Masked primary errors fixed** — when a fallback retry also fails, the surfaced error now names **both** attempts (`primary '<model>' failed: …; fallback '<model>' failed: …`) instead of only the fallback's.\n- **Zero-tool-call flag (#61)** — a run that \"completes\" without a single executed tool call (the premature-return shape: narrate a plan, end) is prefixed with `[FLEET] zero-tool-call run — likely a premature return` in the tool result; `details.toolCallCount` exposes the count. Verify (git status/log) before trusting such a result.\n- **Richer run journal** — `run:ended` now carries `error` (failure reason), `filesTouched` (#49 parity in the durable journal — real SDK args are captured from `tool_execution_start`; the end event has none), and `toolCallCount`.\n\n## Model-quality drift signals (v1.2.0)\n\nCheap, additive signals for the output-quality drift observed on flat/cheap model tiers (issues #88/#89). Both are **flagging, not blocking** — findings were sound every time; the controller decides.\n\n- **Language-drift flag (#88)** — when a completed run's final report is majority CJK-family script (Han/Hiragana/Katakana/Hangul ≥ 30% of letters, min 40 letters), the tool result is prefixed with `[FLEET] language drift — final report is N% CJK-family script (#88)…` and `details.languageDrift`/`languageDriftRatio` are set. Observed: glm-5.3-flash drifted into Chinese in 4/7 dispatches, *even with an explicit English-only instruction in the prompt*. Quoted CJK content inside an English report stays clean; `run:ended` journals the flag for post-hoc diagnosis. Latin-script non-English (fr/de/…) is deliberately not detected (see the spec's non-goals).\n- **Reviewer cross-domain references (#89, guidance)** — reviewer subagents on cheap tiers sometimes fabricate plausible-sounding *process* references (briefs, roll-ups, sibling-repo fixes) while their verdicts and code findings remain verifiable. Rule for controllers: **treat any reviewer reference to an artifact outside the provided brief/report/diff as suspect — verify findings by git + file contents, never by report prose.** The fleet's structured result fields (`details.*`) and the journal are the trustworthy surface; the narrative tail is not.\n\n## Roadmap\n\narmory-fleet follows a PRD → SPEC-N (brainstorm → spec → plan → implementation) pipeline. **16/16 phases done through v0.12.0.**\n\n| SPEC | Headline | Status | Artifact |\n|---|---|---|---|\n| PRD | Master PRD | ✅ done | `PRD.md` |\n| RESEARCH | Landscape research (11+ packages, 5 deep-reads) | ✅ done | `research/` |\n| SPEC-1 | Core engine + armory-todo sync | ✅ done | PR #1 · `547319b` |\n| SPEC-2 | Deep armory integration (memory/vision/cursor) | ✅ done · @0.2.0 | PR #2 · `c6e727c` |\n| SPEC-3 | Cross-harness peers (pi + Claude Code) | ✅ done · @0.3.0 | PR #4 · `5bb75fb` |\n| SPEC-4 | Superpowers-native lifecycle | ✅ done · @0.4.0 | PR #5 · `67ff9b4` |\n| SPEC-5a | Operational runtime (async/scheduling/worktree) | ✅ done · @0.5.2 | PR #6 · `52e3477` |\n| SPEC-5b-1 | RunLog seam + Runs view | ✅ done · @0.6.0 | PR #7 · `54b1b10` |\n| SPEC-5b-2 | Live widget + FleetView + Q9 | ✅ done · @0.7.0 | PR #8 · `9266a7` |\n| SPEC-5b-3 | Conversation viewer + timeline fix | ✅ done · @0.8.0 | PR #9 · `adc0034` |\n| SPEC-5b-4 | Mid-run steering (Steer) + Stop | ✅ done · @0.9.1 | PR #10 + #11 + #12 |\n| SPEC-6-1 | Cost-aware tiers + cost $ + context % + Tiers view | ✅ done · @0.10.x | PR #15/#16/#17 |\n| SPEC-6-2 | Quality gates + lifecycle hooks | ✅ done · @0.11.0 | PR #18 · `cda5e2b` |\n| v0.11.1 | bg dispatch isolation split (non-git cwd fix) | ✅ done · @0.11.1 | PR #19 · `51956e0` |\n| **SPEC-6-3** | **Workflows-as-code (release-gate completion)** | ✅ done · @0.12.0 | PR #21 · `9986ad1` |\n| SPEC-6-4 | Event-bus RPC + live conversation viewer → v1.0 | 🚧 next | — |\n\nSee the [full release history](https://github.com/getpipher/armory-fleet/releases) and the [PRD](./PRD.md) §8 for the roadmap rationale.\n\n---\n\n## Ecosystem\n\narmory-fleet is the orchestrator in the [getpipher](https://github.com/getpipher) armory suite — the default substrate it runs agents on:\n\n| Package | Role |\n|---|---|\n| [armory-todo](https://github.com/getpipher/armory-todo) | Global cross-session TODO store (the fleet syncs every run to it). |\n| [armory-memory](https://github.com/getpipher/armory-memory) | Project memory hydration for child agents. |\n| [vision](https://github.com/getpipher/vision) | The `describe_image` tool, wired into fleet children. |\n| [cursor](https://github.com/getpipher/cursor) | Custom editor component for the pi TUI. |\n\n---\n\n## Conventions\n\n- **No build step** — extensions ship raw `.ts` via tsx at pi runtime. `pnpm typecheck` + `pnpm test:run` before release.\n- **Tests** — `node:test` via tsx in `test/*.test.mts`, importing from `../src/...`. 593 passing.\n- **Publish** — CI on `v*` tags using the getpipher `NPM_TOKEN` org secret (`release.yml` mirrors armory-todo: idempotent npm publish + GitHub Release).\n- **Interactive-first UX** — every capability lands as a `/fleet` panel tab/view + action submenu first, then the model-callable tool action.\n\n<a id=\"testing\"></a>\n### Verify locally\n\n```bash\npnpm install\npnpm typecheck\npnpm test:run --test-timeout=30000   # 593/593\n```\n\n### Release-gate smoke (mandatory before any release)\n\n```bash\npi --no-extensions -e ./src/index.ts --no-session --approve\n# inside: /fleet → Workflows → verify the 5 builtins render + a workflow runs end-to-end\n```\n\n---\n\n## Compatibility\n\n- pi `^0.81.1`\n- Node `>=22` (tsx runtime)\n- Platform: macOS, Linux, WSL\n\n## License\n\nMIT — see [LICENSE](./LICENSE). © RECTOR ([@rz1989s](https://github.com/rz1989s)).\n\n<div align=\"center\">\n\nBuilt with Ihsan · Maintained by [RECTOR](https://github.com/rz1989s) · [getpipher](https://github.com/getpipher)\n\n</div>\n## Presentation surface (unreleased — #104)\n\nThe redesign unifies the three fleet surfaces under one visual language: your pi theme's tokens only (`accent`/`text`/`muted`/`dim`/`warning`/`success`/`error`), a single glyph vocabulary (▶ ⏸ ✓ ✗ ⏳, braille spinners, box-drawing cards), and the `usage —` honesty rule (missing data renders `—`, never an estimate).\n\n**Glyph presets.** Set `ARMORY_FLEET_GLYPHS=ascii` for a fully glyph-free fallback (dumb terminals — `+---+` cards, `-` spinner, `|` footer separators), or `=nerd` for FontAwesome PUA icons (Nerd Font required). Default is `unicode`. Invalid values fall back to unicode with a one-time stderr warning.\n\n**Fleet-tab preview row.** With a running run highlighted in the `/fleet` Fleet tab, a line under the list mirrors the transcript card's state line exactly (same segments, unthemed); it blanks when nothing running is selected.\n\n**In-transcript run cards.** When a `subagent` dispatch fires, the tool row becomes a live card — spinner, agent, model, task, and a state line (last event · turn · elapsed · tok · ctx%) driven by the child run's events. On settle it collapses to one honest line:\n\n```\n╰─ ✓ reviewer · 4m12s · 598K tok · $0.30 · ✎3 · verdict: Ship\n```\n\n(Expand — the native tool-expand key — for the full envelope; failed runs show `✗ … · — · —` with the reason.)\n\n**Orchestration + findings entries.** While a burst of runs is live, a TUI-only entry (zero LLM tokens) shows the waiting-on tree, the fleet TODO projection, and the gate state; when the burst settles, a findings block records each run's outcome plus degradations (fallback used, zero-tool flag, language drift):\n\n```\n── findings ────────────────────────────────\n✓ reviewer     4m12s  598K tok  $0.30 — Ship\n✗ scheduler    —      —         —      worker exited without result (TODO reverted ⚠)\n```\n\n**Widget + panel.** The above-editor widget is now a colorized component (totals strip when >1 active; one status-token segment per run). The panel gains a totals header, status-colored rows, a state-machine footer (keys that matter now), and capability-aware actions (aborted runs offer re-run, not stop). All existing keybindings are unchanged.\n\nP2 (structure): t lineage tree (Runs+Fleet), real-width overlays, live scroll separator, unified run-card frame (#108).\n","readmeFilename":"README.md"}