Agentic AI drops digits, This library catches them before it runs in fintech PrismManifest 0.3.4, an open-source Python library from insightitsGit, provides a zero-trust gate that verifies Ed25519-signed ParameterManifests before allowing probabilistic AI outputs (LLMs, OCR) to pass dollar amounts into deterministic financial compute DAGs, preventing digit drops and unauthorized money values in fintech engines. The library, available via pip install prismmanifest, routes outcomes as ACCEPT, ACCEPT_PENDING_HUMAN, or REJECT, and supports optional CUDA and cloud KMS integrations. Zero-trust tool-argument gate for deterministic AI tool execution. Formerly ParamGate — same design; package prismmanifest, CLI prismmanifest-gate. PrismManifest sits between probabilistic extractors LLMs, OCR, table parsers and deterministic Group 3 compute DAGs. Unverified money values never enter the DAG. Only an Ed25519-signed ParameterManifest that clears the Group 3 boundary is allowed through. Deterministic Engine + Unverified Probabilistic Input = Deterministic Wrong Answer PyPI name | prismmanifest | Version 0.3.4 Python License Repository insightitsGit/PrismManifest https://github.com/insightitsGit/PrismManifest Discussions Q&A and design https://github.com/insightitsGit/PrismManifest/discussions Docs Markdown docs/ Docs PDF docs/pdf/ Usage guide docs/USAGE FOR ENGINEERS AND ARCHITECTS.md Security SECURITY.md Keywords: tool argument gate, ParameterManifest, digit drop prevention, zero-trust LLM tool args, deterministic DAG boundary, OCR money field authorization, PrismManifest Probabilistic systems LLMs, OCR are excellent at proposing where a number is. They must not be trusted to authorize the dollar amount that enters a tax engine, ledger, or underwriting model. PrismManifest is that authorization boundary. pip install prismmanifest With optional extras: pip install "prismmanifest dev " pip install "prismmanifest cuda " NVIDIA GPU + Numba pip install "prismmanifest kms-azure " Azure Key Vault envelope keys pip install "prismmanifest kms-aws " AWS KMS envelope optional From source editable : git clone https://github.com/insightitsGit/PrismManifest.git cd PrismManifest python -m pip install -e ". dev " python -m pytest -q CLI after install: prismmanifest-gate . | Extra | Purpose | |---|---| dev | pytest, coverage, grpcio-tools | docs | markdown + fpdf2 PDF pack builder | cuda | Numba + CUDA 12 wheels GPU required | kms-azure / kms | Azure Key Vault wrap preferred cloud KMS | kms-aws | boto3 AWS KMS-envelope | - Treat LLMs / OCR / parsers as untrusted . - Put PrismManifest after extraction and before any calculator, underwriting, or ledger tool that consumes dollar amounts. - Route outcomes: ACCEPT → run DAG · ACCEPT PENDING HUMAN → review · REJECT → stop. - Never let model-generated money text be the tool argument — only evidence-bound, signed manifests. LLM / OCR → PrismManifest → signed ParameterManifest → Group 3 DAG Extra LLM benches are optional evidence . They do not change the core gate design. Finding real customer documents matters more for production claims than multi-model FA studies. Full write-up: Usage for Engineers & AI Architects /insightitsGit/PrismManifest/blob/main/docs/USAGE FOR ENGINEERS AND ARCHITECTS.md and PDF: docs/pdf/01 USAGE FOR ENGINEERS AND ARCHITECTS.pdf . python from prismmanifest import KeyRing, PrismManifestPipeline, enforce group3 boundary, GateDecision from prismmanifest.router import DocumentPackage, IntentRouter from prismmanifest.integrations import demo capital gains dag keyring = KeyRing.generate key id="local-dev-ed25519" package = DocumentPackage doc id="1040.txt", pages= "Form 1040 Tax Year 2024\n" "Line 1 Gross income: $470,000.00\n" "Line 11 Adjusted gross income: $450,000.00\n" , form type="IRS FORM 1040", tax year=2024, Route → ingest + span extraction Pattern B pointers routed = IntentRouter .run package Verify, decide gate, sign manifest pipeline = PrismManifestPipeline keyring result = pipeline.run on evidence evidence=routed.evidence, extraction=routed.extraction, Group 3 hard boundary — this is the security gate gate = enforce group3 boundary result.manifest, public keys=keyring, expected dag id="capital gains v3", if gate.decision is GateDecision.ACCEPT: receipt = demo capital gains dag gate.manifest print receipt else: print gate.decision, gate.message python from prismmanifest.audit import EscalationQueue from prismmanifest import PrismManifestPipeline, KeyRing keyring = KeyRing.generate queue = EscalationQueue ".escalation" pipeline = PrismManifestPipeline keyring, escalation queue=queue PASS WITH HUMAN manifests are signed and auto-enqueued when a queue is attached. python from prismmanifest import parameter gated, KeyRing keyring = KeyRing.load ".keys" @parameter gated public keys=keyring, expected dag id="capital gains v3" def run dag , manifest : return manifest.fields 0 .value fixed micro Production trust must still go through enforce group3 boundary / gRPC / C++ / in-process prismmanifest c . python from prismmanifest.binary codec import encode manifest from prismmanifest.gate import enforce group3 boundary buf = encode manifest signed manifest result = enforce group3 boundary buf, public keys=keyring, expected dag id="capital gains v3" Schema: schemas/prismmanifest.fbs /insightitsGit/PrismManifest/blob/main/schemas/prismmanifest.fbs . - Skip enforce group3 boundary because the pipeline “looked good” - Feed LLM-printed $ strings straight into the DAG - Treat @parameter gated alone as the boundary - Market cuda sim / SKIP as CUDA-validated Ingest evidence with dual-OCR consensus PDF text + layout re-tokenizer; optional Tesseract . Ground claims to verbatim spans and form anchors no generative money values . Decide PASS / PASS WITH HUMAN / REFUSE via quorum, OCR floor ≥ 0.98 , and plausibility. Sign a ParameterManifest Ed25519 and optionally escalate human review. Enforce the Group 3 boundary before any DAG runs — Python, gRPC, C++ FlatBuffer, or in-process DLL. FinancePackBench and FinancePackBench-G4 provide synthetic SLA / adversarial suites. | Status | Meaning | |---|---| PASS | Span-grounded, plausibility OK, no disagreement, OCR ≥ 0.98, anchors OK | PASS WITH HUMAN | Immaterial disagreement ≤ $1k , low OCR, or anchors unverified | REFUSE | Not grounded, plausibility failure, or material disagreement $1k | | Decision | When | |---|---| ACCEPT | PASS , or cleared PASS WITH HUMAN with valid human approval token | ACCEPT PENDING HUMAN | PASS WITH HUMAN awaiting review | REJECT | REFUSE , bad/missing clearance, or attestation/freshness/replay/dag failure | Attestation, freshness signed at unix skew, default 300s , and replay ReplayGuard failures raise GateError . Keys prismmanifest-gate gen-keys --out .keys --key-id local-dev-ed25519 prismmanifest-gate gen-hsm-key --out .hsm --key-id prod-ed25519 prismmanifest-gate gen-kms-key --out .kms --mode local --key-id kms-dev Azure: prismmanifest-gate gen-kms-key --out .kms --mode azure --kms-key-id