wai upscale and wai tonemap: an exact derivation from the command line, with its record and its check #578
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/upscale-tonemap-door"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WAI can verify an upscale record and a rendition record, but no door in the toolchain could make one. That logic lives in waiTransport's providers, on the wrong side of the line: WAI holds every open ability, and waiTransport operates them. These commands also give
media.upscaleandmedia.tonemapa real entry in the catalogue, which the coming tariff prices by name.The commands
runmakes the output, and with--recordsigns the record. Without it, no key is needed.verifyrecomputes the record underrequire-proofand holds the output to it, printing the outcome as JSON and exiting 1 on a refusal.exact_upscale::makeandexact_tonemap::makeare the functions underneath. They return the record's body for the caller to sign, so a service with its own key can use them.Limits:
png_stillholds.WAI2of a PNG base and its gain map. The existingrun_graphand tone-mapping limits apply unchanged.Why
run: the catalogue refuses a command that's the start of another, sowai upscalecan't sit besidewai upscale verify.What ran
tests/cli_derive.rs, new, runs the binary end to end. Whatrunwrites is accepted by each extension's verifier from those files alone, and refused with another prior, another envelope, an altered picture or an altered rendition. Bad arguments are refused too.tests/cli_ops.rs, with both features: 10 passed, including the new operations under--dry-run. Withquickstartalone: 47 passed for the binary and 10 forcli_ops.catalogue/ops.jsonis regenerated.wai breakingagainst the merge base: nothing unacknowledged.check-tests-in-ci: passes, with the new test added to the conformance job.Not done here: waiTransport's providers still have their own copy of this logic. They move to these functions when it next re-pins WAI.
🤖 Generated with Claude Code