Ports #6 with optional-field validation, conversion before cache writes, an upstream-specific cache directory, and startup regression tests. Co-authored-by: dualface <dualface@gmail.com>
Auth and catalog come from the local Devin CLI. Pi stays the harness.