{"_id":"@beaconlabs-io/evidence","_rev":"5-2d7a7cb52aff1970cb2b5971d633c73b","name":"@beaconlabs-io/evidence","dist-tags":{"latest":"1.1.4"},"versions":{"1.1.0":{"name":"@beaconlabs-io/evidence","version":"1.1.0","keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"author":{"name":"Beacon Labs"},"license":"MIT","_id":"@beaconlabs-io/evidence@1.1.0","maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"homepage":"https://github.com/beaconlabs-io/evidence#readme","bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"dist":{"shasum":"959c2894923a2480d71d8311ae61493b306aecaf","tarball":"https://registry.npmjs.org/@beaconlabs-io/evidence/-/evidence-1.1.0.tgz","fileCount":64,"integrity":"sha512-8QxHplnUdxQOhtm7+aIl05CXRTbqvV544vcsKYwugxmFln5cW9PjhzMZfnh8maHdMb0bruazUsgJ44DTkx43tw==","signatures":[{"sig":"MEYCIQD2/2qb0JOSXSjG16jwobukMdQJYvwzkI8ObeiirtMycgIhAJnp7aJ6csnNYVq6YWyFG4Jgo87qYtJdD9egYwnxP04h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@beaconlabs-io%2fevidence@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./content":{"types":"./dist/content/index.d.ts","import":"./dist/content/index.js"}},"gitHead":"bc90b978c6ebf1201716a08e9f7683454406c210","scripts":{"build":"bun run bundle-content && tsc -p tsconfig.build.json","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","validate":"bun run .github/scripts/validate-evidence.ts","changeset":"changeset","typecheck":"tsc --noEmit","bundle-content":"bun run scripts/bundle-content.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"},"repository":{"url":"git+https://github.com/beaconlabs-io/evidence.git","type":"git"},"_npmVersion":"10.9.4","description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","directories":{},"_nodeVersion":"22.21.1","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","husky":"^9.1.7","bun-types":"^1.0.0","typescript":"^5.0.0","@types/node":"^22.0.0","@changesets/cli":"^2.28.1","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/evidence_1.1.0_1768989696924_0.5518036266387756","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@beaconlabs-io/evidence","version":"1.1.1","keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"author":{"name":"Beacon Labs"},"license":"MIT","_id":"@beaconlabs-io/evidence@1.1.1","maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"homepage":"https://github.com/beaconlabs-io/evidence#readme","bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"dist":{"shasum":"86018574bcf369707314909d66fd400442e30d03","tarball":"https://registry.npmjs.org/@beaconlabs-io/evidence/-/evidence-1.1.1.tgz","fileCount":64,"integrity":"sha512-y9pbvjLI890qkDOsGUxP3nMuxeexitZ+K2nc759m0VEVus+iJFeCRbyu7qtgT/5AZ97Ape8bcAQGWtg4QdhL3w==","signatures":[{"sig":"MEYCIQD3f0OI99ZqPwj8ihwR6ajbX5qz8CEUQcNwIMpLaLGyUQIhAIEbH/xkylto1Zwa0cI6DXFApbUDBplZ4u6mBDgL4MOD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@beaconlabs-io%2fevidence@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./content":{"types":"./dist/content/index.d.ts","import":"./dist/content/index.js"}},"gitHead":"99f49d4e86ee4ff73ef9f714d82268b1d97c3c6e","scripts":{"build":"bun run bundle-content && tsc -p tsconfig.build.json","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","validate":"bun run .github/scripts/validate-evidence.ts","changeset":"changeset","typecheck":"tsc --noEmit","bundle-content":"bun run scripts/bundle-content.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb25aa-d5d8-4871-a759-e0d416749b6e"}},"repository":{"url":"git+https://github.com/beaconlabs-io/evidence.git","type":"git"},"_npmVersion":"11.6.2","description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","directories":{},"_nodeVersion":"24.12.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","husky":"^9.1.7","bun-types":"^1.0.0","typescript":"^5.0.0","@types/node":"^22.0.0","@changesets/cli":"^2.28.1","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/evidence_1.1.1_1768992500839_0.5579256559024046","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@beaconlabs-io/evidence","version":"1.1.2","keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"author":{"name":"Beacon Labs"},"license":"MIT","_id":"@beaconlabs-io/evidence@1.1.2","maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"homepage":"https://github.com/beaconlabs-io/evidence#readme","bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"dist":{"shasum":"f95313342a171e65dcdaed24c6b3ea22875f0f81","tarball":"https://registry.npmjs.org/@beaconlabs-io/evidence/-/evidence-1.1.2.tgz","fileCount":64,"integrity":"sha512-ngkh4swp/jBv+cnF4JdhM0Ft0Xzs1H6K/LC8x6qlwiIDZVpnWimnoRy1Pit61c5II3rFj3h9mqkz/uOTxcGPbQ==","signatures":[{"sig":"MEYCIQCf/Qpc17czn4u/Zw5WuRJCSrYwUcYgyhhF2YnjDZKpzAIhANHMHlULUY6XMcCVUrcFaAPgX0SM6u6vyuz8vMk8+v+2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@beaconlabs-io%2fevidence@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./content":{"types":"./dist/content/index.d.ts","import":"./dist/content/index.js"}},"gitHead":"6af4c0cd4a2153f5a7cfb73fca68851692286b15","scripts":{"build":"bun run bundle-content && tsc -p tsconfig.build.json","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","validate":"bun run .github/scripts/validate-evidence.ts","changeset":"changeset","typecheck":"tsc --noEmit","bundle-content":"bun run scripts/bundle-content.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb25aa-d5d8-4871-a759-e0d416749b6e"}},"repository":{"url":"git+https://github.com/beaconlabs-io/evidence.git","type":"git"},"_npmVersion":"11.6.2","description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","directories":{},"_nodeVersion":"24.12.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","husky":"^9.1.7","bun-types":"^1.0.0","typescript":"^5.0.0","@types/node":"^22.0.0","@changesets/cli":"^2.28.1","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/evidence_1.1.2_1768994470999_0.16016704320709874","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@beaconlabs-io/evidence","version":"1.1.3","keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"author":{"name":"Beacon Labs"},"license":"MIT","_id":"@beaconlabs-io/evidence@1.1.3","maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"homepage":"https://github.com/beaconlabs-io/evidence#readme","bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"dist":{"shasum":"53734e586b6bbdc4e04f91f99a403d47d2f0cc19","tarball":"https://registry.npmjs.org/@beaconlabs-io/evidence/-/evidence-1.1.3.tgz","fileCount":64,"integrity":"sha512-UlvolnoCCdWNdqW0WdCeZHi/Dj4LQLEKyWmSNNzkJ9hrMeb4Ox8ruH2UETEOXIlCSv8bjgAVbjec/Jy2iwW/qw==","signatures":[{"sig":"MEQCIGf2ouF/yJjyndB0eH/FDGDN5Pn7UtHiQQ+52XjhK23wAiBXQp989vHiVYKv/RVJCAud3SMRlyNLqErKvFdwa37+Vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@beaconlabs-io%2fevidence@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388480},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./content":{"types":"./dist/content/index.d.ts","import":"./dist/content/index.js"}},"gitHead":"942252ac0faf0ba4cca23181e698aabf61c89621","scripts":{"build":"bun run bundle-content && tsc -p tsconfig.build.json","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","validate":"bun run .github/scripts/validate-evidence.ts","changeset":"changeset","typecheck":"tsc --noEmit","bundle-content":"bun run scripts/bundle-content.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb25aa-d5d8-4871-a759-e0d416749b6e"}},"repository":{"url":"git+https://github.com/beaconlabs-io/evidence.git","type":"git"},"_npmVersion":"11.6.2","description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","directories":{},"_nodeVersion":"24.13.0","dependencies":{"gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.0","husky":"^9.1.7","bun-types":"^1.0.0","typescript":"^5.0.0","@types/node":"^22.0.0","@changesets/cli":"^2.28.1","@changesets/changelog-github":"^0.5.1"},"peerDependencies":{"zod":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/evidence_1.1.3_1769147919854_0.020574781328173364","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@beaconlabs-io/evidence","version":"1.1.4","description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","license":"MIT","author":{"name":"Beacon Labs"},"repository":{"type":"git","url":"git+https://github.com/beaconlabs-io/evidence.git"},"homepage":"https://github.com/beaconlabs-io/evidence#readme","bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./content":{"types":"./dist/content/index.d.ts","import":"./dist/content/index.js"}},"scripts":{"prepare":"husky","validate":"bun run .github/scripts/validate-evidence.ts","typecheck":"tsc --noEmit","bundle-content":"bun run scripts/bundle-content.ts","build":"bun run bundle-content && tsc -p tsconfig.build.json","prepublishOnly":"bun run build","changeset":"changeset","version":"changeset version","release":"npm run build && changeset publish"},"devDependencies":{"@changesets/changelog-github":"^0.5.1","@changesets/cli":"^2.28.1","@types/node":"^22.0.0","bun-types":"^1.0.0","husky":"^9.1.7","typescript":"^5.0.0","zod":"^4.0.0"},"dependencies":{"gray-matter":"^4.0.3"},"peerDependencies":{"zod":"^4.0.0"},"gitHead":"6c890735db7595494c664dabefbccda1bf3146fb","_id":"@beaconlabs-io/evidence@1.1.4","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-CB1XqTarXQOcV/HAdRJveHa8kaoCR55ZKz1r+6riSUQFsVV341OM9DBQ3Ed1zwSvufbj5M9ogqJ+3upHE+D03w==","shasum":"6b70f7c63f1f2ab740c8f525236f9dd12e432eb8","tarball":"https://registry.npmjs.org/@beaconlabs-io/evidence/-/evidence-1.1.4.tgz","fileCount":64,"unpackedSize":388533,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@beaconlabs-io%2fevidence@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHXzXSDQ4aS4fhYdQQIP51sZStGzoeYczf1XkH2fpy6kAiAV8D2XpcDhSY5vVOiiGV/meaLeJRa9W4kA53scdSY05w=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb25aa-d5d8-4871-a759-e0d416749b6e"}},"directories":{},"maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/evidence_1.1.4_1773377415939_0.6333505145567846"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-21T10:01:36.801Z","modified":"2026-03-13T04:50:16.495Z","1.1.0":"2026-01-21T10:01:37.066Z","1.1.1":"2026-01-21T10:48:20.982Z","1.1.2":"2026-01-21T11:21:11.125Z","1.1.3":"2026-01-23T05:58:40.011Z","1.1.4":"2026-03-13T04:50:16.190Z"},"bugs":{"url":"https://github.com/beaconlabs-io/evidence/issues"},"author":{"name":"Beacon Labs"},"license":"MIT","homepage":"https://github.com/beaconlabs-io/evidence#readme","keywords":["evidence","impact","theory-of-change","social-impact","zod","mdx","beacon-labs","ebp","ebpm"],"repository":{"type":"git","url":"git+https://github.com/beaconlabs-io/evidence.git"},"description":"Evidence collection with Zod schemas and content for Beacon Labs MUSE platform","maintainers":[{"name":"shutanaka","email":"tnk.biz.dev@gmail.com"}],"readme":"# @beaconlabs-io/evidence\n\n[![npm version](https://img.shields.io/npm/v/@beaconlabs-io/evidence)](https://www.npmjs.com/package/@beaconlabs-io/evidence)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA collection of structured research evidence with Zod schemas and TypeScript types for the Beacon Labs MUSE platform.\n\n## Installation\n\n```bash\nnpm install @beaconlabs-io/evidence\n```\n\n**Peer Dependencies:** This package requires `zod` v4.\n\n## Usage\n\n### Import Paths\n\nThe package provides three entry points:\n\n| Entry Point                       | Description                  |\n| --------------------------------- | ---------------------------- |\n| `@beaconlabs-io/evidence`         | Everything (types + content) |\n| `@beaconlabs-io/evidence/types`   | Types and Zod schemas only   |\n| `@beaconlabs-io/evidence/content` | Content accessors only       |\n\n### Types and Schemas\n\n```typescript\nimport type {\n  Evidence,\n  EvidenceFrontmatter,\n  EvidenceResult,\n  EvidenceDeployment,\n  StrengthLevel,\n  OutcomeEffect,\n} from \"@beaconlabs-io/evidence/types\";\n\nimport {\n  EvidenceFrontmatterSchema,\n  EvidenceResultSchema,\n  EvidenceDeploymentSchema,\n  STRENGTH_LEVELS,\n  OUTCOME_EFFECTS,\n} from \"@beaconlabs-io/evidence/types\";\n\n// Validate evidence data\nconst result = EvidenceFrontmatterSchema.safeParse(data);\nif (result.success) {\n  console.log(result.data.title);\n}\n```\n\n### Content Accessors\n\n```typescript\nimport {\n  getEvidence,\n  getAllEvidence,\n  getAllEvidenceMeta,\n  getDeployment,\n  getEvidenceWithDeployment,\n  getAllEvidenceSlugs,\n} from \"@beaconlabs-io/evidence/content\";\n\n// Get single evidence by slug\nconst evidence = getEvidence(\"00\");\n// Returns: { frontmatter, content, raw }\n\n// Get all evidence metadata (for lists)\nconst allMeta = getAllEvidenceMeta();\n// Returns: EvidenceFrontmatter[]\n\n// Get evidence with deployment info (attestation, IPFS hash)\nconst full = getEvidenceWithDeployment(\"00\");\n// Returns: Evidence (frontmatter + deployment merged)\n```\n\n### Using with MDX Compilers\n\nThe `raw` field contains the complete MDX file content, which can be passed directly to MDX compilers like `next-mdx-remote`:\n\n```typescript\nimport { getEvidence } from \"@beaconlabs-io/evidence/content\";\nimport { compileMDX } from \"next-mdx-remote/rsc\";\n\nconst evidence = getEvidence(\"00\");\nif (evidence) {\n  const { content } = await compileMDX({\n    source: evidence.raw,\n    options: {\n      parseFrontmatter: true,\n      mdxOptions: {\n        remarkPlugins: [remarkGfm, remarkMath],\n        rehypePlugins: [rehypeSlug, rehypeKatex],\n      },\n    },\n  });\n}\n```\n\n## API Reference\n\n### Types\n\n| Type                  | Description                                                          |\n| --------------------- | -------------------------------------------------------------------- |\n| `Evidence`            | Complete evidence type (frontmatter + deployment metadata)           |\n| `EvidenceFrontmatter` | MDX frontmatter fields                                               |\n| `EvidenceResult`      | Intervention outcome (`{ intervention, outcome_variable, outcome }`) |\n| `EvidenceCitation`    | Citation reference (`{ name, type?, src? }`)                         |\n| `EvidenceDeployment`  | Deployment metadata (`{ attestationUID, ipfsHash, timestamp, ... }`) |\n| `BundledEvidence`     | Bundled content (`{ frontmatter, content, raw }`)                    |\n| `StrengthLevel`       | `\"0\" \\| \"1\" \\| \"2\" \\| \"3\" \\| \"4\" \\| \"5\"` (SMS scale)                 |\n| `OutcomeEffect`       | `\"N/A\" \\| \"+\" \\| \"-\" \\| \"+-\" \\| \"!\"`                                 |\n\n### Zod Schemas\n\n| Schema                      | Description                              |\n| --------------------------- | ---------------------------------------- |\n| `EvidenceFrontmatterSchema` | Validates MDX frontmatter                |\n| `EvidenceResultSchema`      | Validates result objects                 |\n| `EvidenceCitationSchema`    | Validates citation objects               |\n| `EvidenceDeploymentSchema`  | Validates deployment metadata            |\n| `EvidenceSchema`            | Full evidence (frontmatter + deployment) |\n\n### Content Functions\n\n| Function                          | Returns                           | Description                      |\n| --------------------------------- | --------------------------------- | -------------------------------- |\n| `getEvidence(slug)`               | `BundledEvidence \\| undefined`    | Get evidence by slug             |\n| `getDeployment(slug)`             | `EvidenceDeployment \\| undefined` | Get deployment metadata          |\n| `getEvidenceWithDeployment(slug)` | `Evidence \\| undefined`           | Get merged evidence + deployment |\n| `getAllEvidenceMeta()`            | `EvidenceFrontmatter[]`           | Get all frontmatter (sorted)     |\n| `getAllEvidence()`                | `Evidence[]`                      | Get all evidence with deployment |\n| `getAllEvidenceSlugs()`           | `readonly string[]`               | Get all available slugs          |\n\n### Constants\n\n| Constant          | Value                            |\n| ----------------- | -------------------------------- |\n| `STRENGTH_LEVELS` | `[\"0\", \"1\", \"2\", \"3\", \"4\", \"5\"]` |\n| `OUTCOME_EFFECTS` | `[\"N/A\", \"+\", \"-\", \"+-\", \"!\"]`   |\n\n## Evidence File Format\n\nEvidence files are MDX with YAML frontmatter located in `evidence/*.mdx`:\n\n```yaml\n---\nevidence_id: \"00\"\ntitle: \"Effect of X on Y\"\nauthor: \"BeaconLabs\"\ndate: \"2024-01-01\"\nresults:\n  - intervention: \"Description of intervention\" # max 80 chars\n    outcome_variable: \"What was measured\" # max 50 chars\n    outcome: \"+\" # N/A, +, -, +-, !\nstrength: \"3\" # 0-5 (Maryland SMS scale)\nmethodologies:\n  - \"RCT\"\nversion: \"1.0.0\"\ncitation:\n  - name: \"Paper Title\"\n    type: \"link\"\n    src: \"https://example.com/paper\"\ntags:\n  - \"education\"\n  - \"health\"\ndatasets:\n  - \"Dataset name\"\n---\n## Key Points\n\n- Finding 1\n- Finding 2\n## Background\n```\n\n### Field Length Limits\n\n| Field              | Max Length | Description                    |\n| ------------------ | ---------- | ------------------------------ |\n| `title`            | 200 chars  | Research title                 |\n| `author`           | 100 chars  | Author name                    |\n| `intervention`     | 80 chars   | Brief description of treatment |\n| `outcome_variable` | 50 chars   | Measured variable name         |\n\n> **Note:** Keep frontmatter fields concise. Detailed explanations belong in the MDX body content.\n\n### Outcome Effects\n\n| Value | Meaning                                                      |\n| ----- | ------------------------------------------------------------ |\n| `N/A` | Unclear - insufficient sample size or inadequate methods     |\n| `+`   | Positive - expected effect found (statistically significant) |\n| `-`   | No effect - expected effect not observed                     |\n| `+-`  | Mixed - heterogeneous effects depending on conditions        |\n| `!`   | Side effects - unintended effects observed                   |\n\n### Strength Levels (Maryland SMS Scale)\n\n| Level | Description                            |\n| ----- | -------------------------------------- |\n| 0     | Non-experimental (mathematical models) |\n| 1     | Correlation without control            |\n| 2     | Before/after without control group     |\n| 3     | Before/after with control group        |\n| 4     | Quasi-experimental (matching, DiD)     |\n| 5     | Randomized Controlled Trial (RCT)      |\n\n## Development\n\n### Build\n\n```bash\nnpm install\nnpm run build\n```\n\n### Validate Evidence Files\n\n```bash\nnpm run validate\n```\n\n### Project Structure\n\n```\nevidence/\n├── src/\n│   ├── index.ts           # Main entry point\n│   ├── types.ts           # Zod schemas and TypeScript types (canonical)\n│   └── content/\n│       ├── index.ts       # Content accessor API\n│       ├── evidence.ts    # Generated: bundled MDX content\n│       └── deployments.ts # Generated: bundled deployment metadata\n├── types/\n│   └── index.ts           # Re-exports from src/types.ts (CI/CD compatibility)\n├── scripts/\n│   └── bundle-content.ts  # Build script (generates content/*.ts)\n├── evidence/              # Source MDX files\n├── deployments/           # Attestation metadata (JSON)\n└── dist/                  # Build output\n```\n\n> **Note:** `types/index.ts` re-exports all types from `src/types.ts` for backward compatibility with CI/CD scripts. The canonical type definitions live in `src/types.ts`.\n\n## Contributing\n\n### Adding New Evidence\n\n1. Create a new MDX file in `evidence/` (e.g., `evidence/21.mdx`)\n2. Follow the frontmatter schema (see Evidence File Format above)\n3. Submit a Pull Request\n4. After review, use `/attest` comment to create blockchain attestation\n5. Add a changeset: `npx changeset`\n6. Merge PR to trigger npm publish\n\n### Versioning\n\nThis package uses [Changesets](https://github.com/changesets/changesets) for version management.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}