Open source verification logic for IECC digital credentials
Server has 9 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names lack consistent verb-noun structure (e.g., 'verifyCredential' vs 'verify_credential'). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameter descriptions exist but lack constraint details (ranges, enums, formats). Tool #5 (auditBatch) has a 'verifyFn' parameter typed as 'function', not a valid JSON Schema type, making it unusable by LLM agents. Output schemas are not documented. Error handling returns structured VerificationResult but lacks recovery guidance. Security validation is strong (input sanitization, issuer checks), but tool composition has issues: setTrustedIssuer and resetTrustedIssuers are write operations without confirmation patterns, risking accidental state corruption.
Batch audit with concurrency control. Prevents memory overflow by limiting concurrent verifications
Generate a Merkle Root from a list of certificate hashes. Used for daily anchoring to public platforms (GitHub/X/Nostr).
Get current trusted issuers registry
Load trusted issuers from URL (with caching)
Reset to default issuers
Resolves a DID (Decentralized Identifier) to a Public Key. Supports 'did:iecc' method with HTTP(S) resolution.
Add or update an issuer (for testing/development)
Standard IECC Verification Logic. This is the same logic used by verify.iecc.world
auditBatch tool has 'verifyFn' parameter typed as 'function', not valid JSON Schema. LLM agents cannot invoke this tool.
Tool names use camelCase (verifyCredential, resolveDID) instead of snake_case verb_noun convention. LLMs expect 'verify_credential', 'resolve_did' for consistent parsing.
Write operations (setTrustedIssuer, resetTrustedIssuers) lack confirmation or dry-run patterns. Agents can corrupt state without safeguards.
Output schemas not documented. verifyCredential returns VerificationResult but LLMs cannot see field types/structure in advance. Breaks downstream tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
IECC Merkle Proof Verification. Allows high-trust entities to verify a batch of certificates against a publicly anchored Merkle Root.
Parameter descriptions lack constraint details. 'hashes' array in generateMerkleRoot says '64 hex characters each' but no min/max array length, no format regex, no enum.