CLI 'ucas put @schema' now detects meta-schema target and routes
through putSchema() which uses isValidSchema() — a proper recursive
validator — instead of ajv against the meta-schema (which cannot
express recursive constraints for nested property sub-schemas).
This fixes the core issue where schemas with typed properties like
{"type":"string","minLength":1} were rejected by the CLI path.
Added CLI E2E test: put @schema with nested constraints (minLength,
maximum, uniqueItems).
494 tests, 0 fail.
Refs #82