{"_id":"@ai-manifests/adj-validate","_rev":"2-3b045a302355027dfd3343ede6034c3a","name":"@ai-manifests/adj-validate","dist-tags":{"latest":"1.0.0"},"versions":{"0.3.0":{"name":"@ai-manifests/adj-validate","version":"0.3.0","keywords":["adj","agent-deliberation-journal","validate","calibration","audit"],"author":{"name":"David H. Friedel Jr. — MarketAlly Pte Ltd"},"license":"Apache-2.0","_id":"@ai-manifests/adj-validate@0.3.0","maintainers":[{"name":"logikonline","email":"dave@marketally.com"}],"homepage":"https://adj-manifest.dev","bugs":{"url":"https://github.com/ai-manifests/adj-validate/issues"},"bin":{"adj-validate":"bin/cli.js"},"dist":{"shasum":"a1e54e8b988383eee7a743f5336eedece1dc2ed8","tarball":"https://registry.npmjs.org/@ai-manifests/adj-validate/-/adj-validate-0.3.0.tgz","fileCount":7,"integrity":"sha512-skfbib8QB/wQTdWEIFWGIjbRidcxM3o3ssqTfFVQeY0OoCABr2RU757iK79FDQq0KNMHSg/O5tU6vWtmwENGbA==","signatures":[{"sig":"MEUCIBuHMAEtDZqbkFBoyi0QCvSny5SedXdxwQ5AmJUQb/KuAiEA165g4oOd/MTDnAD4A8A/2J8eYBI1Hd9kcxXoTlsu3NM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42764},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js"},"gitHead":"c9d54d452fc95a40e06ccbfeee738a070ee324d5","scripts":{"test":"node --test src/*.test.js"},"_npmUser":{"name":"logikonline","email":"dave@marketally.com"},"repository":{"url":"git+https://github.com/ai-manifests/adj-validate.git","type":"git"},"_npmVersion":"10.8.2","description":"Validate ADJ journal entries and audit deliberation records","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ajv":"^8.17.0","ajv-formats":"^3.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adj-validate_0.3.0_1777236802755_0.917765501310174","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ai-manifests/adj-validate","version":"1.0.0","description":"Validate ADJ journal entries and audit deliberation records","type":"module","bin":{"adj-validate":"bin/cli.js"},"main":"./src/index.js","exports":{".":"./src/index.js"},"scripts":{"test":"node --test src/*.test.js"},"keywords":["adj","agent-deliberation-journal","validate","calibration","audit"],"author":{"name":"David H. Friedel Jr. — MarketAlly Pte Ltd"},"license":"Apache-2.0","homepage":"https://adj-manifest.dev","repository":{"type":"git","url":"git+https://github.com/ai-manifests/adj-validate.git"},"dependencies":{"ajv":"^8.17.0","ajv-formats":"^3.0.0"},"_id":"@ai-manifests/adj-validate@1.0.0","gitHead":"9252aa00ad9dffa1427c6de0247fc1b279c3aacd","bugs":{"url":"https://github.com/ai-manifests/adj-validate/issues"},"_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-VPe1N3AtEvRQRbYCFPq8T5EPykJHDNFKyaxvK44TGp3c3vBo0nS00u3eLoDUwkNXCPum7VXcumZFp1V0OXs1ig==","shasum":"9ed52c3260e5ab325884a2243ea06c0100f1f108","tarball":"https://registry.npmjs.org/@ai-manifests/adj-validate/-/adj-validate-1.0.0.tgz","fileCount":8,"unpackedSize":52944,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID5Gt1g58m0Yg3T7pfMYa324Jq+WMC2GFADD1YPWD6D2AiEA+B1hJ58dhTBcMq7zl+reslzV2NhOPfn+48k+APjCTH8="}]},"_npmUser":{"name":"logikonline","email":"dave@marketally.com"},"directories":{},"maintainers":[{"name":"logikonline","email":"dave@marketally.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adj-validate_1.0.0_1780369357229_0.5600728742159762"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-26T20:53:22.655Z","modified":"2026-06-02T03:02:37.472Z","0.3.0":"2026-04-26T20:53:22.893Z","1.0.0":"2026-06-02T03:02:37.372Z"},"bugs":{"url":"https://github.com/ai-manifests/adj-validate/issues"},"author":{"name":"David H. Friedel Jr. — MarketAlly Pte Ltd"},"license":"Apache-2.0","homepage":"https://adj-manifest.dev","keywords":["adj","agent-deliberation-journal","validate","calibration","audit"],"repository":{"type":"git","url":"git+https://github.com/ai-manifests/adj-validate.git"},"description":"Validate ADJ journal entries and audit deliberation records","maintainers":[{"name":"logikonline","email":"dave@marketally.com"}],"readme":"# adj-validate\n\n[![npm](https://img.shields.io/npm/v/@ai-manifests/adj-validate.svg?label=npm)](https://www.npmjs.com/package/@ai-manifests/adj-validate)\n[![Downloads](https://img.shields.io/npm/dm/@ai-manifests/adj-validate.svg)](https://www.npmjs.com/package/@ai-manifests/adj-validate)\n[![Node](https://img.shields.io/badge/node-20%2B-blue.svg)](https://nodejs.org/)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n[![Spec](https://img.shields.io/badge/spec-adj--manifest.dev-informational)](https://adj-manifest.dev)\n\nValidate [ADJ](https://adj-manifest.dev) journal entries, audit deliberation records, and verify calibration scoring.\n\n## Install\n\n```bash\nnpm install -g @ai-manifests/adj-validate\n```\n\n## Usage\n\n### Validate journal entries\n\n```bash\nadj-validate ./entry.json\nadj-validate ./opened.json ./closed.json ./outcome.json\n```\n\n### Validate a deliberation record\n\nPass a directory of entry files to check sequencing, completeness, and consistency:\n\n```bash\nadj-validate --deliberation ./deliberation/\n```\n\nChecks:\n- First entry is `deliberation_opened`, last (before outcome) is `deliberation_closed`\n- Timestamp ordering across entries\n- Participant consistency (proposal agents match declared participants)\n- Hash chain integrity (if present)\n- Outcome timing (`observed_at` after `deliberation_closed`)\n- Tally arithmetic in `deliberation_closed` (approve + reject + abstain = total, fractions match)\n- Termination consistency (converged requires approval >= threshold)\n\n### Audit calibration scoring\n\nVerify Brier score computation for an agent across deliberations:\n\n```bash\nadj-validate --calibration ./journal/ --agent did:adp:test-runner-v2 --domain code.correctness\n```\n\nExtracts (confidence, outcome) pairs, computes the Brier score, and reports the calibration value.\n\n## Semantic Checks\n\n| Check | Type |\n|-------|------|\n| Tally arithmetic (weights sum, fractions match) | Error |\n| Termination vs tally consistency | Error |\n| Falsification evidence requires target_agent_id | Error |\n| Outcome before deliberation_closed | Error |\n| Entry sequencing (proposals before rounds, correct ordering) | Warning |\n| Participant not in declared list | Warning |\n| Partial hash chain | Warning |\n| Ground truth with low reporter confidence | Warning |\n\n## Programmatic Use\n\n```javascript\nimport { validateEntry, validateDeliberation, computeCalibration, extractScoringPairs } from '@ai-manifests/adj-validate';\n\nconst result = validateEntry(entry);\nconst dlbResult = validateDeliberation(entries);\nconst cal = computeCalibration(pairs);\n```\n\n## Status\n\n**v0.1** — Validates against ADJ spec v0.\n\n## License\n\nApache-2.0 — see [`LICENSE`](LICENSE) for the full license text and [`NOTICE`](NOTICE) for attribution.\n","readmeFilename":"README.md"}