/** * IP SHIELD — turn a discovery into a patent-grade evidence file. In pharma and materials, the value lives * in PATENTS, and the fight is always "did you copy someone?" / "was this just a lucky fluke?" Melete already * signs a verdict and can replay it; IP SHIELD packages that into an Automated IP Audit Trail: a single, * timestamped, immutable, offline-verifiable document that proves a result was reached SYSTEMATICALLY — by a * documented engine, with every step recorded and re-derivable, attributable to a named entity, at a fixed * time. It's the difference between "trust us, we invented this" and "here is cryptographic, reproducible * evidence of exactly how and when we discovered it." * * Honest by construction (DIAKRISIS): the trail is EVIDENCE for patent priority / prior-art defense / * regulatory audit — systematic process, reproducibility, attribution, timestamp, tamper-evidence. It is * NOT a legal determination of patentability or novelty (only a patent office / attorney decides that), and * we say so in the document itself. It binds the result by hash; it does not expose the secret formula. */ import { type KeyObject } from "node:crypto"; import { type Space } from "./space.js"; import { type Observation, type Goal } from "./engine.js"; export interface IpAuditTrail { standard: "melete-ip-audit-trail/v1"; entity: string; claim: string; discoveryMethod: string; result: { recipe: Record; value: number; }; process: { experiments: number; verdictHash: string; replayVerdictHash: string; }; immutableHash: string; disclaimer: string; signature: string; publicKeyPem: string; algo: "ed25519+sha256"; issuedAtMs: number; } /** Build a signed, immutable IP audit trail for a discovery run. */ export declare function buildIpAuditTrail(obs: ReadonlyArray, space: Space, goal?: Goal, opts?: { entity: string; claim: string; keys?: { privateKey: KeyObject; publicKey: KeyObject; }; issuedAtMs?: number; }): IpAuditTrail; /** Re-verify an IP audit trail OFFLINE: signature + immutable-hash integrity. */ export declare function verifyIpAuditTrail(doc: IpAuditTrail): { ok: boolean; reason: string; }; export declare function ipShieldGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=ipshield.d.ts.map