{"_id":"@akalsey/sapience-goals","_rev":"20-4dd2968e3949bdecfb61674b59b7228d","name":"@akalsey/sapience-goals","dist-tags":{"latest":"0.4.16"},"versions":{"0.1.2":{"name":"@akalsey/sapience-goals","version":"0.1.2","_id":"@akalsey/sapience-goals@0.1.2","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"b51022e7ad0a36c96c99b0178425bb50284617c9","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.1.2.tgz","fileCount":11,"integrity":"sha512-XJZ9OboNnethVgfiZCA6wqXEn3O9FLIpVw0IUY4h1xd3PZ3UKD3iN6QIqs/muhSNcDaQD5WgFZ307vnQTXfHdw==","signatures":[{"sig":"MEYCIQC0pww1gRyfFsNgYn6EtobULp4AOxVk3pKLbHlQRHe9fAIhAPFCPAqNOiHEV2GTtED+6wIVpNuHJn/D1R9ZPySeXirP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22381},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"e69aa5226df47dbe33b331476ade8e20aca36f95","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.1.2_1779638523353_0.06274218877707605","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@akalsey/sapience-goals","version":"0.2.0","_id":"@akalsey/sapience-goals@0.2.0","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"97dfdd352ca41f6d2a7b1122ffc230de10578ef0","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.2.0.tgz","fileCount":12,"integrity":"sha512-jxBs37xqeHUe87NjzNqJaw16JAYIqNU95GI22legOASVkM2m+D1ARuKKsb0qvmw7KYWf1w5xWLyiUcdcib6RMw==","signatures":[{"sig":"MEQCICk+buP7hRI82b+tDQ9lWDKMgTIuFoST8mAmnlu1O4i2AiAy2oIPmppjmz+GHgP1DDY6UbvkYWs6M99hh1vYwQo0Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23866},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"3fdcdcf039e736bacac997650f41c70747b120de","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.2.0_1781063538156_0.8302738375174663","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@akalsey/sapience-goals","version":"0.2.1","_id":"@akalsey/sapience-goals@0.2.1","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"a6634112d4d94e3d27d6a304b26690eadd585fb8","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.2.1.tgz","fileCount":12,"integrity":"sha512-Zz09KdG8u3gqKDCC7c3zEMCnXYm4tZMefJFkLKhL8fm59tvnucPFnatDbuzdVm2tfNIzfEDs+VjhuFGPckTGwA==","signatures":[{"sig":"MEUCIQDlearoOsFo4OvULf7yt1nyriTEm6PwGTOEbMezYyhEoQIgVmVOC0OnfEOyDH1kTMJQ0WNNhtokfbkoNpM/RTxOL0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23945},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"3fdcdcf039e736bacac997650f41c70747b120de","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.2.1_1782363193516_0.9745708812550364","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@akalsey/sapience-goals","version":"0.2.3","_id":"@akalsey/sapience-goals@0.2.3","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"9ac33ad9e0c6ca078c7dab174002da1e41080898","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.2.3.tgz","fileCount":12,"integrity":"sha512-2h60UaONtrX0LHFdDwm9ZQC74n2VpIcpc6kmWzNVsJqHezPHuxR/xOY9tnuSzRsp7t1LBVK1SQra/WTsn7KKtQ==","signatures":[{"sig":"MEYCIQCTLb9HVg2CNvJZvQEwLdvP27OiAh25qb0fEADEXUOQbAIhANhQ2waBLurFhJdqgxUFoHzsD6S0gR04ICCgG41f5AP8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23955},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"a380449457dca9cf5993e9770b9f44f3629db217","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.2.3_1782529208499_0.11117318632370843","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@akalsey/sapience-goals","version":"0.2.4","_id":"@akalsey/sapience-goals@0.2.4","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"6da7a994f0e155ae233b9afd8a7fa2f0922a66cb","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.2.4.tgz","fileCount":13,"integrity":"sha512-1fLTlh5zuXUMgvHa1hVguSI2RDkMKDvTel/nxS6uaDcVwr8lwwk5FCYPod85YZlm85mGMMo/XXUEImspYsKc3w==","signatures":[{"sig":"MEUCIFo2nTxpWliSkQm5habkeWwcN0eelJxNLL0uzsbtRNl+AiEA5OPYvE8hJUoG7UtShY3A/laD8nbAjw0H54IekMR/c5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25370},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"0eced2643c72140ad95df391743884b90481b536","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.2.4_1782600167657_0.7916033637269233","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@akalsey/sapience-goals","version":"0.3.0","_id":"@akalsey/sapience-goals@0.3.0","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"44fc833ae98b008b5ff2a2c5a8c690db4c37d507","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.3.0.tgz","fileCount":17,"integrity":"sha512-tfyeTKLQLaMktkMgwI2UjyOT8L4HizJb+puL7+m9F5q9rkhQyYbkAM/PdNvnMl/pMhPTWPaTPM8nJk6Qc9seqQ==","signatures":[{"sig":"MEUCICCFDFgb43X7TR9hjnyMDZdBlaDnjrvtFXS1an7fJIzcAiEA5RcKsvduIgil6AGgVFS4Fir3qOsRImnZhwq86JdFzCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44057},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"5b2370974d9adb7f29010cbc9a27c2fd3f0ddfdf","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.3.0_1783294323814_0.6590192004899158","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@akalsey/sapience-goals","version":"0.4.0","_id":"@akalsey/sapience-goals@0.4.0","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"68f5037427201eb2dcd8cd9a997032eb1b5ee66b","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.0.tgz","fileCount":17,"integrity":"sha512-6iYk/Yct9HZQ8LYpvlGUkpNASkssOi3JRuW3mKdz+4Q+6sFn+AzKrtf2x0UDKgYhvlQ60JKiORrABp4bm0z77Q==","signatures":[{"sig":"MEUCIQCfYwzuYCuPUnSqX5XSJUaGoGrdsBZxzvGcYIAmnrTHfAIgWSdQyaTxmhnkAV/TuuDE3Z4rJ0xp1Ch/Gbgs0uPVR4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48099},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"f02178b78ced8e8f9bd78b1646f58498518b1c3d","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.0_1783302523996_0.6115407488602473","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@akalsey/sapience-goals","version":"0.4.1","_id":"@akalsey/sapience-goals@0.4.1","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"efacb15befaf1d3fee4621c1462bad727c58b9e8","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.1.tgz","fileCount":17,"integrity":"sha512-FadS3CwpfbtGnqDfaNER96iUKYrdswFMT+wKEivsfzFAxzqZLxcKgj2f+stsKc+oE2vWRlloschWMIq60zJD+w==","signatures":[{"sig":"MEYCIQDvP3wF9bcwsxP9YfqYc6aAEvi6+BuYmllN8A2sCgAdMwIhAKQ/PjK71YYY5C+kqiroxvOLXB/ZkMWmkflJvnontVG+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48261},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"6998334a2ba02401f0763a83470952b9cdfcdd76","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.1_1784095647737_0.2685793104761913","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@akalsey/sapience-goals","version":"0.4.2","_id":"@akalsey/sapience-goals@0.4.2","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"74a8cd040dc210a7ec9d0206ea2cd949ac26a745","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.2.tgz","fileCount":17,"integrity":"sha512-8ca+a9D8pkfYeNtei8rU1MaLS5BaMxtHYIT3ngrFcG6haVCys5oy1lL3EGjxWXyaIHdfxh4W8UIlJbe/lEdoZw==","signatures":[{"sig":"MEUCIQD4xA+Jj9cUZMKORz99b44gcrJeXl72ErarpJfEEU4IggIgEls0F3KXoksxlGBSCsNbWuzy9c4SN4j9rKYJExDFQUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49020},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"f8f111702b2e16cd1a5b46e9ce8dbdc832144416","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.2_1784097478623_0.7379935277545051","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@akalsey/sapience-goals","version":"0.4.3","_id":"@akalsey/sapience-goals@0.4.3","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"2e1f8ea176c22f4a8014d7b500a9d74b18b3009c","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.3.tgz","fileCount":17,"integrity":"sha512-PJNckn1LU6gs0LyIvgyYjpFu0nFiZTZeCtLODlqM0Y0V/VF9tTitXjXcmXglN0SySX8eYl75RgGMsQJTgYX76g==","signatures":[{"sig":"MEYCIQD+MneXYUuoCJjwPqP7TenzWgPp9uhLf0DCsT8HGK7+3AIhAKdVdKqvcEPDQwzHWWuNi/g+Uzg6qd2XzYFf7hgKr2/4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49000},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"18b5a740ed9b8b6764077a1807d57c8b1cccf981","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.3_1784334252418_0.6958577713832437","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@akalsey/sapience-goals","version":"0.4.4","_id":"@akalsey/sapience-goals@0.4.4","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"b4f115507c835fc5d7b4e26c7ec8b5106e66b845","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.4.tgz","fileCount":17,"integrity":"sha512-G2kaOib5Ubnuf9ZzeGHiP6IQQm6Hhm0+up9UkKSscSIf99XWd8umdK2Rjt81rJefNSZUugHGKssEHUVU/973zQ==","signatures":[{"sig":"MEUCIDUffZ4YS4jB4u6zHqw/tONkLnnPju5llxlEisDr1Lc6AiEA0P+jydVxZdPxliCanBtc4QzdocuhMYefU5DgZWfvt+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49000},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"eb297250731094244d51778cebc80f657edfd3e3","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.4_1784334592290_0.1793475256977941","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@akalsey/sapience-goals","version":"0.4.5","_id":"@akalsey/sapience-goals@0.4.5","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"cd9288d6d1ab655c3cd6cbed9a8e97f5aa9e6275","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.5.tgz","fileCount":17,"integrity":"sha512-F8j+zxF15UpSPRdX5WNIoczhpHj61L78TrqCyhvx/lxvVvrKjklgli6eL+sO681Cke0SHnxIw9OHKQRcCgTBUg==","signatures":[{"sig":"MEQCIEC6i2DZYVNcZLt3pMSwUiKjKL2ICU/jZcfyh0QCkHuuAiBJ6V3lZxREHiDP7HoxerJBk0+4knCQmwIEnhQNp37U9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52820},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"1a83d950a245deee35866e2bca88b57b5b474d6e","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.5_1784427030372_0.8156081284985812","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@akalsey/sapience-goals","version":"0.4.6","_id":"@akalsey/sapience-goals@0.4.6","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"05138dfa3d283c5969492e223d0d090aa388290b","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.6.tgz","fileCount":17,"integrity":"sha512-KIb268JL6INtUHLo9B2ozKY+pFzpnOLeTFPNlaFQ/kqaGATjeY/SpxuMFoJBqJK4l86w5U5BR1fIcQqR9H5gUA==","signatures":[{"sig":"MEYCIQCGSBAKAuvN851MjGh5cQo2uHVimzp1HPv0cMycRrRpaQIhAMVrxZRw61A42YsazEGZPdkOyJszG3iFTZ4yJa72ssXr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52941},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"f1d280ea9e75a9cd28835079a81a5f4f3ee05201","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.6_1784477516335_0.9128183411921187","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@akalsey/sapience-goals","version":"0.4.7","_id":"@akalsey/sapience-goals@0.4.7","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"df35b1c5e67c0b8275137b55ecc784f494907f18","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.7.tgz","fileCount":17,"integrity":"sha512-QRyBaiAtydtha0uyTrvcYyIepb3upADxWEPKoeUjCZxdUEiYsnamitCIHJQtPnY9dQvIlCBjLVCCEDguPeaNpw==","signatures":[{"sig":"MEYCIQDWL5use0BC2D277bbaSV9r1hhiIL1MDpHDycXa6vkctwIhALLtyTIX94Lu/5WPp4eQm/Emo7ThxCaymzFLLFN/Cl7v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53359},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"bf2ce5b169ecb7ef1a3b5ab4b84f202f1e4e747e","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.7_1784647600531_0.45636834153274797","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@akalsey/sapience-goals","version":"0.4.9","_id":"@akalsey/sapience-goals@0.4.9","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"dff52c57ca13172bcd1397f15c4093b6a819bfb8","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.9.tgz","fileCount":17,"integrity":"sha512-h+bwAa2L5AwbfoG0ZwpHKw59EdEJ7JXoya2Kkxmi5KxiRC/9DpHk3XqQCKYqQjSoAGhLOjmU+oUYjKQouzOceg==","signatures":[{"sig":"MEUCIQDH2/OVfdfremySo+uJORPcjJoa5cSJx5tRm/xUZjiERwIgBTzI17whWHJKdcWzAOKFIysZrssB/BO++ereQv2+ygs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54571},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"737a7df099e436a41f834d042597b15122f0d674","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.9_1784657752429_0.33118678492216924","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@akalsey/sapience-goals","version":"0.4.12","_id":"@akalsey/sapience-goals@0.4.12","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"1277103307a21df13b4d5ad98f28e6698f4c463d","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.12.tgz","fileCount":18,"integrity":"sha512-2vpIXlWJsCkIdLC9Sqc3DvJk/yFkbLQ5FF216teQmHM6comh+++xvHsmciPynPitYNofccQnqHVrE6dC4JXsXw==","signatures":[{"sig":"MEQCIFjLLtb97ZrjM9usu3tVdau+WcPZuiegrPQwp0N5ZQ+SAiA3L1kwOl8v5T0L6gdXl/uSF7+8PAB29+TGvHrlCoktwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65563},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"20e45ee328a20d82611d4d1bb64504e1531deda1","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.12_1784661309247_0.06034634185132548","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@akalsey/sapience-goals","version":"0.4.13","_id":"@akalsey/sapience-goals@0.4.13","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"4cc504cd36ef56842c15d3bf94ea4c6dd6debdbe","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.13.tgz","fileCount":18,"integrity":"sha512-00BTYzJ9rirIRh4QqkEHlGO1kTqVE+lS/3V96n54IKHG+Wnt/qr4UYpevGFfY6WT6Bcg3f1XkL0/uU/uWvLzxA==","signatures":[{"sig":"MEQCIHoxVpHc8WbUrtsYpQsNS7Gh0ghHY6Cjzavd2yLBDfEQAiBotIVdw650cqad5tPN6bwZdFr71lHN3SYAfh0V/mNQzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65640},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"5fbb03992602623c402c6e8bd026251b916106cf","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.13_1785093857146_0.287256672122965","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@akalsey/sapience-goals","version":"0.4.14","_id":"@akalsey/sapience-goals@0.4.14","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"ad21d42b18d85afcf079fea1ca3dfb086e8cdda0","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.14.tgz","fileCount":18,"integrity":"sha512-bi0zmCwDZ+Ru2n4AImtkJaC6Jwzbu4oAkHZ+Ue5s/z79XuXjOKedYu8rYVBCZuXPXC27fFj/5uu3VJzNN4o0FQ==","signatures":[{"sig":"MEYCIQC7akM4be0ddLLrrzqeJk4oD2GkKfFMTWFUw1ccfdY3VAIhAIQ2zpGH/ZF4mbL+o+8ZE6vk0WyYKjsU12ua9Mk7ngeK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71686},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"766410f327e22178318b4501458f3640ba0908c5","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.3.24-beta.2","minGatewayVersion":"2026.3.24-beta.2"},"install":{"localPath":"."},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.5.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.3.24-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.14_1788149803110_0.9960895068757976","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@akalsey/sapience-goals","version":"0.4.15","_id":"@akalsey/sapience-goals@0.4.15","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"dist":{"shasum":"0142bee27b159c018713d1b9915fa5c21ecb3b23","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.15.tgz","fileCount":19,"integrity":"sha512-AoZ4JQUi8Ym1IUgJJ3GyQ5RJjvjY7MvXOpDy5W24Tk0BiZod5IQrSYdtFDoM8u0tqrQX7nIvxKdq/78b1rPc8A==","signatures":[{"sig":"MEQCIGN0IJR7Bgukc/ZIwhkJICFPskCOCFyQSPepA+VzhBC1AiBT1pL7yJNeWZq12gGDj8xdcu8QtVYkckqsA7v0sHx+pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74772},"main":"./dist/index.js","type":"module","exports":{".":"./dist/index.js"},"gitHead":"766410f327e22178318b4501458f3640ba0908c5","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"openclaw":{"compat":{"pluginApi":">=2026.7.1","minGatewayVersion":"2026.7.1"},"install":{"localPath":".","minHostVersion":">=2026.7.1"},"extensions":["./dist/index.js"]},"_npmVersion":"11.13.0","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","directories":{},"_nodeVersion":"26.5.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","openclaw":"latest","typescript":"^5.5.0","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.7.1"},"_npmOperationalInternal":{"tmp":"tmp/sapience-goals_0.4.15_1788373576300_0.44240208351108423","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@akalsey/sapience-goals","version":"0.4.16","type":"module","main":"./dist/index.js","exports":{".":"./dist/index.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"openclaw":{"extensions":["./dist/index.js"],"compat":{"pluginApi":">=2026.7.1","minGatewayVersion":"2026.7.1"},"install":{"localPath":".","minHostVersion":">=2026.7.1"}},"devDependencies":{"@types/node":"^22.0.0","openclaw":"latest","typescript":"^5.5.0","vitest":"^2.0.0"},"peerDependencies":{"openclaw":">=2026.7.1"},"gitHead":"766410f327e22178318b4501458f3640ba0908c5","_id":"@akalsey/sapience-goals@0.4.16","description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","_nodeVersion":"26.5.1","_npmVersion":"11.13.0","dist":{"integrity":"sha512-GBCytPH8UtsVR6i1o+dp3QVokpDdDJiOYAJwbPCMHfb8ISSvBqr12kC8ZW6o043CZIPE4xSyinUze6JgXbiq+A==","shasum":"680daa9dd5fb6bff70982457de9397e78e4ef362","tarball":"https://registry.npmjs.org/@akalsey/sapience-goals/-/sapience-goals-0.4.16.tgz","fileCount":20,"unpackedSize":77333,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHcBRZjS8ATwbwUaAZdHD+Gg/as1m4SECueTNr6Ag0ZiAiAjyMc/Sy6hAKApFgYtlXRgWQPimKVedNuh+O/dQWW9Ug=="}]},"_npmUser":{"name":"akalsey","email":"adam@kalsey.com"},"directories":{},"maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sapience-goals_0.4.16_1788405360279_0.012171761603448905"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-24T16:02:03.122Z","modified":"2026-09-03T03:16:00.600Z","0.1.2":"2026-05-24T16:02:03.511Z","0.2.0":"2026-06-10T03:52:18.285Z","0.2.1":"2026-06-25T04:53:13.648Z","0.2.3":"2026-06-27T03:00:08.653Z","0.2.4":"2026-06-27T22:42:47.825Z","0.3.0":"2026-07-05T23:32:03.974Z","0.4.0":"2026-07-06T01:48:44.132Z","0.4.1":"2026-07-15T06:07:27.885Z","0.4.2":"2026-07-15T06:37:58.775Z","0.4.3":"2026-07-18T00:24:12.550Z","0.4.4":"2026-07-18T00:29:52.460Z","0.4.5":"2026-07-19T02:10:30.498Z","0.4.6":"2026-07-19T16:11:56.469Z","0.4.7":"2026-07-21T15:26:40.679Z","0.4.9":"2026-07-21T18:15:52.567Z","0.4.12":"2026-07-21T19:15:09.487Z","0.4.13":"2026-07-26T19:24:17.282Z","0.4.14":"2026-08-31T04:16:43.256Z","0.4.15":"2026-09-02T18:26:16.455Z","0.4.16":"2026-09-03T03:16:00.433Z"},"description":"Some things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.","maintainers":[{"name":"akalsey","email":"adam@kalsey.com"}],"readme":"# OpenClaw Goals\n\nSome things worth doing aren't tasks. They're directions — fuzzy, long-running, and valuable even when the path isn't clear. \"Our teams aren't scoring OKRs regularly\" is a goal, not a ticket.\n\nThis plugin accepts those kinds of objectives, talks through candidate approaches, compiles the one you pick into standing instructions the agent follows in every session, tracks incremental progress against a todo list it maintains itself, and delivers a weekly status update. You stay oriented without managing the detail.\n\nThis plugin is part of the Sapience Suite that gives your OpenClaw agent genuine agency — not just the ability to execute tasks, but the judgment to know when to act, when to ask, when to propose, and when to say \"I'm not sure how you want me to handle this.\"\n\nThis plugin can be used without Sapience if all you want to do is track multi-step tasks.\n\n---\n\n## Setup\n\n### Install\n\n```bash\nopenclaw plugins install npm:@akalsey/sapience-goals\n```\n\n### Configuration\n\nConfig lives under `plugins.entries.sapience-goals.config` — the full path shape; the short `plugins.sapience-goals` form is silently ignored.\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"sapience-goals\": {\n        \"config\": {\n          \"weeklyCheckInDay\": \"monday\",\n          \"weeklyCheckInTime\": \"09:00\",\n          \"activeHours\": {\n            \"start\": \"08:00\",\n            \"end\": \"20:00\",\n            \"timezone\": \"America/Los_Angeles\"\n          },\n          \"inboxPath\": \"goals/inbox.md\",\n          \"skillsDir\": \"skills\"\n        }\n      }\n    }\n  }\n}\n```\n\nAll settings are optional — defaults above are used if omitted. Relative paths resolve under the agent workspace dir (`<workspace>/`); absolute and `~/` paths are honored. Invalid `activeHours` values fall back to defaults and emit a `config_invalid` event. On installs where `session.dmScope` makes the agent main session machine-only, set `delivery.sessionKey` so decomposition and status prompts land where you'll see them ([docs/configuration.md](../docs/configuration.md#delivery-target)). Full key reference: [docs/configuration.md](../docs/configuration.md).\n\n### Output files\n\n| File | Purpose |\n|------|---------|\n| `<workspace>/goals/goals.json` | All goals with status, approaches, instructions, todos, progress, blockers |\n| `<workspace>/goals/inbox.md` | Where you (or scripts) write new goals |\n| `<workspace>/goals/inbox-position.json` | Byte offset tracking — don't edit this |\n| `<workspace>/skills/goal-<id>/SKILL.md` | A goal's standing instructions as a temporary skill — written by `goal_plan`, removed when the goal completes or is abandoned |\n\n---\n\n## Submitting a goal\n\nJust tell the agent in conversation:\n\n> \"I want to improve our OKR scoring rate\"\n> \"Figure out why PostHog costs keep spiking\"\n> \"Help me build a habit of writing weekly team updates\"\n\nThe agent recognizes long-running objectives and calls `goal_submit` automatically — and then keeps talking, **in that same turn**. It acknowledges the goal as an ongoing commitment (not a task to start on now), asks one or two clarifying questions if what \"done\" looks like is ambiguous, and proposes 2–3 concrete recurring approaches for you to choose from. You get the planning conversation you expected in the reply to your own message, not an injected prompt later.\n\n### Via the inbox file (scripting/external use)\n\nYou can also append goals directly to the inbox file for use from scripts or other tools:\n\n```bash\necho \"Our teams aren't scoring OKRs regularly — improve that\" >> <workspace>/goals/inbox.md\n```\n\nThe next `check_goals` cron run (within 15 minutes, during active hours) picks it up. The plugin won't error if the file is missing — create it when you need it.\n\n---\n\n## Decomposition\n\nGoals written to the **inbox file** are decomposed asynchronously: the next `check_goals` cron run delivers a `[GOALS: DECOMPOSE]` prompt to your session:\n\n> \"I noticed this goal: 'Our teams aren't scoring OKRs regularly.' Here are 3 approaches I could take…\"\n\nIt presents 2–4 concrete approaches, explains what each would accomplish and what it would need from you, and asks you to pick one (or none). Goals submitted in conversation get the same content immediately, in the submission turn.\n\nWhen you pick, the agent calls `goal_select_approach` — that records your pick as the `active_approach` and moves the goal to `active`. Goals without a selected approach stay in `decomposing` status and don't receive weekly updates until you pick one.\n\n---\n\n## A goal is a temporary skill\n\nPicking an approach isn't the end of planning. The agent compiles it into **standing instructions** — how it should behave during normal work while this goal is live (\"when you pull PostHog numbers, keep the results, compare against what you already know, explain trends and outliers, don't force conclusions\") — and seeds an initial todo list, both saved with `goal_plan`.\n\nThe instructions are written to `<workspace>/skills/goal-<id>/SKILL.md` as a real workspace skill, so they're active in every session exactly like a hand-written one. Don't hand-edit that file: it's regenerated from the goal, and retired automatically when the goal is completed or abandoned.\n\nFrom there the todo list is the plan. The agent adds todos as new work becomes clear and marks them done as it finishes them (`goal_todo`); thinking passes see each active goal's open todos and propose work that moves them. Completing the last open todo starts wrap-up: the agent confirms with you whether the outcome is actually reached, then either completes the goal (`goal_update`, which retires the skill) or adds the next todos. Only when a goal produced a recurring analysis worth repeating does it suggest a permanent skill — via `skill_proposal` when sapience is installed. Many goals simply end.\n\n---\n\n## Goal lifecycle tools\n\nThe plugin registers ten tools the agent calls in conversation — you never invoke these directly, just talk:\n\n| Tool | Does |\n|------|------|\n| `goal_submit(description)` | Creates a goal in `decomposing` status and scripts the same-turn planning conversation |\n| `goal_list()` | Lists every goal with id, status, approach, and open todos — how the agent finds an id in a later session |\n| `goal_select_approach(id, approach)` | Records the approach you picked and marks the goal `active` |\n| `goal_plan(id, instructions, todos?)` | Saves standing instructions (installed as the temporary skill) and seeds the todo list |\n| `goal_todo(id, action, text)` | Adds a todo or marks one done; emptying the list starts wrap-up |\n| `goal_update(id, status)` | Status transitions: `active`, `paused`, `completed`, `abandoned` (the last two retire the skill) |\n| `goal_progress(id, summary, what_changed?)` | Records a progress note when meaningful work toward the goal happens |\n| `goal_blocker(id, description, waiting_on?)` | Records something blocking progress |\n| `goal_set_metric(id, name, target, unit?, query_hint?, baseline?)` | Attaches a measurable key result — weekly statuses then compute progress from data instead of narration |\n| `check_goals()` | Called by the cron: reads the inbox and delivers due weekly statuses |\n\nSo \"mark the OKR goal complete\" or \"measure this by SMB churn rate, target 5%\" work as plain conversation. `goals.json` is still plain JSON if you prefer to edit directly.\n\nNote that OpenClaw core registers its own `create_goal` / `get_goal` / `update_goal`. Those track a per-thread token budget and expire with the session — unrelated to the goals here, despite the names. If a goal you asked for vanished by the next session, the agent probably reached for `create_goal` instead of `goal_submit`.\n\n---\n\n## Weekly status\n\nEvery Monday at 9am (or your configured day/time), goals with `status: \"active\"` get a `[GOALS: WEEKLY STATUS]` prompt delivered to your main session's next turn:\n\n> \"Weekly status for 'Improve OKR scoring rates':\n> - What happened this week: …\n> - What's blocked: …\n> - What I plan next week: …\"\n\nEach goal gets its own delivery. If nothing happened and nothing is blocked, the agent says so briefly and doesn't pad.\n\nGoals with a metric attached (`goal_set_metric`) get an instrumented status: the agent fetches the current value first (using the metric's `query_hint`) and **leads with the numbers** — current value, percent of target, and whether the pace to target is on track — before the narrative.\n\nThe next delivery date is stored per-goal in `goals.json` and rolls forward automatically after each successful delivery. If an injection fails, a `delivery_failed` event is recorded and the status is retried on the next run rather than silently skipping a week.\n\n---\n\n## Troubleshooting\n\n**Goal submitted in conversation but no approaches offered**\nGoals submitted via `goal_submit` are planned in the same turn — if the agent recorded the goal and stopped, it ignored the tool result. Ask it directly for approaches; `goal_list` gives it the id. Inbox goals are different: their `[GOALS: DECOMPOSE]` prompt is a next-turn injection, so it appears the next time you take a turn. If it never does, look for `delivery_failed` events in `<workspace>/sapience/events.jsonl`.\n\n**The agent says it can't find the goal / \"trouble with the goal_select_approach tool\"**\nEvery goal tool needs an id. `goal_list` is how the agent retrieves one in a later turn or session — if it's flailing, tell it to list the goals first.\n\n**Inbox goal not picked up**\nInbox goals are read by the `check_goals` cron, which fires every 15 minutes during active hours. Wait for the next pass, or trigger manually:\n```bash\nopenclaw cron run sapience-goals-check\n```\nAlso confirm the inbox path matches your config and that the file is readable. `openclaw sapience doctor` shows the resolved paths.\n\n**Same goals showing up again after re-install**\nThe byte-position tracker (`inbox-position.json`) tracks what's been read. If it's missing, the inbox is read from the beginning. Delete old content from the inbox file, or manually set the position to the file's current byte length.\n\n**Weekly status not delivering**\nCheck `goals.json` — the goal must have `status: \"active\"` and `next_status_delivery` must be a past date. If `active_approach` is empty, the goal is still in `decomposing` status and won't get weekly updates — pick an approach (the agent records it via `goal_select_approach`).\n\n**Too many goals with no progress**\nGoals without active approaches accumulate in the store. Tell the agent to pause or abandon stale ones (`goal_update`), or edit `goals.json`, to keep the weekly status meaningful.\n\n**Goal decomposition is generic / not useful**\nThe quality of decomposition depends on how specific the goal statement is. \"Improve things\" is hard to decompose. \"Get weekly OKR scoring rates above 80% by end of Q3\" gives the agent something concrete to work with.\n","readmeFilename":"README.md"}