LoadedArtifactMetadata

Bounded provenance from the actual loaded classes, without substituting standalone distribution JARs. Missing locations remain explicit failures rather than inferred hashes. Each complete loaded class tree owns one bounded read buffer; resource digests remain independent.

Functions

Link copied to clipboard
fun capture(loader: ClassLoader, representatives: Map<String, String>, classTreeModules: Set<String>): JsonObject

Resolves registered representative classes without initialization through the measured host loader. Class trees validate every resource against that class's actual archive or directory origin. A directory code source declares its complete class-only tree algorithm, count and byte size separately from archive-file hashes.

Link copied to clipboard
fun captureClassHashes(classes: List<Class<*>>): JsonObject

Hashes the exact loaded representative class resources and their nested declaration closure.

Link copied to clipboard
fun verifyComplete(report: JsonObject)

Requires every registered module and requested class tree to resolve before measurement. An unavailable location is preparation failure, rather than an unsupported zero-cost host.