{"_id":"@sporhq/spor","_rev":"56-0f56349b600e91c1c13769083e3f4b0a","name":"@sporhq/spor","dist-tags":{"latest":"0.29.2"},"versions":{"0.1.0":{"name":"@sporhq/spor","version":"0.1.0","keywords":["knowledge-graph","context","memory","agents","substrate","provenance"],"author":{"name":"Anthony Allen"},"license":"MIT","_id":"@sporhq/spor@0.1.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"dist":{"shasum":"1812fd5dfe07b134b32ac8ca01598319170e0f08","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.1.0.tgz","fileCount":3,"integrity":"sha512-HYj1eBaASWDHZ9dCWufCtoL33N6EKR6dXiGbhCsfWH3Je0wOj9C434pbdtfrFgJrnSEvxgcmVeEpt+ZJZ7WDuw==","signatures":[{"sig":"MEUCIBDn4abSmRAmTUga0r7+eYlBQfcp/PMf7bNWaZ6LLacUAiEA014oRR2TF10DHQRVnSeOJFvwEn+0D6N7B3Q5O6NKPVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1224},"main":"index.js","_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Under active development.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.1.0_1781256610969_0.3856549670068612","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@sporhq/spor","version":"0.1.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"MIT","_id":"@sporhq/spor@0.1.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"b3b34ba6b2353bda02204b3c1f35dd01ada51e0f","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.1.1.tgz","fileCount":103,"integrity":"sha512-HLeq1URVVRYKuxLUJD6t6PjmzahDK+aIxEUNrcObqJ9gkkJ/oQ2x1mz6eTNYNyKFfmvGJhulhjnIXsqvXcRdmw==","signatures":[{"sig":"MEUCICLBG73vJ9vJiAkDtACzWSMS1Xw2MAeDDv0mstKwvPDRAiEA5NfucEm4jt/aQU+OhaXopPv2uXu4C0rl24UHZ8dO9qI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498203},"main":"lib/graph.js","engines":{"node":">=18"},"gitHead":"538cecbf39d3cda24b0dc155d6e56c1503b88b93","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.1.1_1781505863868_0.9270104436826379","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@sporhq/spor","version":"0.2.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"9b900856c19f4bd55498abd24e1f840b73f7f312","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.0.tgz","fileCount":105,"integrity":"sha512-ISaC9DH3DpiK56l+03VtHYouvJv7swLm3Mn0tsxgcCr01yFaBgk1O8EYhtzCayNkxfOU5h3jFO/i1B+RCS+59g==","signatures":[{"sig":"MEQCIAGFUsAINNonbo7n9HU8js5mU6b3py8wxzUGwYu+ZYQZAiArnUj1RjCDBqRXvbjC0vWn3SNDu3D3kfyp07B0IFPReA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526631},"main":"lib/graph.js","engines":{"node":">=18"},"gitHead":"73d75a4f4850ecdffff5e95e33c8ec18144369d1","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.0_1781512991338_0.991115445159167","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@sporhq/spor","version":"0.2.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"9b6b81ae5ba2c58269092e219637566014b24ffc","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.1.tgz","fileCount":105,"integrity":"sha512-rcK7gwnacczZrLCqeJHz+o1xGQWBFrUwc7disS1VWf8ROh29K5XJruLu5iNj6XrIh4pawfaa+xpbb1GPwj+Jug==","signatures":[{"sig":"MEYCIQDJjePakQ0LrUVfkx+cQcodKTdAz4WDUpdZaEibOc52rwIhAI0dmj960iN/EtV/kYSqvTJ1SUNDCISPNTiImpowXEX7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526631},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"f3b91712e239d988738ad00844407866af1dee40","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.1_1781521717220_0.5081892547340643","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@sporhq/spor","version":"0.2.2","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.2","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"e0f8e8a6c25aca9326e27d0e758deb2882d43001","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.2.tgz","fileCount":107,"integrity":"sha512-dd4few8EL4DKC1xbTcKOlH5J+orUtb9o+OgRuJ3Pk2ig3JEKg0IQ6xrGcpYGljF7WU/l1qxDESyjUpHNb7H62A==","signatures":[{"sig":"MEUCIQCB1Qj19tu05yGKwE6Lr4url3F9cKEIrqAriaLyRe5xdgIgHGHqRBlfAHhMH4LSZzxCKbulPXCwP9oSNp9K14KcOO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527478},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"4e3b5a81f41bff6a3dbb5e52d01ee462d56f6198","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.2_1781522020892_0.8337704435892153","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@sporhq/spor","version":"0.2.3","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.3","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"ec8cd37f4e7d170dee8780f00973acc519c1827d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.3.tgz","fileCount":107,"integrity":"sha512-5f455qiYaEio+X/3A8QSwEIJ2gJPlVwV4N+gW0xd7CBvniBO4Y8B7yW90ptyHv7ADLVU1cSi0smoI6dB/2qJzQ==","signatures":[{"sig":"MEUCIQDqcv+5QAZAHiwDHYUBzAhQ+eXMuAo+3Evu3miD42t+/gIgabonBz5F/63Fkt82V0+q5GzQqNqvCBk7mXIMQGSasv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530254},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"734367a28a11ab0bfd1863ee2993c64f667624b5","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.3_1781525237601_0.2391295807985081","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@sporhq/spor","version":"0.2.5","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.5","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"bc741d3beb2ded863bcce54ca0e7ddfb861c7c44","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.5.tgz","fileCount":108,"integrity":"sha512-oopsBrjU9/F8z2gbjREKiyZN3m7DmVf8QTXfpeDFzBBFaiLrKpSBNuJIqXaRia3g40K+DADGsoBiQ5R5FVEY2g==","signatures":[{"sig":"MEUCIEqsfLcdr2rXFHK2WgQ9x5UQ+AfFMMEagXJ09K0YR7+DAiEAmkC31V51s7PV5sUIZ20aIZsZw0AmCadn209Qbgg3WzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":540163},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"fdd4e8c754e778236479ed511a758bace41e3fcd","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.5_1781527051080_0.8019721263055397","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@sporhq/spor","version":"0.2.6","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.6","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"555fe02df73aeb2c222dbf11be2732e951b75d4c","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.6.tgz","fileCount":108,"integrity":"sha512-dEzgam2wIrBID8lQ0YzknQcZKFQze/LsDo7cv65W4U5pEb3vm/KmE/BmCbKoe6y3Xkz9el2NP/X3osjsbPO9Iw==","signatures":[{"sig":"MEUCIDROv+Uy3T6RQAagiDxFeEQ0pWnSIak1olic/DxKPqulAiEAn5qHwJfUDEYIQsMOrZtXtHjjZc1gwBsn7hJw1/YsXbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555983},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"f87ccd50220a097edb2b27d3b485cebdd2085afb","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.6_1781533768024_0.7793505391915692","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@sporhq/spor","version":"0.2.7","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.7","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d8e360d87dd4fd60b6848c5c9fa13ef9a89872f5","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.7.tgz","fileCount":108,"integrity":"sha512-+LZH2ZrKf1wHOmyyfeef6Nyj8koqQ9OQln0nqHoPh7iAS7VgTra2FWA82e0I57zGg9mHXTWc0RPY9uMwjvXXnA==","signatures":[{"sig":"MEQCIHP9cYAe8Rt6Ocv8Df4T2I05fZ+vhbVczp7CG0UO5oVuAiBhpp/xbqJ2D7Idp6Z8iOnM+g/G0OaSBuTOtjcbYuLO+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558498},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"cd268e3346723b11faafee21b158d9cf53f3eb62","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.7_1781535275541_0.7376057842428398","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@sporhq/spor","version":"0.2.8","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.8","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d45271ab95df220e774aa27aaee88ab1aaab3891","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.8.tgz","fileCount":108,"integrity":"sha512-+xtyWLFAMzjnpy6KGtNEay90srFIyGeKIvnKB2EFv9C+NWjU9s6VEb/wS4lqoCjvI3iZn2wEpjxu447tzfhuNA==","signatures":[{"sig":"MEYCIQDktWcJiOWy7Sxk3yeggfzBHVj8/I7ZPq09FbgPQZiFrwIhAJa1RFCzKez4DoK57bBzDRtLZtPZ5i7M+qaJf/xgv5G7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570347},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"6f1d37e02b80e971fb2b6129e026ca8125880a84","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"antpallen","email":"anthony@ant.wtf"},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.12.1","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.8_1781543734502_0.9962314538145602","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@sporhq/spor","version":"0.2.9","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.2.9","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"1ffbea1412b699c60e1407ec36ee380665fa6c34","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.2.9.tgz","fileCount":109,"integrity":"sha512-pxHGoB/wN4kwEHVs/PoWsc8V1flUlhARi3bEu9l10RIu5Mw6BqCf4DyLHRLFqt1kK9us0iWLcYT7D8YnlAAf2A==","signatures":[{"sig":"MEYCIQDxC5GhQqrd6yFrjng/2jJiQQSDZKEHoBzZDsHANT8OvwIhAP96PgPZMPMax6dkhB67ZRNcaTqR066QYAGjYWs3wF7M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.2.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":677160},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"bf9352031eb8abf10776b70455762f36551488fe","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.2.9_1781595889090_0.7594365507073912","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@sporhq/spor","version":"0.3.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.3.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"4591ce4b3c2e939d9568209918f9e0e72f9d0ab6","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.3.0.tgz","fileCount":109,"integrity":"sha512-uWsutVbykIlCB4Kvzg9gu8LhpRtEC5cjtYKUAjBmpCp0FbRMkJmHRisl1vyUZcJ1HLKTNJr3J+84QxHd7GwWlg==","signatures":[{"sig":"MEUCIERC0rKaBnRFY63cxHdtwmQJ4iZGoVG4wB8zcObhPBkoAiEArj6gycvwFMjOTvZSK67KMglXGb1epB+O9mFvfMEgAJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":694410},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"c8307e36705550aa40e74953b485f76e59ee0e6d","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.3.0_1781597642925_0.3677361638083061","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@sporhq/spor","version":"0.3.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.3.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"83dbf261be922441a029e4d92cc06d5b55e13e4e","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.3.1.tgz","fileCount":112,"integrity":"sha512-c41sg99Y9Vh/JJDPDSs68Z68hU5UDg0kGNcaa6iGQKfdBL5xP/HnajHkGjmcTa1oY9hYHKE5qa0jUp17oJGgPw==","signatures":[{"sig":"MEQCIAYjyDtg6KbTUEPGFsyiQC8RwBfmyh1s0jvY2op512DCAiAArDQz+XAmvRVVENozBfCqq+NGE77IVB+1GieRackXOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738054},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"ae82296b82959d6f2d02aa7e5cad317b7248f909","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.3.1_1781604365562_0.6134932869265299","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@sporhq/spor","version":"0.4.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.4.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"60fb11c8f55ac50fa79b79dcfd987f76ed3b3721","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.4.0.tgz","fileCount":112,"integrity":"sha512-89w/apxawvO8Y+sXZdnP/o1RdG7kfHOXv5ie6DtF+Bk8+qvrFpXp7W1hDlh3DNwZzm9Y2qbziGjeErJWZxDOiQ==","signatures":[{"sig":"MEUCIQCuiNllyF9Z+nZNOVaC/gC8YNAAcQGWxvyR9Jx8hfhG6gIgGo4ChiAW8EDDRMl1uK1vt8+pQz+nqKDOBYx9OQ89PF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":747203},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"a3fe23e7dd901dab5848ae6fbfcbe660ace870d6","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.4.0_1781604839219_0.025346928115880463","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@sporhq/spor","version":"0.4.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.4.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"85f75ef405791ce9bc64c5dc516a361996ac5ae8","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.4.1.tgz","fileCount":112,"integrity":"sha512-+JXKaD0sFz/OP1nLGw7e8gyELVI/sD7YkTM5tOV5Lja3/0CTeUQnnkWjhSGcpFgKdtQ1hPTjKKHyt6NDj+Nv/g==","signatures":[{"sig":"MEUCIAmVBVMNx/vEFyRwyhhaNUy/KLqNOh960rx64rd7Mx/AAiEA3Zx5dPyGCper9yVvwvW16jHiYjdXiAqgHRVY8OktuEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":747780},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"cd829e541ecc30cff79dc5e6d34e4c766eefc80b","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.4.1_1781605412769_0.6395165107203242","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@sporhq/spor","version":"0.4.2","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.4.2","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d030d3f47ffdceecd631d91c0f0878122248e22f","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.4.2.tgz","fileCount":112,"integrity":"sha512-VzWhlghqr5lLUoSx6aIJZuCBQ+QsauSRMOvhnuwtY4PLiGE75cFm1NebKTl04dELthCRVsmN29NygJqdXi9hLg==","signatures":[{"sig":"MEUCIBykW2b0shIRFJ56g5JiVPT8kkvtYb8S2yAusU8eoBxsAiEAslSgCPGBP7+xiGm6dsW7X/x/PyZOCRTpktgL/sMDSnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":748965},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"006322e14614b183e8a91339a10c7cdeec01e9c3","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.4.2_1781610438463_0.18127527554927458","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@sporhq/spor","version":"0.5.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.5.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"eeb2e332ec90db78d4fbe1a38a68e5e92f497f72","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.5.0.tgz","fileCount":113,"integrity":"sha512-XJsACmaNpklaXPc9kqKu6hwkhGCNQU6rzoYLk+cOd8aJB+m8PUHUre3ViSBAkPyHrG33fizad5jagWUOEv1jHQ==","signatures":[{"sig":"MEUCIDEyEzizNOw+MXjKAwk3k8T3eMQY50fbBpM+D87GdDHKAiEAnTjGbmvPElPr0mFTLW9KCrRTQ8FP2NrMm0loVNS0xTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":770785},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"95995df61c221b72fc77195c538f7b6d5db9a02c","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.5.0_1781614573622_0.761068452683205","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@sporhq/spor","version":"0.5.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.5.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"aea868996065c19b4c4290d250f49eb2316402d7","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.5.1.tgz","fileCount":113,"integrity":"sha512-bMzuy6ftUb0VSbm8liQXdQ059NXyR/BJXQuK6t7eov8V5GyDK97bMlAipB2YxF5/eWIhB5XF6G/l4m8grCBh9g==","signatures":[{"sig":"MEUCIQCx9N2ClB3507RP/dACuQ9NNGpE8rOFKjuvA0NUllm+CAIgarsw5X1F+ezOW1E7SVD/Bnmsd87uYY1cm0M/OmCtYjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":771799},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"b83918cd1d3c927e0036e12f2ac15c7ed6dcd60d","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.5.1_1781614720838_0.4207435330299416","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@sporhq/spor","version":"0.5.2","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.5.2","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"68d6148938b3a92d1bedaa293114227601c35dca","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.5.2.tgz","fileCount":113,"integrity":"sha512-QMSAxYq3YibxNlnyHpkoMAYYyB7TOUP31Bf3AXV6TFfZfUZgJzd4Nse3pWQXJYqDlNFO31dCy3cC/8PO6zDrSQ==","signatures":[{"sig":"MEUCIBFZB+u+5q9+lJzakkcVDsdrksBTaP6OxibwfzqO17/UAiEAx5eZYU6SLVBqV073atH0jzbNaLh4xAswEtBJ3cxAIGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":772204},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"a77735e80b8341a03ca6c611ca1b11fdeebc1573","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.5.2_1781617209499_0.7291149953808971","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@sporhq/spor","version":"0.6.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.6.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"0339ce1677746c6a9a422bfa8cdaaea03de63d5d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.6.0.tgz","fileCount":116,"integrity":"sha512-AxyNgeD9HbPyF3+GDIdVLhtUfjMzIicHNIrBgWo2hKgmhiKJ1aKcRd3/z9VnOxa8x9Uz6AW8GWv6HimPfyEziQ==","signatures":[{"sig":"MEUCIQCMdpkGYZk0TxeyWsLf4DfXATjhbZdCMvQHeIDyBVNVhQIgbWrMenBaPJmXjvu0RGUHmijPaXUlSeSSz/7JojsIwmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":808060},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"6492ccc0f9516a1d196e69c618952afd779d2c79","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.6.0_1781624844227_0.45498136706240655","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@sporhq/spor","version":"0.7.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.7.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"23fc70198994bda5ca6d4a07641991ebf037bcf9","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.7.0.tgz","fileCount":118,"integrity":"sha512-87DGXIdls8gn0B4eRNvTA0j9eOHaQX0PS5KZ/NelPZyd5iEASWJIk7vypOT8nGz9qXg7a/ISTVv9y/SoCSsh3g==","signatures":[{"sig":"MEYCIQD3Ul94nz4inBp2eyEJTrwf41clrkkaOM6DquIt/hnPewIhAMTwGaF41vU7TY8+WMGqGocUDJUXGhl0/w0wEsq1lBg+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":842596},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"c00ffad5384aa3f6ab89551ace9cd046e01e43ec","scripts":{"test":"node --test test/*.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.7.0_1781681069686_0.48236492152579236","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@sporhq/spor","version":"0.7.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.7.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"b9bbe11b7c8b498e1ab533e7232ff2a5fa6a5bc2","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.7.1.tgz","fileCount":118,"integrity":"sha512-5QOqM/5bPzDh2DCylFqMB+4k6N2LQrlQm+cwFFa4po68wT/7yTuJnmqK1BsIiUi7uzWs/pMlU6lRGEwEwJrwDg==","signatures":[{"sig":"MEUCIQDOfhIRUJcy2+5BMnvTdF/ufDedO6+G63+SXl1eTG8eIAIgSSG9t2d6q6NnzOOnjcNb9oNe5E3YLe+B5x4i2K0/nOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":851076},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"a886990f422d6e83e80540fbe7e34350923c8fd3","scripts":{"test":"node --test test/*.test.js","test:e2e":"node --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.7.1_1781691405154_0.009703399214092467","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@sporhq/spor","version":"0.8.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.8.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"51b3a9564237a7c36631f45c1c849667636f00a9","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.8.0.tgz","fileCount":118,"integrity":"sha512-wb9xyeh2LV9HR1F5rRjLQTqnMkxCYKl+I0TPAVbsWF2pLLMCzq2xKUiralnvzEq20r9WQIOev/pa6yliBqPB+w==","signatures":[{"sig":"MEYCIQCKpa3KzYpoYVz2K3OrJR6RCrg9PcYs54lNSDsSMWOlaQIhAI/D7NvUDkGrvxXN0WUSyUlPyp4m5McKGmIq94mfZoFQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":851076},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"e2991a987e9fccf3e59d7e96aff4d691aa9eb31c","scripts":{"test":"node --test test/*.test.js","test:e2e":"node --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.8.0_1781691916941_0.5798498663369183","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@sporhq/spor","version":"0.9.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.9.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"10c1c097bd966d65b3fed746c45e1ab73fd6215d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.9.0.tgz","fileCount":118,"integrity":"sha512-dZeiYJF84ft2NlLb7TUDm8emcRXqiHk8lbg9uZxOE9BAWfIOW0aS53F2BT2IbAjUUHTV2SI6rsXiBuLZQc1pEQ==","signatures":[{"sig":"MEUCIQDjgN0lFqerOrih+VpMK6OwBYc10BzPEu16gCYY0J/PoQIgChnRQmFhkIbogfO+ib/kHWOA20jQ6Zx99jrpATu8WUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":884350},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"023d5046c4b46ddfe36e35366920def6e0108dc6","scripts":{"test":"node --test test/*.test.js","test:e2e":"node --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.9.0_1781724434422_0.9435933269446517","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@sporhq/spor","version":"0.10.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.10.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"92fe16363e03ae949a52f78e9a6f323a0e8dd39c","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.10.0.tgz","fileCount":122,"integrity":"sha512-5GZvtpNEW2lkZ5LDcOXnOlxXP9AvWyat71/GvlAqyoxq20TJy5Y/AvxedL/xFBhzwmhP80bZHO5XI3R27+fOGg==","signatures":[{"sig":"MEYCIQCCEOeTfJp28wRRRUGqtFpM5wl5GLEBFXkz2ASoAY0cfwIhAMVtUj2FwiiD81QpqAD7c9fKHR1QHzKZI4N7Yly1mjNL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":916835},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"92a7bcb4f66f8f25bf5a71e22bad80046bd6d939","scripts":{"test":"node --test test/*.test.js","test:e2e":"node --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.10.0_1781811978457_0.36120410933374236","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@sporhq/spor","version":"0.11.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.11.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"225502237c6121ecb0eb8161d5796cdcb22a1087","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.11.0.tgz","fileCount":123,"integrity":"sha512-3vvHxoI/MZYMGgWx1YLbLtwhjlyjm6L2ci5JdP6VJzAChVJDPOp38luoD/yag3ZpX85XC2jLsxC/gADrzaMe9A==","signatures":[{"sig":"MEYCIQDMQlJIIYZj+V9DoC0EOu9A/+tQnADq6W9ycf8e64p5KgIhAJ03N2UwU1kCBIU7hoSpxKMw8M+JN5aN+1hxZLVI5FDH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":990453},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"b80946120507f51b612cced50e26ec7476287133","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.11.0_1781874821553_0.6986392418627438","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@sporhq/spor","version":"0.12.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.12.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"b287c0cf88e210d0b5cad41293fcdc1b83f4289d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.12.0.tgz","fileCount":126,"integrity":"sha512-Mr74cQ15ho3XNhWutQDImEdAkux0mM8NQcTRy6+yUs1evMzIU2wEI55S7UPW3+L4/IqpGLRpOi3MxJGL/EmR2A==","signatures":[{"sig":"MEUCIDhUWZlyrP3w7BX1kE1PGddBTFHretC1GxiI1yANm9MgAiEAupOIO+5qdpuCy2X8R5+l7CCcluTnJHkR3cHsZDJcZrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1099365},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"d82b79ebdf6c12b9ef0f6943bebc4be30d634844","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.12.0_1781946282836_0.7314605413545929","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@sporhq/spor","version":"0.12.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.12.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"5bffb34eb084e9035930fe198358a12822640b6f","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.12.1.tgz","fileCount":126,"integrity":"sha512-Lh3zhDR7aagxU74i1vUh4KzM40w3Ml4bqb9wctGpWOADKRvWFCG+Un7DQPnGJEAmQ9hfRHdm5+3FzVt+PvBU3A==","signatures":[{"sig":"MEYCIQCszsW4ZidV5PLQ0zS4nGdYJ0vObZb8A1ZS50SRxYyqKAIhAL1Wpc0mZ24CL7+kmbTzlmuMHEEYNq5/Z0uKT3yh3yHV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1099647},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"c194866610ce117d80b6b72f6ae48fc3b159cfe3","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.12.1_1781946619684_0.7257663936296499","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@sporhq/spor","version":"0.13.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.13.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d662e69009082cdedbc3a4f6201d5dc5199d4815","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.13.0.tgz","fileCount":129,"integrity":"sha512-fSATSwX6IFuxQpG3kYNv9eP9b1B4wfbUxGYp8P8TT7/sFp1GMlDd13kR637bxoGN0WPUog6N+v8fpIAWdXEyzg==","signatures":[{"sig":"MEQCIF+zSmNiLYr3/5chnI9Gr2i+Y6smo2galcAyK1laetTZAiBF5vV+8G2dknv2k+dzKUNhYzCoTjSpr6vn7nOw8OVNFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1171879},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"42d8c13c4f6e53dc2fc9c8bce62505d523e69a57","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.13.0_1782036486755_0.6097502300979325","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@sporhq/spor","version":"0.14.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.14.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"3104696d258e8088341ded094ee12b166da476ea","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.14.0.tgz","fileCount":133,"integrity":"sha512-8EtVqcOIRxBsKy7RPtzqkBZH0yVwSAVp7ywX7Jm2IbQ23RQKQAvpRFLWltgpds0T9waikTltlLqXETqTXmnkfg==","signatures":[{"sig":"MEUCIQC7ClAEom+rt/SeMC+tV8FwBk6yPUjSlPNjdWmzDxbysAIgZcuk2sUDCo6M10NNkE6PQagIofk2yxKYaKi7ypAyCSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1363926},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"a344c420704ed2b9921589385549b72551ad2fb3","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.14.0_1782068025934_0.5665944225857786","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@sporhq/spor","version":"0.15.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.15.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"280466b64343b7496688aac4a515b169d0a1763f","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.15.0.tgz","fileCount":134,"integrity":"sha512-hofUQxdpz03JE1MgeF7oZ9R2cTyu4kWZBe/PT/Pj4tgbpE0UfTB0hRo7F7xlGWQgVMF4qI6FIdbh23JgnjEiuQ==","signatures":[{"sig":"MEUCIQC00VzWOA8IWaq07O+74WlSiHniw42sZVMGMoWSP/zpvQIgRmeh1ncJ36PkF8y5sSTnHZcczWQ+B9FgcMHy/mvsx6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424372},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"5968b0ed2d7d130e3e296f445059c0886283cadd","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.15.0_1782128575011_0.6413502719065889","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@sporhq/spor","version":"0.16.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.16.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d4abd2208539362481137ce7823286046adcc7a1","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.16.0.tgz","fileCount":136,"integrity":"sha512-Wz9PZ9gpd4LKeGL0inxPTFOUjcdgG+6zYnKfdTTihG6TUFBOGfVzWnD33D5qLHpwfUuRVCAkfyl3PXN4LoZCrQ==","signatures":[{"sig":"MEYCIQDRO2Jv2q04Ej5IkseG99g3mvob0Ijaxpwq6Z3wJwuW4gIhAJW5g934JHA001v4hPwfJKoquAABz+lyVRL+DqbSlPeM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1441522},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"061d0613e5cba6ff899a6e12ac9a6c33f0dea231","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.16.0_1782138980329_0.5306298310244604","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@sporhq/spor","version":"0.17.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.17.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"1b6ed0c20c46dc534dfa0f62e5b547e5510e504e","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.17.0.tgz","fileCount":136,"integrity":"sha512-8HQ02itmsrAq/DOqYnBuOPYv6kpNY5GvG1gUtjBkr2gmpln+mK/Tga9T7RXUS6AHZpnR9KD+4s14L243uAFQuw==","signatures":[{"sig":"MEUCIBiukbfOfaqsbxFJMHURAnLVUWdqXIuIymjU7iGcRJaKAiEAyvGHEAnO6JfBj64kC4cJPpFO0i5xRr4CkaGmUfhMQhk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1451691},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"f3d73bcf130635a41164b5ec2d87f9c4a7bcc4f7","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.17.0_1782158038421_0.9662128729494943","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@sporhq/spor","version":"0.18.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"fd867422d918613caacbcd2bb1b02450de4765fb","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.0.tgz","fileCount":138,"integrity":"sha512-pyclATYbL0DdYzyYzQk2vdUgw8TXOa9nfhbClZG1PRytUfHC90uWRgzcKxpiP7GguZY5t4BzYCWkriHyi9UXYw==","signatures":[{"sig":"MEYCIQCL14X0tsgNgeuwjSTlm/uEprEkgtq/MErY8o7r6wq3BgIhAJytBZN9rpUE5TBSfGoonJFFmJQ11+jRDARxKef8DUst","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1468620},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"9757c7ddedbd3b2e581e1144f0d73b45e8d0b5df","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.0_1782304207875_0.3960458726601226","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@sporhq/spor","version":"0.18.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"c0c56e34a85ebbc499192c1dd3a678656f10e1b6","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.1.tgz","fileCount":138,"integrity":"sha512-LOih4M5Fd2L3uXYBJ+GtxlTbTRxlEcdU2Ne91f/kfyTKd08+hDstgmOwTqdvPhNtHrlZ6dUN4FkSHzLlgYnrlQ==","signatures":[{"sig":"MEUCIQDCkzGEUoshcBovPo78gcAqWBHZTUpIwSDkmXURd9DGKAIgCDl6YABd3M8GUxtgvhPkINWJ2bV6P2LPJ5bRVtBlBUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1479986},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"95188b7bf4ea9a4823b73b997ca8498c4fa0c70f","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.1_1782314975791_0.6434193764300769","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"@sporhq/spor","version":"0.18.2","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.2","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"2268c505ef7c930a044e971dcbaad6c1db9f2559","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.2.tgz","fileCount":139,"integrity":"sha512-Y7f+N9ATTUwc68cguGVk1V8M0rcqipRHXYTkbyD64bsrrO06k0fGOZgcAnzCpnGoRtENY8UudFq+sgDCCM1tMg==","signatures":[{"sig":"MEUCIGrZvGfVwELiDYUbrQJwH3wctrP3ZqCofSs8Z1VY8UqnAiEAn36LL5S2hEVJi8HJ3HKX+pXMQR/Fo+LbGm3Gj1R7L0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1483757},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"e6fdcfa16e45e334f90588b5176b21a7a1467e3b","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.2_1782317495712_0.4452678589363437","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"@sporhq/spor","version":"0.18.3","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.3","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"9f6e086fb915b028856a29d042d00cb8797f41c9","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.3.tgz","fileCount":139,"integrity":"sha512-FytuHRZMlXwcMkGL9KctM8vM+aODfVBswtbbACG8TNs6jE64gS1yxizPOneEnRcsX2qLJ2VUQJIUWDPJGt5KMA==","signatures":[{"sig":"MEUCIQDo6PME0qltNU6IgHdRMREwjp18Wl851Rc17FQwNf1DngIgDspEkJus5497Ta4mgPI4psNtTjO4uSByjJqPpbOitcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1484037},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"e630054c14fa15f49a33c8f9283c12f2ff3477b7","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.3_1782318334150_0.5233661839305195","host":"s3://npm-registry-packages-npm-production"}},"0.18.4":{"name":"@sporhq/spor","version":"0.18.4","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.4","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"654dbd53c7952fca38e58637ca09540c09081707","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.4.tgz","fileCount":139,"integrity":"sha512-HKiWHAN57/zQ6FG/KIZBV4kSssDM/bLAV3q+RZT3tKP1akijl4HtH9l6RC552BhtTeQZHgUt+C4C3a2ELd/toQ==","signatures":[{"sig":"MEUCIFhArp8hrGVOWdgJTgcpBlkXCt7Sch0QNzzJ5jGgmys/AiEAkroV2uPYx76bCf9+OJ/j2eK/WiNRhh6Kh0VmnoWMcBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1484732},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"382caeb9302db6a33c618d9ef1ca6eff43dcb8db","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.4_1782553578082_0.7736697032111413","host":"s3://npm-registry-packages-npm-production"}},"0.18.5":{"name":"@sporhq/spor","version":"0.18.5","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.5","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"04a19e388072c37a7ff836db3985140866d8fd33","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.5.tgz","fileCount":139,"integrity":"sha512-vcXzBJ198MOnimrWeB9uXaNgpc4d0rDNbbGUNfQu0o2TuxJQtzh3dUjCJ8wGBVCM8rOBNaqXP/XsICudUKA0fg==","signatures":[{"sig":"MEUCIQC3SjL/Rvtkmk2qG7iVwk41x68WM6JZbgHUiHsGMHWYpAIgLC+/kkzyy5H9pA2gF5AoLcr8D4qXEF7sjJGa3Bw25Sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1486973},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"bd5710072f85fc2215b8d41438b1d5ac9778e3e7","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.13.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.5_1782999980630_0.10505569167708573","host":"s3://npm-registry-packages-npm-production"}},"0.18.6":{"name":"@sporhq/spor","version":"0.18.6","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.18.6","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"a273a72cdf79c44da9389ae1607be39cfcee8074","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.18.6.tgz","fileCount":139,"integrity":"sha512-lLniwTZeVwSnxSufjN2CbsjMCXQahAKjbTHdHr8mFqM3P5ijOGWaICubm4+nVQBxIa0HB1vhROEhfYyxw7ty6A==","signatures":[{"sig":"MEQCIF1Cg+X/xbiK/nQjNN/cpwSoB6lfKGJjA58YIoBMBStfAiBYLy8tM7DpysfnGEobq6HQFteyZX5cr7/n1ArNhmJoig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.18.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1500936},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"c533aad0b8c4367b38226440615e39f3f7f52ed6","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.18.6_1783163021971_0.5532621249117373","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@sporhq/spor","version":"0.19.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.19.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"d1d168e7b0a5ffcf7b175311f59f39a8c0bfbadc","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.19.0.tgz","fileCount":143,"integrity":"sha512-0S3qFYUBTOiK9LaWo5NXaHV2rHJ8pBQmcpf8UpqL7kUaB09fLYZ0AawcgBXf5hX9e6uTxDlvSVRavmImZ98xLw==","signatures":[{"sig":"MEUCIQCjxyhknIiMGvh5kthg66P4bJRPfk/TcWlUYfjBWa6u9gIgYCrkYB8p2KkAv23GfQw/qfBOHQ6LBftBHQoBS3RhYhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1556395},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"83109ca8453bb30085adb226b1602a48b1a33d44","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.19.0_1783260805654_0.7377925390967246","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@sporhq/spor","version":"0.20.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.20.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"a665cfbf9f7991bd82d16724f23645d3a5f8f234","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.20.0.tgz","fileCount":143,"integrity":"sha512-1f7A1hLmhRGcj9WGLpmKLhZqLepam35YhlpsauKPgqIX2m6bvq4ONyEu+C714TQEVQ6+OmmFq0VTZ5mlCsr6tg==","signatures":[{"sig":"MEUCIQC9TIQwU7s7CrmA+X1K3VupCO0835XzNRpbbPu960CtLwIgHInaTe22pgUs3xS150iWuCEWLnJuBRpIv0ePcTqrGP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1556395},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"a469d02d243324e5f8a9ccbe28151a643f87c884","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.20.0_1783349092610_0.06144028676958824","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@sporhq/spor","version":"0.20.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.20.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"b22ffb40e85360f6e6ee3e485b345652b70864cf","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.20.1.tgz","fileCount":146,"integrity":"sha512-Tip/Wkr/ijizIvfqSLZmdFTacHcGosiNRTv6qMVP5ofiqEFCaPL4pTX/cg4D7RxInUZT+2aXigmQVYs3Nx+Lxw==","signatures":[{"sig":"MEYCIQCHg8ta0zeQxHTU6w4HCu0Qd7Rk2KcJgU7SPfe7HlNjhgIhAK/sy6R+HU4zBouI6XHRdgUxUeP0pZWvPluzp65WWpQT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1601797},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"c081beee470cadd527ff1e61f6b22b0ccaa66c6c","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.20.1_1783349938429_0.1674200896474376","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@sporhq/spor","version":"0.21.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.21.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"783e78cfcd4f882f5d46c6a84cbd820fdf5f262d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.21.0.tgz","fileCount":146,"integrity":"sha512-O3db/5B6ij4HjKT4vjyb7qM4hGjjf+PmYFH3H/VyVPs35ZttGD3svqCLTyegOpwXQnEMjSXnzyVUSmIWnZTnAA==","signatures":[{"sig":"MEYCIQC5hUbe/Hszs4yL9+nMqEpMhwXWG/JLShqhy8xNqwKEVgIhAL8pUqZZnjHTjAN+QzqxBGhhwTMcXJY5htisJKqtw+Un","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1670040},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"0ca3152a1f32216b2e6ec0c9363d8840208ba53c","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.21.0_1784049439046_0.8334887173541341","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"@sporhq/spor","version":"0.21.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.21.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"01b6b5b5f01b831693facfc76d43e320dea6a579","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.21.1.tgz","fileCount":146,"integrity":"sha512-HDk0s9DWEH4eK+ZSfsw16BXVTsusUwAnFKc8+9nbiIeTDSUe9tp8YHhHB3DyWi9M+T/h5lBXeHuPnv9KzkIA2w==","signatures":[{"sig":"MEUCID9O68wkTHK3XQUULeR9Y0Gb33sm2B/pLddL3iEjrB5zAiEAj24Fv9IL1fynusAddcm/sQx1dWCniWlq69Jb6grspqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1674749},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"d7d61d9a865be926e14ad13024282be91a6c8c5a","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.21.1_1784051752270_0.69305492256551","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@sporhq/spor","version":"0.22.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.22.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"c4c646d2bacaa04b8d44400d3aa692fccd067cdb","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.22.0.tgz","fileCount":146,"integrity":"sha512-hwcEg8RSQoJjGG6SbUU84+S13Z5yFY9nzKZmCMMMQO4eOZFlOx+aAMxGbENWL/wRvplNALbR97iDKJ6xWD780g==","signatures":[{"sig":"MEUCIE2nCSkxKCz9zYCSxueaRV/BRZhlk7iPZ5iQHHvNjlnyAiEAndQykNMo4MzSHBGNyoF5GPfpWjJ+UHcoDCeQBfDxvkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1675798},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"b04d71b555dfdbddcfb8d86126a72781bb120fb3","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.22.0_1784053119201_0.9981517283368009","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@sporhq/spor","version":"0.23.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.23.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"bd2e074d81c702553a1033317a9c75db383c4df7","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.23.0.tgz","fileCount":154,"integrity":"sha512-2aefXgOZXWCtgMIlLlN4y23ZbgzAEW+yCVL7ifh+8j2POSkQ4h37GFmwezUBHSJvAAMPKWg3fX2i/S617URtTQ==","signatures":[{"sig":"MEUCIQC4GJSwoM2HYFMdiHudwHNhoZc6rnw0rlOxO3puu0lSCAIgGJDT+ffsw8YS19GidqwP9vxUWsCFYkEqOX/zfMKyl9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1846656},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"cb8f901f7b08b1e389e4f96af5dede22e46aee83","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.23.0_1784379834767_0.6438811548809134","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@sporhq/spor","version":"0.24.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.24.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"91034c8bbda4ad0b5431dfe845db53d85ad83f55","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.24.0.tgz","fileCount":156,"integrity":"sha512-GzLifmdXlZnYn39q943Q2ZFBZuTeyfj7rs6SPx6bQ7XA3Lq5IfTz7/ecEQl3VWcwVl5OOEuHhTn0sPBfbd9guw==","signatures":[{"sig":"MEYCIQDXy8n1CnPElNYHIT+zTdk+AU+Rahgbjd7fpJIm9mRVIQIhAIDWZPILJLAviMJA4YpWeV2W7UrQRuoMf2p5UvB/anXQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1868834},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"78c2f49c504ae304e3faad188303092eae02ec68","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.16.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.24.0_1784465164821_0.40890633008707256","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@sporhq/spor","version":"0.25.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.25.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"fa5895c1b14f8d3893315aa3ad9db8a50108703d","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.25.0.tgz","fileCount":156,"integrity":"sha512-WuomTyPUHnCbnBbmG+J6Euo0oe8W9wvMPUYYNhDWcscn7MP/90hxv/Plj9OVoya+L4Z1iGBOUT7Emu6J2dLqqw==","signatures":[{"sig":"MEQCIHxETFWMsVgIjDz5l9UXF8U8dAfKMGnNs8JH/o8HfwslAiBGFcR9hMGPlB2lBZ7+0HyuX+e+J1SZojB8p40V8GhxTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2009570},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"d093e63614ed49583e832837a76753dfd8616436","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.17.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.25.0_1787388643730_0.7021652157482641","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@sporhq/spor","version":"0.26.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.26.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"1e331002e3fa6bc4d05458320e581a818d4d1d2c","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.26.1.tgz","fileCount":158,"integrity":"sha512-i7FBN0mpmtD/S9RzHbQEcEc9kcKhlbmhtzWcJv72nuk2we1vQBhRdo86rc7CH6ObNN1BoiY78tLmaOG+vGpiaQ==","signatures":[{"sig":"MEQCIEeGRkXA4XoHljAf0kA3MB53l/2p151CALSd1IYpp3kdAiB3+4933TnMB/bNKW7Y32fG6Yu6x7POFFKWJ+VqouzSDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2080135},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"ea95195f289d1d316acf7327b114e5bfa0b8ad3f","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.17.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.26.1_1787663656715_0.07556301367336404","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@sporhq/spor","version":"0.27.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.27.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"e77abc1fb77808f14bbeffb660bfbdde809d703a","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.27.0.tgz","fileCount":179,"integrity":"sha512-jEvzxIKEvk0d6ovpq2qvg/jICcMWkIKJj906wZ6Rq2BTDT3Yg/dDRYnGLEc15ZWznLUSFVRS2KtiG7vDWiooEQ==","signatures":[{"sig":"MEUCIQD/lrvwUIPSSapummKeWb36SsMQ2/rSYHNIn+Wu4abj2wIgEkO0+Vo0Pu+zrvVxRSzjRw/jjYPxSA+ojNIyHhWSqSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2906366},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"1ba1d14feb84729c89a0b2ece40148d942f594db","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.17.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.27.0_1788506005002_0.806818447498006","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@sporhq/spor","version":"0.28.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.28.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"9bd7e23298e3f2f4b9f8590e40e4ca3596063894","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.28.0.tgz","fileCount":179,"integrity":"sha512-6KpMgQZQFjv8ap19HX4z68qWfXeDxBNFbryyQwSFxnOhuT86I0unlrXOyfeP2iXo/42bJp1NU1LkN9L6CVSs3g==","signatures":[{"sig":"MEUCIB99oyxJlr/zOfuLVQiyoDlUXreU/FrVdFDn9sCR8wVoAiEAu0F/r+l2LZ9snw9VlYdsDCPlPLbDVLHj1OtU0ZQC8Ms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2911561},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"2746c81d2f371838b3d8f416122598726f49f6c8","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.19.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.28.0_1788509663337_0.9803698091817792","host":"s3://npm-registry-packages-npm-production"}},"0.28.1":{"name":"@sporhq/spor","version":"0.28.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.28.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"e615be2a801843913167877a99cf2990bd0dc8a6","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.28.1.tgz","fileCount":179,"integrity":"sha512-SgpCUtSDYo2XiOcBV4MjuMiyy3rYiTb+yXqUx+Ykwjx3yyQvfzU+VcNTCs/vdYEjpKPtX/kcVcqMbE1/+HxB2A==","signatures":[{"sig":"MEYCIQCsd94/9hFMG/zKN/aNozL+Z1p1gOXVjiPU+16R1fWRXQIhAPemfXx2sq+o/d1hw19sM5gVuHT0IlT/326xohi4rPpO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2912463},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"66938c858cc67fc4c9ff53a11f5b1b3c4be57334","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.19.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.28.1_1788510978108_0.7558065984091908","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@sporhq/spor","version":"0.29.0","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.29.0","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"7689f075ae19a3955af7737f8e6846e357e86a55","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.29.0.tgz","fileCount":192,"integrity":"sha512-RfpyV/fDSkD+IYIYauC3N5GOWX1UzwddO1t22FmSKQ7qIsOp0ceFBD2yqyHSIdAf/RX8T5CKsRscNTuIg5I0kA==","signatures":[{"sig":"MEUCIQDITjaX+RY04cwOKEfGBCVhHnrsG0LQHH2RqO5fd4EtHAIgK7YS64T8oemyDp4BDG70vEqhs75R9bIIltJ1qtKPyK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQoCrO/9vgCjm834tG0Koc+xqExDlSg6bDZ19IyHSyfwIgZPhfknwV9Bf5NnM6Nta30/J3HNNpUb//4onrLIzE8y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4211214},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"9750d53aca7ea9118c39401db12e1a1ce4529588","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.19.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.29.0_1790327909669_0.9186510063563031","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"@sporhq/spor","version":"0.29.1","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"author":{"name":"Anthony Allen"},"license":"Apache-2.0","_id":"@sporhq/spor@0.29.1","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"homepage":"https://sporhq.io","bugs":{"url":"https://github.com/sporhq/spor/issues"},"bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"dist":{"shasum":"555d779c9d1f87d1ef69628020f4be52e6e17898","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.29.1.tgz","fileCount":192,"integrity":"sha512-dIUZ+Olh4LgBzXeU6wJsn2GcSqM/PWUjOOCmrgre0JTo8KiXGGLIFHdDTIAr7oqWPoZ4EQLFI19jWUWCquMVeA==","signatures":[{"sig":"MEQCIHzf0Yu4mnietQjCYCd5IMHAPs+xCKi8EhAQxhBQU65QAiBBzSibR7pVPW6+7aMNG3dbZfpHX4wGe3PplfrxdbxL0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCSR3RrzLPu5H2gLgHYyncBWv+JgWeMSSqPJI+a9dPkeQIhAMDGZnSNLRP84NsmKZqNsymVSzMUT5iK7M451O1jDra0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.29.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4217702},"main":"lib/graph.js","engines":{"node":">=20"},"gitHead":"24f65d55f012cad14340d8e423ea475860d4ce92","scripts":{"test":"node --require ./test/helpers/tmp-cleanup.js --test test/*.test.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.19.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spor_0.29.1_1790422785018_0.16736705646494499","host":"s3://npm-registry-packages-npm-production"}},"0.29.2":{"_id":"@sporhq/spor@0.29.2","bin":{"spor":"bin/spor.js","spor-hook":"bin/spor-hook.js"},"bugs":{"url":"https://github.com/sporhq/spor/issues"},"dist":{"shasum":"14abad0785dbd7189fd0b199e93c9b280c0de1f3","tarball":"https://registry.npmjs.org/@sporhq/spor/-/spor-0.29.2.tgz","fileCount":199,"integrity":"sha512-gr69BtyZxoia4u93CZzQuRIG+0L85LUFKt9OBQEvg9a7cmaOPlncTm1JHbbXrnNxkDV9pC/UFN6cF19n84kNlA==","signatures":[{"sig":"MEUCIQCUuF4Ydu40AdYtLtjrGSn1lfaNbtQDiI8oKXNWtqfyKwIgEVpLJ9HpscMCj+7naMB+LD+5vCOX1zYqd4arBp0qfmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZ+pjqSK6s55KejVS3i2y6iXCXpJUH9TZSebzDdEJn1AIhAObkWW7WBRxgQ0yeUmy4uF8nh/JfTHsZHyUaJ9KMPVs1"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sporhq%2fspor@0.29.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4452343},"main":"lib/graph.js","name":"@sporhq/spor","author":{"name":"Anthony Allen"},"engines":{"node":">=20"},"gitHead":"61509f49cc6cb0d6377b1312eb1b4d2c8d14518f","license":"Apache-2.0","scripts":{"test":"node scripts/test-run.js","release":"node scripts/release.js","test:e2e":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-claude.test.js","test:shard":"node scripts/test-run.js --shard","conformance":"node conformance/runner.js","eval:skills":"node scripts/run-skill-evals.js","test:e2e:codex":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-codex-dispatch.test.js","test:e2e:copilot":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-copilot-dispatch.test.js","test:e2e:opencode":"node --require ./test/helpers/tmp-cleanup.js --test test/e2e-opencode-dispatch.test.js"},"version":"0.29.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c4eca73-719b-4c13-b427-d5c0ba019b90"}},"homepage":"https://sporhq.io","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"_npmVersion":"11.19.0","description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","directories":{},"maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spor_0.29.2_1790583383902_0.8043560478237215"}}},"time":{"created":"2026-06-12T09:30:10.820Z","modified":"2026-09-28T08:16:24.435Z","0.1.0":"2026-06-12T09:30:11.168Z","0.1.1":"2026-06-15T06:44:24.048Z","0.2.0":"2026-06-15T08:43:11.497Z","0.2.1":"2026-06-15T11:08:37.413Z","0.2.2":"2026-06-15T11:13:41.042Z","0.2.3":"2026-06-15T12:07:17.781Z","0.2.5":"2026-06-15T12:37:31.234Z","0.2.6":"2026-06-15T14:29:28.181Z","0.2.7":"2026-06-15T14:54:35.703Z","0.2.8":"2026-06-15T17:15:34.764Z","0.2.9":"2026-06-16T07:44:49.255Z","0.3.0":"2026-06-16T08:14:03.088Z","0.3.1":"2026-06-16T10:06:05.749Z","0.4.0":"2026-06-16T10:13:59.421Z","0.4.1":"2026-06-16T10:23:32.930Z","0.4.2":"2026-06-16T11:47:18.625Z","0.5.0":"2026-06-16T12:56:13.805Z","0.5.1":"2026-06-16T12:58:40.996Z","0.5.2":"2026-06-16T13:40:09.634Z","0.6.0":"2026-06-16T15:47:24.558Z","0.7.0":"2026-06-17T07:24:29.834Z","0.7.1":"2026-06-17T10:16:45.298Z","0.8.0":"2026-06-17T10:25:17.106Z","0.9.0":"2026-06-17T19:27:14.603Z","0.10.0":"2026-06-18T19:46:18.661Z","0.11.0":"2026-06-19T13:13:41.775Z","0.12.0":"2026-06-20T09:04:43.027Z","0.12.1":"2026-06-20T09:10:19.945Z","0.13.0":"2026-06-21T10:08:06.913Z","0.14.0":"2026-06-21T18:53:46.131Z","0.15.0":"2026-06-22T11:42:55.153Z","0.16.0":"2026-06-22T14:36:20.588Z","0.17.0":"2026-06-22T19:53:58.585Z","0.18.0":"2026-06-24T12:30:08.083Z","0.18.1":"2026-06-24T15:29:35.976Z","0.18.2":"2026-06-24T16:11:35.927Z","0.18.3":"2026-06-24T16:25:34.345Z","0.18.4":"2026-06-27T09:46:18.268Z","0.18.5":"2026-07-02T13:46:20.796Z","0.18.6":"2026-07-04T11:03:42.131Z","0.19.0":"2026-07-05T14:13:25.813Z","0.20.0":"2026-07-06T14:44:52.812Z","0.20.1":"2026-07-06T14:58:58.635Z","0.21.0":"2026-07-14T17:17:19.337Z","0.21.1":"2026-07-14T17:55:52.457Z","0.22.0":"2026-07-14T18:18:39.368Z","0.23.0":"2026-07-18T13:03:54.936Z","0.24.0":"2026-07-19T12:46:05.021Z","0.25.0":"2026-08-22T08:50:43.896Z","0.26.1":"2026-08-25T13:14:16.889Z","0.27.0":"2026-09-04T07:13:25.192Z","0.28.0":"2026-09-04T08:14:23.634Z","0.28.1":"2026-09-04T08:36:18.328Z","0.29.0":"2026-09-25T09:18:29.779Z","0.29.1":"2026-09-26T11:39:45.142Z","0.29.2":"2026-09-28T08:16:24.031Z"},"bugs":{"url":"https://github.com/sporhq/spor/issues"},"author":{"name":"Anthony Allen"},"license":"Apache-2.0","homepage":"https://sporhq.io","keywords":["knowledge-graph","context","memory","agents","spor","provenance"],"repository":{"url":"git+https://github.com/sporhq/spor.git","type":"git"},"description":"Spor — a shared memory substrate for teams and agents. Decisions, their reasons, and the traces they leave. Knowledge-graph context compiler: session-start briefings, per-prompt digests, capture at discovery, end-of-session distillation, decision queue.","maintainers":[{"name":"antpallen","email":"anthony@ant.wtf"}],"readme":"# Spor\n\nSpor gives coding agents a memory they can carry from one session to the next.\n\nIt keeps track of the useful things that normally disappear into chat history: decisions, rejected approaches, open questions, project norms, tasks, incidents, and the reasons behind them. When a new session starts, Spor briefs your agent with the relevant parts of that history. When the session ends, useful new context can be written back.\n\nThe name comes from Norwegian: *spor* means the track something leaves behind.\n\n📖 **Full documentation: [docs.sporhq.io](https://docs.sporhq.io)** — concepts, getting started, the CLI, the REST API, the MCP surface, and the hosted product.\n\n## Why use Spor?\n\nCoding agents are good at working inside a single session. The problem is everything before and after that session.\n\nWithout shared memory, you keep repeating things like:\n\n* “We already tried that.”\n* “That service has a weird deployment rule.”\n* “This was decided in the last refactor.”\n* “Don’t use that API; it only works in staging.”\n* “The answer is in an old design doc, but I can’t remember which one.”\n\nSpor gives those facts somewhere to live.\n\nIt is not just a pile of notes. Spor stores knowledge as a small typed graph, so it can preserve relationships such as:\n\n* this decision supersedes that one\n* this task is blocked by this issue\n* this implementation came from this spec\n* this correction should affect future briefings\n* this rejected idea should not be proposed again next week\n\nThat graph can live locally on your machine, or be shared by a team.\n\n## How it works\n\nAt a high level, Spor runs a simple loop:\n\n1. **Brief**\n   At the start of a coding session, Spor finds relevant project context and gives it to your agent.\n\n2. **Nudge**\n   While you work, Spor can suggest capturing useful discoveries before they vanish.\n\n3. **Distil**\n   At the end of a session, Spor can turn the important parts of the transcript into one or two durable graph nodes.\n\n4. **Reuse**\n   Future sessions get briefed from the graph instead of starting cold.\n\nYou can also ask for things directly, such as a briefing for a task, a correction to stale context, or the next item in the project queue.\n\n## What is a briefing?\n\nA briefing is the packet of context Spor gives your coding agent before it starts work.\n\nIt is not a transcript dump. Spor reads the project graph, finds the nodes that look relevant to the current repo and task, and turns them into a short working summary.\n\nA good briefing might include:\n\n* the decisions that still apply\n* old approaches that were rejected\n* open tasks and blockers\n* project-specific conventions\n* related incidents, specs, or design notes\n* corrections that should stop the agent repeating stale advice\n* links back to the graph nodes the briefing came from\n\nFor example, before working on auth, a briefing might tell the agent:\n\n```text\nUse the token exchange flow from dec-auth-token-exchange.\nDo not revive the old session-cookie approach; it was rejected in dec-auth-cookie-rejection.\nThe current blocker is issue-auth-refresh-race.\nSecurity review notes are in art-auth-review-2026-06.\n```\n\nThe point is to give the agent enough memory to start in the right place, without making you paste old notes into every session.\n\nBriefings can be created automatically at session start, but you can also ask Spor directly.\n\nIn agent hosts that support tool mentions, use `@Spor`:\n\n```text\n@Spor brief me before I change the auth middleware\n@Spor what do we already know about the export pipeline?\n@Spor why did we reject the previous queue design?\n@Spor what should I avoid touching in this repo?\n```\n\nYou can also use the explicit command:\n\n```text\n/spor:brief\n```\n\nA briefing is itself stored as a graph node, with links back to the nodes it was compiled from. That means it can be reviewed, corrected, versioned, and rebuilt when the graph changes.\n\n## Install\n\nSpor is distributed as an npm package.\n\n```bash\nnpm install -g @sporhq/spor\n```\n\nRequirements:\n\n* Node.js 20 or newer\n\nFor local use, Spor runs without:\n\n* a database\n* a server, unless you want live team sharing\n\nThe package installs two commands:\n\n* `spor` — the human-facing CLI\n* `spor-hook` — the hook dispatcher used by agent hosts\n\nCheck the install with:\n\n```bash\nspor --help\n```\n\n## Connect Spor to your agent\n\nInstall the adapter for the agent host you use:\n\n```bash\nspor install claude\n```\n\nOther supported hosts include:\n\n```bash\nspor install codex\nspor install gemini\nspor install cursor\nspor install copilot\nspor install opencode\n```\n\nTo see what Spor detects on your machine:\n\n```bash\nspor install\n```\n\nUseful install flags:\n\n```bash\nspor install --all       # install every detected host\nspor install --print     # show what would change, without changing it\nspor install --scope repo\nspor install --scope user\n```\n\n`--scope user` is the default. It installs Spor for you.\n\n`--scope repo` writes configuration that can be committed with a repository.\n\nRe-running `spor install` is safe. It refreshes the Spor paths and does not duplicate existing hooks.\n\n## First-time setup\n\nAfter installing the adapter, open your coding agent inside a repo and run:\n\n```text\n/spor:onboard\n```\n\nThis is the easiest way to start.\n\nOnboarding will:\n\n* check your Spor status\n* choose local or team mode\n* set up your identity\n* enable Spor for the current repo\n* ask what sources it may read\n* optionally backfill context from git history, docs, and issue trackers\n\nYou can run it again later if setup was interrupted or something feels wrong.\n\n## Using Spor day to day\n\nOnce Spor is enabled for a repo, you usually do not need to think about it.\n\nAt the start of a session, your agent gets a briefing: a short, task-aware summary of the project memory that matters right now. During the session, Spor can surface related context, answer direct questions through `@Spor`, or suggest captures. At the end, it can distil useful discoveries back into the graph.\n\nIn Claude Code, the main commands are:\n\n```text\n/spor:spor       # the operating manual — load before any graph operation\n/spor:brief      # get a briefing for a task or area\n/spor:correct    # fix stale or wrong context\n/spor:defer      # capture something to return to later\n/spor:ask        # record a question the graph cannot answer\n/spor:next       # show the next useful thing to work on\n/spor:triage     # actively work the queue: dedupe, groom, close readiness gaps\n/spor:onboard    # first-time setup\n/spor:backfill   # extend the graph from existing sources\n/spor:factory    # compile a factory: what has to be true before work counts as done\n```\n\nFrom the shell, `spor status` is the first thing to run when something is unclear:\n\n```bash\nspor status\n```\n\nIt shows the current mode, graph, project, server health, and whether Spor is active in the current repo.\n\n## Background agents\n\nSpor can dispatch background work with the right context already attached.\n\n```bash\nspor dispatch \"wire up token rotation in the pipeline\"\n```\n\nYou can also dispatch from existing graph nodes or from the queue:\n\n```bash\nspor dispatch issue-86\nspor dispatch --from-queue\nspor dispatch --backfill\n```\n\nWhen dispatching a node, Spor briefs the agent with the relevant neighbourhood of the graph. It also avoids obvious duplicate work: if the same node is already being worked on locally, or already claimed in team mode, Spor refuses the duplicate dispatch unless you force it.\n\nTo see what would be launched without starting anything:\n\n```bash\nspor dispatch issue-86 --print\n```\n\n`--print` is a full diagnostic, not just a prompt preview: it runs the same\nresolution path a real dispatch does and reports the **effective tenant and the\nselector that chose it**, the profile and harness, the **write posture**, the\n**candidate workspace and whether it is isolated**, and a `preflight:` verdict\nsaying whether an unattended worker would be refused there and why. It performs\nnone of a dispatch's side effects — no claim, no child, no worktree, no config\nwrite — and never echoes a credential.\n\nTo provide your own prompt wrapper:\n\n```bash\nspor dispatch issue-86 --template prompt.tpl\n```\n\nTemplates can use placeholders such as:\n\n```text\n{{brief}}\n{{task}}\n{{node}}\n{{id}}\n{{title}}\n{{summary}}\n{{type}}\n{{status}}\n{{date}}\n{{slug}}\n{{dir}}\n{{default}}\n```\n\n`{{id}}`, `{{summary}}`, `{{type}}`, `{{status}}`, and `{{date}}` come from the\ndispatched node's own frontmatter fields (blank in free-text or `--backfill`\ndispatch, where there is no target node).\n\nA dispatched agent runs beyond the launcher's own lifetime — a Claude Code\nagent detaches into its own background-agent daemon, a Codex agent into a\nsupervisor Spor owns (more on that below) — so `spor dispatch` records every\nrun it launches and `spor runs` reports how each one ended:\n\n```bash\nspor runs\nspor runs --node issue-86\n```\n\nEach run resolves to a terminal state — `done`, `failed`, `vanished` (it stopped\nmid-turn, or it ended in a way nothing can be attributed to), or `failed_launch`\n— with the reason, and a class that keeps environment failures such as provider\ncredit exhaustion separate from failures of the work itself. A Claude Code run\nthat bound a session also carries a pointer to its transcript; a Codex run's\nequivalent evidence is its own log instead. One that never bound a session says\nso rather than borrowing a transcript from whatever else ran in that checkout.\nTerminal records age out after `dispatch.runRetentionMs` (default 14 days).\n\nThat state describes how the **process** ended. Alongside it every run also\ncarries its **outcome** — what the run did to the graph — as exactly one of\n`resolved`, `reported`, `declined`, or `failed`:\n\n| outcome | meaning |\n|---|---|\n| `resolved` | the graph itself attests completion — a live resolving edge (`resolves`/`answers`) onto the target node, or, for a type retired by its own status rather than by an edge, a status that has reached that type's terminal partition. Verified by re-reading the node after the run, never inferred from an exit code and never taken from the agent's own word |\n| `reported` | no attestation of completion, but the agent left a final report. An enforced run files it as an artifact node linked to the target (`relates-to`) and **then** hands the lease back, so the item returns to the queue carrying the work instead of vanishing into a dead run. `report_node_id` names the artifact — a filed report always reads `reported`, enforced or not; the converse does not hold, since an unenforced `reported` filed nothing |\n| `declined` | the agent declared the ITEM wrong rather than the work unfinished, by making the first line of its final report `DECLINED: <reason>`. An enforced run files the reason as a `finding` on the target, clears the target's `readiness: agent` stamp, and hands the lease back — the item goes to triage, never into a gate. The state is the agent's own declaration, so it stands whether or not those three land: an unenforced decline performs none of them, a finding the graph refuses leaves the lease deliberately held, and a refused readiness clear is recorded rather than fatal |\n| `failed` | no attestation and no report filed — a launch failure, a crash before any report, an empty one, or a graph that refused the write. `terminal_note` carries the failure note. An enforced run hands the lease back, except where the report (or a decline's finding) could not be filed at all — see the ordering rule below |\n\nThe ordering is the contract: the report is filed before the lease goes back to\nthe pool, so an interrupted run can leave a held lease with the report filed but\nnever a released lease with nothing attached.\n\nThose legs are attempts, not postconditions of the outcome: each records its own\nverdict on the run record rather than being implied by the state. `report_node_id`\n/ `finding_node_id` are present only where the artifact actually landed,\n`readiness_cleared` says whether the stamp was cleared, and `lease_released` says\nwhether the server *confirmed* the handback — a `false` there is an unconfirmed\nhandback, not proof the lease is still held, and the remedy reconciles either way\n(`spor release <id>` is idempotent, and a claim someone else now holds answers\n`409`). WORKERS.md §8 is the field-by-field contract.\n\nEnforcement covers **supervised** launches (Claude Code, Codex, OpenCode, Copilot\nCLI — every built-in). A target's TYPE never costs a run its enforcement: both\nattestation paths — the resolving edge, and the terminal own-status a\nstatus-only type is retired by — are judged, and a target that either path finds\nunfinished takes the same file-then-hand-back route, whichever one judged it.\nWhat does cost it is a posture where nothing could be verified at all: a\nlegacy native-background run record (from the retired `spor dispatch --bg`\nlaunch), a free-text dispatch with no target node, and a graph that could not be reached are\nclassified best-effort and marked `terminal_enforced: false` — an unenforced run\ncan never read `resolved`. Local mode is not excluded: it has no server door to\nfile a report or hand a lease back through, but it does have a graph, so a local\ntarget that reads attested complete is an enforced `resolved`, and only its other\noutcomes are unenforced. A report is still filed wherever one exists and the\ngraph is reachable. Filing sits downstream of that verify leg, so a record this\nclient writes unenforced today carries no `report_node_id` — but reach for the\nartifact by testing that key's presence, not by testing `terminal_enforced`,\nwhich is the flag for whether to trust `terminal_state` (WORKERS.md §8 has the\nretained-record case that distinction exists for).\n`spor runs` prints the outcome (tagging `(unenforced)`), the note, and the report\nartifact id; `spor runs --json` carries the same fields on each record.\n\n### Working the queue continuously\n\n`spor dispatch` does one item. `spor work` does them all: it polls the queue,\ntakes the items this machine may actually run, dispatches each one under its\nrouted profile, waits for its **terminal state**, and goes round again.\n\n```bash\nspor work                                   # work the whole queue, one run at a time\nspor work --project spor --concurrency 2    # two runs in flight, scoped to one project\nspor work --once --print                    # tenant, posture, workspace isolation, gate coverage, candidates — launch nothing\n```\n\nIt is pull, not push: nothing schedules a worker, it takes work. That is safe\nbecause the claim is a server-held lease with a per-launch nonce — two workers\nracing for one node end with one claim and one refusal, and a worker that dies\ndrops its lease by lapsing. Capabilities stay machine-local facts and the fleet\nscheduler stays advisory, so a worker that cannot reach the scheduler degrades\nto \"work the queue with what I have\" rather than stopping.\n\nIt adds no guards of its own. Every launch goes through the same code path as\n`spor dispatch --node <id>`, so already-resolved, `requires: human`, a profile\nthis box cannot satisfy (never substituted), a profile that tries to declare\nwhat to execute, the same-machine duplicate guard, the auto-claim, worktree\nisolation and the terminal-state contract all apply exactly as they do one-shot.\nTwo of those guards exist for the unattended case specifically (WORKERS.md §3.1)\nand are checked **before the claim**: the resolved harness must have a\nnon-interactive **write posture** — a Claude Code worker with no\n`--permission-mode` is refused rather than launched into a run where every write\ncomes back permission-blocked, and preflight never sets a posture for you — and\nthe **candidate workspace** must be free of other live writers, which with\n`dispatch.worktree` off means one dispatch at a time per checkout (turn\n`dispatch.worktree` on before running a worker at `--concurrency` above 1). (A\n`dispatch.worktreeSetup` hook does not turn isolation on; declaring one without\n`dispatch.worktree` is diagnosed, not silently honoured by halves.)\nSelection is the same filtered page `--from-queue` picks its one item from,\nminus anything whose derived readiness is `human` — a worker never claims work\nmeant for a person — and minus anything already in flight on this machine. An\nitem that is refused, or whose run ended without resolving it, is remembered\nwith the reason and retried after `--retry-after` instead of being re-attempted\non the next poll.\n\nA slot frees when the **run record** goes terminal and its outcome is settled,\nnot when a launcher returns — by then the terminal-state contract has filed the\nreport and released or held the lease. There is no `--no-claim` here: the lease\nis what keeps two workers off one node, so a loop always takes it. Stopping\n(`SIGINT`/`SIGTERM`, or `--once`/`--max`) stops picking up new work; runs\nalready in flight are detached, keep going, and self-report through `spor runs`.\n\nEvery run is supervised — Claude Code, Codex, OpenCode, Copilot CLI, or a\ndeclared harness — so a slot frees when the run's own supervisor closes its\nrecord; `--run-max` (default 24 hours) is the backstop that stops following a\nrun that never goes terminal. (The native `claude --bg` launch, whose ending\ncould only be inferred by scraping `claude agents --json` and the session\ntranscript, is retired; a legacy record from it is judged from the record alone\nand closed an hour after its launch.)\n\nRun it as a service and read it back:\n\n```bash\nspor work --status          # every worker on this box: slots, outcomes, what it is skipping and why\nspor work --regate <run-id> --factory <id>   # re-judge one refused run after fixing what refused it (no redo)\nspor work --status --json\n```\n\nRecords live under the machine-local journal; a worker whose process is gone\nreads as stale, never as running. The `work.*` config keys (`concurrency`,\n`intervalMs`, `maxIntervalMs`, `retryAfterMs`, `project`) let a unit file be a\nbare `spor work`.\n\n### Gates — what has to be true before work counts as done\n\nA worker with no factory declared runs bare: dispatch, await, repeat. Point it\nat a **factory definition** — a `type: factory` node in the graph — and its\nordered gate list is enforced, in code, between the claim and the resolve.\n\n```bash\nspor schema adopt schema-factory            # the factory/gate schemas ship as candidates\nspor work --factory factory-spor-default    # (or set work.factory)\nspor work --print --factory factory-spor-default   # see the gates without launching anything\n```\n\nThree kinds of gate, written inline in the factory or referenced as shareable\n`type: gate` nodes an org vets once and reuses (the runner cannot tell them\napart):\n\n- **command** — runs the declared acceptance suite from the **trusted ref**,\n  never the implementer branch's copy of the tests. A change that touched a\n  declared protected test path fails **closed**, unrun, and the test change is\n  filed for a separate lane under a different profile.\n- **agent-review** — dispatches a profile-routed, cross-model review and parses\n  its structured findings verdict in code. An unreadable verdict is a failure,\n  never a pass. Failures loop implementer fix cycles up to a declared cap, then\n  escalate by filing an item a person has to answer.\n- **human** — armed by declared risk classes (`touches:auth`, …); files an\n  approval item and blocks the resolve until someone answers it.\n\nEvery gate outcome is written to the graph as a fact linked to the work item,\nand a factory that does not validate refuses to start the worker rather than\nletting it run ungated. [WORKERS.md](WORKERS.md) §10 is the full contract.\n\nYou do not have to hand-write the definition. `/spor:factory` is the compiler:\nit interviews you — product questions if you are the owner, pipeline questions\nif you are the engineer — reads your CI config, suites and graph, proposes a\npipeline, and emits the factory, its gates and the profiles they route to as\nnodes. It also maintains one from its own telemetry (\"why did the last three\nfail review\"), and seeds a test-writer lane when there is no acceptance suite\nto gate on yet. It authors data only; enforcement stays in `spor work`.\n\nA factory that completes items itself (`completion: {by: controller}`) keeps\nits coordination state in an **execution store**: one execution per item and\npipeline attempt, pinned to the definition it was opened under, leased with a\nfence, moved by an ordered idempotent event log, and completed only at its\ndeclared boundary. On a team server that store is the server's own\n(`/v1/executions`, where a resolving edge into a held item is refused at the\ndoor); in personal mode it is a shape-compatible local store under your Spor\nhome. `spor executions` reads either:\n\n```bash\nspor executions                      # every execution this box drives\nspor executions --node task-x        # one item's executions\nspor executions exec-4da6d4763543a301 --events\n```\n\nA worker that loses its lease — its box went quiet and another took the\nexecution over — never writes the resolving edge on the strength of its local\nstate; what it recorded while partitioned is replayed idempotently when it\nreconnects. [WORKERS.md](WORKERS.md) §10.15 has the contract.\n\n### Choosing a harness\n\nBy default, `spor dispatch` launches a Claude Code agent in headless print mode\n(`claude -p --output-format stream-json`) under the shared supervisor: the\nprompt goes in on stdin, the run's session id and final report are read off its\nevent stream, the run record goes terminal when the process does, and the\nterminal-state contract judges the outcome like any other supervised harness.\nThis is the only launch mode: the native background session (`spor dispatch\n--bg`, `claude --bg`) is retired — its outcome could only be inferred by\nscraping `claude agents --json` and the session transcript, which shifted with\nevery Claude Code release. `--bg` is now refused (run `claude --bg` yourself\nfor an attachable session), and a leftover `dispatch.claudeLaunchMode:\nnative-background` is ignored with a warning. To dispatch under a different coding-agent CLI —\nCodex, OpenCode, and GitHub Copilot CLI are also supported — resolve a\n**profile**: a node that bundles a harness, model, and toolset.\n\n```bash\nspor dispatch issue-86 --profile profile-codex-sol\n```\n\nA profile looks like this:\n\n```markdown\n---\nid: profile-codex-sol\ntype: profile\ntitle: Codex / gpt-5.6-sol\nsummary: Codex harness running gpt-5.6-sol — general-purpose dispatch profile.\nstatus: active\nharness: codex\nmodel: gpt-5.6-sol\nmcp: [spor]\n---\n```\n\nProfiles are authored deliberately rather than captured from a transcript —\nwrite one yourself with `spor put-node`, or reuse one your team has published.\nAn `agent` node can also carry a default profile (a `uses-profile` edge), so\nits dispatches pick a harness without a flag every time; `--profile` on the\ncommand line always wins over that default.\n\nBefore launching anything, dispatch checks whether **this machine** can\nactually run the resolved profile — is the harness's CLI reachable, are the\nright MCP servers reachable, and so on (see `spor capabilities`). If it can't,\ndispatch refuses outright rather than silently falling back to Claude Code; in\nteam mode it also names any other machine in the fleet that can run it.\n\nCodex-specific flags (`--sandbox`, `--approval-policy`) and Claude-specific\nones (`--permission-mode`, `--agent`) are mutually exclusive — passing the\nwrong one for the resolved harness is a hard error, so a dispatch can't launch\nhalf-configured for the wrong CLI. The one exception: `--permission-mode\nbypassPermissions` against a Codex profile has a real Codex equivalent\n(\"run fully unattended\"), so instead of erroring it translates to exactly\n`--sandbox danger-full-access --approval-policy never` and prints a loud\nwarning naming the translation — so an orchestrator or script that passes the\nsame bypass flag to every dispatch regardless of harness keeps working. The\ntranslation is fixed: an explicit `--sandbox`/`--approval-policy` beside the\nbypass is a contradiction and is refused, not an override (say the posture in\nCodex flags alone if you want a different one). Every other permission-mode\nvalue still hard-errors against Codex.\n\nThe harnesses do not all confine a run the same way. Codex dispatch defaults to\n`--sandbox workspace-write`, so its filesystem reach is bounded. OpenCode\n(`--auto`) and GitHub Copilot CLI (`--allow-all --no-ask-user`) have no\nequivalent — a dispatch under either runs with unrestricted tool access,\nbecause an unattended run has no human to answer a permission prompt. Dispatch\nthose into a worktree or a checkout you are willing to have an agent change.\n\n**Naming a launcher explicitly.** A dispatched run does not inherit your\ninteractive shell, so a CLI installed under a prefix that only an interactive\nshell sees (a common Homebrew setup) resolves when you check it by hand and\nresolves to nothing when Spor launches it. Point Spor at the binary directly\nrather than relying on `PATH`, in `~/.spor/config.json` — machine-specific, like\n`dispatch.repos`, so it never belongs in a committable `.spor.json` (and is\ndropped with a warning if it turns up in one):\n\n```json\n{ \"dispatch\": { \"bin\": { \"opencode\": \"/home/linuxbrew/.linuxbrew/bin/opencode\" } } }\n```\n\n`SPOR_CLAUDE_CMD` / `SPOR_CODEX_CMD` / `SPOR_OPENCODE_CMD` / `SPOR_COPILOT_CMD`\noverride the same thing per harness and win over the config file. An explicit\nlauncher is used verbatim and is never quietly swapped for something on `PATH`;\nwith none set, the bare name resolves on `PATH` as before.\n\n**Declaring a harness Spor has no adapter for.** A profile can name a harness\nthis client ships no adapter for at all — a team's modified Claude Code build,\nan internal wrapper. The graph carries only the *name*; the machine binds what\nthat name runs, in the same machine-local config:\n\n```json\n{\n  \"dispatch\": {\n    \"harness\": {\n      \"oxalpha\": {\n        \"command\": \"/opt/ox/bin/ox\",\n        \"args\": [\"run\", \"--jsonl\", \"--dir={cwd}\", \"--model={model}\"],\n        \"label\": \"Ox Alpha\",\n        \"report\": { \"from\": \"lastText\", \"text\": \"message.text\" },\n        \"session\": \"session.id\"\n      }\n    }\n  }\n}\n```\n\nA profile then selects it with nothing but `harness: oxalpha`. That split is\nthe point: **a graph write must never define what a machine executes.** A\nprofile carrying a `command`, `args`, `env` or any other launch-defining field\nis refused outright rather than honoured, and a machine that never declared the\nid refuses the dispatch and leaves the item assigned — so an org can publish a\nprofile naming `oxalpha` and only the boxes whose owner bound that id will take\nthe work. `spor capabilities` lists a declared harness alongside the built-in\nones, and, in team mode, publishes it to the fleet so re-routing can find it.\n\nThe same rule holds for a write anyone else could land in your repo:\n`dispatch.harness` (and `dispatch.bin`) are dropped with a warning if they\nappear in a committable `.spor.json`, so cloning a repo — or pulling a PR\nbranch into one — can never choose a command this box will run. They are read\nonly from your own `~/.spor/config.json` (or the global one).\n\nWhat the declaration may set, and nothing else:\n\n* `command` — the launcher: an absolute path, or a bare name resolved on `PATH`.\n* `args` — the argv template. `{cwd}` becomes the run's directory, `{report}`\n  the run's report path, `{model}` the resolved model. An entry carrying\n  `{model}` is dropped **whole** when no model resolves, so it has to be the\n  flag itself — `--model={model}`, or `--model=anthropic/{model}` — never a\n  bare value after a separate `--model`, which would leave that flag to swallow\n  the next argument. A declaration that gets this wrong is refused, not\n  launched.\n* `label` — what `spor dispatch` and `spor runs` call it.\n* `report` — how the run's final message is recovered: `\"lastText\"` (the\n  default) keeps the last string found at the `report.text` JSON path in the\n  harness's own event stream, and `\"file\"` means the harness writes the report\n  itself at the `{report}` path you passed it.\n* `session` — the JSON path (or paths) carrying the harness's session id, so\n  the run can be bound to its agent session. Optional; without it the run\n  simply is not bound.\n\nEverything else is fixed, and naming it is an error: a declared harness always\nruns under the supervisor below, always takes its prompt on **stdin** (so a\ncompiled briefing never lands in a process listing), and always gets its\nagent-scoped token as `SPOR_TOKEN` in the run's environment. A malformed\ndeclaration is refused by name — Spor never falls back to guessing.\n\nClaude Code dispatch detaches into Claude Code's own background-agent daemon —\nthe launcher exits immediately, and `spor dispatch` can only reconcile what\nhappened to it afterwards from the harness's own session transcript. Every\nother harness instead runs under a small supervisor Spor itself owns: it\nlaunches the CLI's headless mode in the background, streams its progress into a\nprivate log, and captures the run's final message to a report file. At launch\nit prints where everything lives:\n\n```text\nrun:     3f9a2c1e-... (Codex supervisor running)\nlog:     ~/.spor/journal/dispatch/3f9a2c1e-....log\nreport:  ~/.spor/journal/dispatch/3f9a2c1e-....report.md\nsession: 019f7a51-...\n```\n\n`log` is the full JSONL progress stream; `report` is the run's final message —\nthe thing to read for \"what did it conclude\". Both paths, plus the run's\noutcome, are also recorded durably and can be looked up later, same as any\nother dispatch:\n\n```bash\nspor runs --node issue-86            # human-readable: state, why, log path\nspor runs --node issue-86 --json     # add .runs[0].report_path for the final message\n```\n\n## Local mode\n\nBy default, Spor can run entirely on your machine.\n\nThe graph lives outside your code repositories, under:\n\n```bash\n~/.spor/\n```\n\nor another directory if `$SPOR_HOME` is set.\n\nThe graph is a normal git repo. Nodes are plain markdown files. This means your project memory has history, diffs, branches, and all the boring-but-useful properties of git.\n\nA local graph is good when:\n\n* you are trying Spor for the first time\n* you want personal memory across projects\n* you do not need live team sharing\n* you prefer to keep everything on your own machine\n\nBecause the graph is outside your code repo, context from a branch can survive even if the branch never merges.\n\n## Team mode\n\nTeam mode is for sharing one live graph across people and agents.\n\nJoin a team graph with an invite token:\n\n```bash\nspor join spor_pat_...\n```\n\nBy default, this points at the hosted Spor service. To use another server:\n\n```bash\nspor join https://spor.example.com spor_pat_...\n```\n\nYou can also configure team mode with environment variables:\n\n```bash\nexport SPOR_SERVER=https://api.sporhq.io\nexport SPOR_TOKEN=spor_pat_...\n```\n\nIn team mode, writes are attributed to the person or agent that made them. The server also handles concurrent writes so teammates do not clobber each other.\n\nTeam mode is useful when:\n\n* several people work on the same codebase\n* background agents are working alongside humans\n* decisions should be shared immediately\n* open questions should route to the person most likely to know\n* the team wants a shared queue of useful work\n\nIf the team server is unavailable, Spor fails open. It should not block your coding session.\n\n## Sharing a graph over git\n\nYou can also share a graph without running a server.\n\nCreate or clone a graph as a normal git repo, then point your code repo at it with a committed `.spor` marker:\n\n```text\n# .spor\nrepo: my-service\ngraph: ../my-team-graph\n```\n\nThe path is resolved relative to the repo marker. A common layout is:\n\n```text\nmy-service/\nmy-team-graph/\n```\n\nEveryone clones both repos side by side. Distilled nodes are written as markdown and can go through your normal pull-request flow.\n\nThis is simpler than team mode, but it does not provide live concurrent writes, hosted isolation, or question routing.\n\n## What gets stored?\n\nSpor stores small, typed nodes.\n\nExamples include:\n\n* decisions\n* tasks\n* issues\n* incidents\n* specs\n* norms\n* questions\n* corrections\n* people\n* agents\n* projects\n* repositories\n\nEach node is a markdown file with frontmatter and a short body. Nodes can link to other nodes using typed edges.\n\nA simplified decision node looks like this:\n\n```markdown\n---\nid: dec-export-csv-format\ntype: decision\nproject: meridian\ntitle: Bulk export uses CSV with a stable column order\nsummary: CSV is the first supported bulk export format because customers already use spreadsheet-based workflows.\nstatus: active\ndate: 2026-06-09\nedges:\n  - {type: derived-from, to: spec-export-schema}\n  - {type: supersedes, to: dec-export-json-only}\n---\n\nWe chose CSV first because it works with the tools customers already use.\n\nJSON export is still possible later, but it is no longer the first format.\n```\n\nSee `GRAPH.md` for the full graph format.\n\n## Configuration\n\nSpor reads configuration from several places. More specific settings win over broader ones.\n\nPrecedence order:\n\n1. CLI flags\n2. environment variables such as `SPOR_SERVER`\n3. repo config: `.spor.json`\n4. user config: `$SPOR_HOME/config.json`\n5. global config: `~/.config/spor/config.json`\n6. built-in defaults\n\nA repo can opt in with `.spor.json`:\n\n```jsonc\n{\n  \"enabled\": true\n}\n```\n\nInstalling Spor does not automatically enable every repo you open. A repo is inactive until it has a `.spor` or `.spor.json` marker, or until you enable Spor globally.\n\nThis avoids leaking side-project context into a team graph by accident.\n\nTo enable Spor in the current repo:\n\n```bash\nspor enable\n```\n\nTo check what mode and config are active:\n\n```bash\nspor status\n```\n\nTo validate config:\n\n```bash\nspor validate\n```\n\nNever commit a team token into `.spor.json`. Use the environment, user config, or global config for secrets.\n\n## LLM usage and cost controls\n\nSpor can make small model calls for two things:\n\n* distilling useful session context at the end of a session\n* nudging you to capture useful findings while you work\n\nYou can turn either off:\n\n```bash\nexport SPOR_DISTILL=0\nexport SPOR_NUDGE=0\n```\n\nYou can also point them at a custom backend:\n\n```bash\nexport SPOR_DISTILL_CMD=/path/to/distiller\nexport SPOR_NUDGE_CMD=/path/to/classifier\n```\n\nThe backend contract is simple: prompt on stdin, response on stdout.\n\nSpor records model usage under:\n\n```bash\n$SPOR_HOME/journal/llm-calls/\n```\n\nTo inspect spend:\n\n```bash\nspor cost\nspor cost --since 2026-06-01\nspor cost --json\n```\n\n## Health and diagnostics\n\nSpor hooks are designed to fail open. If something goes wrong, your agent session should continue; you may just get less context.\n\nFor a health check, run:\n\n```bash\nspor-hook doctor\n```\n\nIt reports things like:\n\n* resolved mode\n* server reachability\n* token validity\n* outbox depth\n* dead-letter depth\n* cached briefing freshness\n* recent hook and distiller errors\n\nIf captures are stuck because the team server was unavailable, drain the outbox with:\n\n```bash\nspor drain\n```\n\n## Upgrading\n\nUpdate the npm package:\n\n```bash\nnpm install -g @sporhq/spor\n```\n\nThen refresh installed adapters:\n\n```bash\nspor upgrade\n```\n\nFor a specific host:\n\n```bash\nspor upgrade claude\n```\n\nTo preview changes:\n\n```bash\nspor upgrade --print\n```\n\nThis matters because some hosts cache plugins or hook definitions. Updating the npm package alone may not refresh what the agent has already loaded.\n\n`spor status` will show when a loaded plugin is stale.\n\n## More docs\n\n* [docs.sporhq.io](https://docs.sporhq.io) — the full documentation site: concepts, getting started, CLI, REST API, MCP, and the hosted guide\n* `GRAPH.md` — graph format, node types, edges, and schema behaviour\n* `API.md` — REST and MCP server contract\n* `QUEUE.md` — queue, capture, routing, and workflow details\n* `WORKERS.md` — the worker protocol: claim/brief/work/report/resolve, lease\n  semantics, agent identity, and the terminal-state contract — for\n  implementing a Spor factory worker without this client\n* `adapters/` — host-specific adapter notes\n* `CONTRIBUTING.md` — contributing guide\n* `SECURITY.md` — security policy\n\n## License\n\nSpor is licensed under Apache-2.0. See `LICENSE` and `NOTICE`.\n\n“Spor” and “sporhq” are project trademarks. The Apache license grants rights to the code, not to the marks. See `TRADEMARKS.md` for details.\n\nContributions are welcome under inbound = outbound Apache-2.0.\n\n\nTo cancel a factory execution still owned by another worker or machine, use the\nexplicit person door:\n\n```sh\nspor release <node-id> --execution <execution-id> --force --reason \"Why this execution must stop\"\n```\n\nThis requires a person credential on a server. Agent credentials cannot use the\ncommand, including an agent owned by that person. Authorization uses the existing\ntenant graph boundary; it does not introduce a separate project ACL. In local\nmode, the graph home's Git email must bind to a person node and `dispatch.agent`\nmust be unset. That local check trusts filesystem/configuration access; it is not\ncryptographic proof of a human at the keyboard.\n\nThe command inspects the exact execution, then releases it only if its observed\nstate is unchanged. The journal records the person, time, reason, prior owner and\nfence. Late writes from the old worker are refused; release does not mark the\nwork complete. The execution acknowledgement precedes graph hold cleanup, and\ncleanup never clears a different execution's hold. No local dispatch record is\nrequired. If the response is lost or graph cleanup fails, a credential-bound\ncleanup intent stays in `journal/person-force-release` under the user config\nhome. Repeat the same explicit command and reason to recover. Receipt recovery\nonly reads the authoritative acknowledgement and retries exact graph cleanup;\nit never submits a force release unattended.\n\nLocal execution mutations use a filesystem lock across processes. A live writer\nkeeps its lock regardless of elapsed time; a verifiably dead process can be\nrecovered. Malformed ownership or an abandoned breaker fails closed. Stop all\nlocal execution writers before manually removing such a lock from the execution\nitem index directory; ordinary execution reads never repair or delete it.\n","readmeFilename":"README.md"}