Skip to content

Runtime evidence for a release

Download ysonet-<version>-verification.zip from the same release as your program ZIP, extract it, then open runtime-evidence.html in a browser. Older releases offer these files as separate assets. The report works offline. Search by module or formatter and filter the generation, deserialization, or expected-effect column. JSON and CSV versions are available alongside it for scripts and spreadsheets.

Verify the release files before relying on their provenance. The matrix identifies the tool version, tested ZIP SHA-256, source commit, test tier, OS, process architecture, CLR, framework release, and recorded prerequisite states. windowsBuild records the installed Windows build and update revision when readable; reportedOsVersion is the .NET API value, which can reflect compatibility settings. An observation applies to that environment and configuration; it does not establish behavior in another application or framework build.

FieldMeaning
Formatter, variant, minifyDimensions actually recorded by the test. Unspecified means unknown, not all values.
ConfigurationTest helper or matrix case; plugin case ordinals refer to PluginFullMatrixGenerates at the recorded source commit.
Target runtimeObserved target framework token where available; null means unknown. The environment header describes the runner.
RequirementsDeclared gadget requirements, not a claim that the target application satisfies them. Unknown variants use the union of declared requirements.
SourceTest helper associated with the observation.
StatusMeaning
verifiedGeneration produced output, or the test-owned sink observed the expected effect, in that phase.
returnedThe instrumented reader returned. This alone does not prove the expected effect.
threwThe instrumented reader threw. An effect can still occur before a reader throws.
expected-rejectionGeneration rejected a combination that the existing test explicitly expects to reject.
failedGeneration failed unexpectedly. Consult the test report.
not-observedThe sink did not observe the effect within the test's observation window.
attemptedThe phase started without a recorded outcome.
not-testedNo phase observation was recorded for this configuration. This is not evidence that it does not work.
skippedExplicitly skipped; unverified.

The report contains observations, not a merged compatibility verdict. Generation matrix rows and effect rows can describe separate executions. A successful phase never fills in another phase or sibling variant. Generic marker tests record all three phases. Other existing effect hooks record only the observed effect and the dimensions known at their call site; unrecorded phases remain not-tested. Deserialization is not claimed verified merely because generation or an effect succeeded.

Every advertised gadget formatter/variant/minify combination has a generation row, including cells excluded from the selected tier. Plugins have their executed matrix cases and effect observations, or an unobserved placeholder. This is not an exhaustive matrix of arbitrary plugin arguments, target settings, or prerequisite combinations. NORMAL and FULL exclude the separate OOB, DoS, LEGACY and NET40 tiers. Recorded cell-level skips are retained in the header and in test-results.md; a clean overall environment verdict does not turn these exclusions into passes. A prerequisite marked Unprobed means the run did not need to probe it.

The static runtime declarations in module help and --list catalog remain selection hints. This release-specific report is the observation record. Its scope is the exact archive tested; neither a passing suite nor a provenance signature proves every payload works on a particular target.

Follow the behavioral gate commands. Each completed gate writes runtime-evidence.json, .csv, and .html in its report directory. Missing exports, changed source during the run, and contradictory environment verdicts fail the gate. A fresh invocation removes old evidence before running, so an interrupted retry cannot reuse a previous report. Local reports identify a dirty checkout explicitly and have no signed release attestation.

Back to documentation.