{"_id":"@cordlesssteve/evidence-gate","name":"@cordlesssteve/evidence-gate","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cordlesssteve/evidence-gate","version":"0.1.0","description":"A framework forcing evidence-based claims via statistical significance + effect size + practical threshold","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build && npm run test"},"keywords":["statistics","t-test","hypothesis-testing","a-b-testing","effect-size","evidence-based","benchmarking"],"author":{"name":"cordlesssteve"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cordlesssteve/evidence-gate.git"},"engines":{"node":">=18.0.0"},"dependencies":{"simple-statistics":"^7.8.5"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0","vitest":"^2.1.0"},"_id":"@cordlesssteve/evidence-gate@0.1.0","gitHead":"d993ec432c9e397214622d92e302d60a3757f9d0","bugs":{"url":"https://github.com/cordlesssteve/evidence-gate/issues"},"homepage":"https://github.com/cordlesssteve/evidence-gate#readme","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Olb7EEvgD5v1MXgRJG9ykaHbN25j1Kf0xhKQ9/W/nVqLsMrb8ruEY8W5ChH6zRfYPM3f+A68dxn58iRAKMPmDw==","shasum":"fa46699efef1d6bb5b4ccbd54f5760315a8d0083","tarball":"https://registry.npmjs.org/@cordlesssteve/evidence-gate/-/evidence-gate-0.1.0.tgz","fileCount":42,"unpackedSize":104131,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCy0I4abmodc/iLXzkiSv0HPlNyZ/mMjxsydk5mhj3ltgIhAO7WXcDnOCypxzL2o/cRYCiuQ5B4XFNCWmnHhvxNFYHt"}]},"_npmUser":{"name":"cordlesssteve","email":"aam@stacktown.net"},"directories":{},"maintainers":[{"name":"cordlesssteve","email":"aam@stacktown.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/evidence-gate_0.1.0_1765912232098_0.33468568907408214"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-16T19:10:32.002Z","0.1.0":"2025-12-16T19:10:32.250Z","modified":"2025-12-16T19:10:32.582Z"},"maintainers":[{"name":"cordlesssteve","email":"aam@stacktown.net"}],"description":"A framework forcing evidence-based claims via statistical significance + effect size + practical threshold","homepage":"https://github.com/cordlesssteve/evidence-gate#readme","keywords":["statistics","t-test","hypothesis-testing","a-b-testing","effect-size","evidence-based","benchmarking"],"repository":{"type":"git","url":"git+https://github.com/cordlesssteve/evidence-gate.git"},"author":{"name":"cordlesssteve"},"bugs":{"url":"https://github.com/cordlesssteve/evidence-gate/issues"},"license":"MIT","readme":"# evidence-gate\n\n> A framework that forces evidence-based claims by requiring statistical significance + effect size + practical threshold before declaring a difference meaningful.\n\n**Status:** Planning/Design Phase (Level 0)\n\n## The Problem\n\nLLMs and humans frequently claim \"X is faster than Y\" without rigorous evidence. This leads to:\n- Accepting noise as signal\n- \"Statistically significant\" but practically meaningless conclusions\n- Ignoring data quality issues that invalidate results\n\n## The Solution\n\nevidence-gate provides **three gates** that must ALL pass before a comparison is declared meaningful:\n\n```\n┌─────────────┐   ┌─────────────┐   ┌─────────────────┐\n│   GATE 1    │   │   GATE 2    │   │     GATE 3      │\n│  p < 0.05   │ + │  |d| ≥ 0.5  │ + │ |Δ| ≥ threshold │ = MEANINGFUL\n│ (significant)│   │(medium effect)│  │  (practical)    │\n└─────────────┘   └─────────────┘   └─────────────────┘\n```\n\nPlus **data quality diagnostics** that warn about outliers, non-normality, and other issues before they corrupt your conclusions.\n\n## Quick Example\n\n```typescript\nimport { compareConditions } from 'evidence-gate';\n\nconst oldImpl = [101, 98, 105, 200, 99, 102, 97, 103, 100, 98];\nconst newImpl = [85, 82, 88, 84, 86, 83, 87, 85, 84, 86];\n\nconst result = compareConditions(oldImpl, newImpl, {\n  practicalThreshold: 10,  // 10ms is meaningful in our context\n});\n\nconsole.log(result.verdict);        // 'significant'\nconsole.log(result.interpretation); // Human-readable summary\nconsole.log(result.diagnostics.warnings); // Data quality issues\n```\n\n## Origin\n\nExtracted from [MonkeTree](../MonkeTree)'s benchmark suite, which implemented a full statistical testing framework with **24 verification tests** against known statistical table values.\n\n## Documentation\n\n- [PROJECT_CHARTER.md](./PROJECT_CHARTER.md) - Project vision and scope\n- [API_DESIGN.md](./docs/reference/01-architecture/API_DESIGN.md) - Detailed API design\n- [CURRENT_STATUS.md](./CURRENT_STATUS.md) - Current progress\n\n## License\n\nMIT (pending)\n","readmeFilename":"README.md","_rev":"1-f1b6ed69d35e30499b80bd6e35880010"}