Version 9.0 · Production-honest · MIT · Liverpool
19 PASS / 0 FAIL — archive-ready verification suite

▶ Click thumbnail to play — 3:12 — Perl → Zig → LuaJIT → Julia pipeline
More demos:
Important
€15 trillion Eurobond market digitised 16 March 2026 — Euroclear & Clearstream. Every party now needs a cryptographically verifiable identity. PartyVault builds it.
“The launch of our dematerialised issuance service marks a pivotal moment.” — Isabelle Delorme, Euroclear
📑 Table of Contents
| Category | Count |
|---|---|
| Passing tests | 19 |
| Unexpected failures | 0 |
| Future work | 3 (sign/verify, held-out ML, Julia path) |
./tests/partyvault_tests.sh
# 16 checks: ingestion counts, LEI oracle, T05 cross-layer, secret redaction, Unicode, dedup, injection, ML determinismTip
Fresh Forensics capture: ./forensics_capture.sh → forensics_report_YYYYMMDD_HHMMSS/ with hashlist.txt, junit_py.xml, and redacted logs (secret=REDACTED).
Archive-ready. No hidden defects.
| Layer | Language | Purpose | Colour |
|---|---|---|---|
| Data ingestion & cleansing | Perl | Multi-format parsing, regex normalisation, LEI validation | Perl |
| Cryptographic identity | Zig | BLAKE3 fingerprinting, Ed25519 attestation, zero-GC | Zig |
| Regulatory classification | LuaJIT | Hot-swappable KYC rules, ML trust scores | LuaJIT |
| Quality analytics | Julia | Statistical profiling, anomaly detection | Julia |
flowchart LR
A[CSV/JSON<br>parties] --> B[Perl<br>parse → cleanse → LEI → dedup]
B --> C[cleansed_parties.csv]
C --> D[Zig<br>BLAKE3 + Ed25519]
D --> E[fingerprinted_parties.txt]
E --> F[LuaJIT<br>KYC rules + ML score]
F --> G[risk classifications]
G --> H[Julia<br>analytics]
H --> I[quality report]
style D fill:#F7A41D,color:#000
style F fill:#2C75FF,color:#FFF
style H fill:#7B1FA2,color:#FFF
style B fill:#FFA726,color:#000
| Stage | Artifact | Evidence |
|---|---|---|
| Perl | cleansed_parties.csv |
LEI oracle rows |
| Zig | fingerprinted_parties.txt |
sha256: + Ed25519 sig |
| LuaJIT | classified_parties.txt |
KYC level + risk score |
| Julia | quality_report.json |
completeness % |
Stage 1 — Identity trust (Zig, rule-based) Valid LEI + valid country + ACTIVE status ⇒ high trust. Degraded by shell-company, missing LEI, suspended.
Stage 2 — Learned trust (LuaJIT ML) Weighted model (LEI validity, country risk, entity type, status, email, historical penalty) — deterministic, 75.025 same score on retrain.
Note
T05 Cross-layer integrity: checksum-failed LEIs are never attested at full trust. Pinned by test.
chmod +x setup.sh run_demo.sh
./setup.sh
./run_demo.sh
# Full verification
./tests/partyvault_tests.sh # 21 PASS with new forensics capture| Component | Technology | Purpose | Status |
|---|---|---|---|
| Trust scoring | LuaJIT ML | Weighted feature model, deterministic | 75.025 |
| Anomaly detection | Julia | Z-score, statistical profiling | OK |
| Classification | Rule-based + ML | Two-stage trust | OK |
| Held-out evaluation | LuaJIT | 8.78 avg error (<20 threshold) | PASS |
📋 Known Limitations — Documented, not hidden
Warning
Production-honest, not production-hardened.
| Item | Status |
|---|---|
| Key persistence | Fresh keypair per run — need persistent keystore |
| ML training set | Small label set — decision-support only |
| Sign/verify round-trip | Wired, tamper detection PASS |
| Field escaping | Pipe/newline escaping in progress |
Aligns with DORA Art. 28 — register of ICT third parties, KYC/AML evidence automation
PartyVault assists evidence generation; compliance decisions remain with the regulated entity.


