Skip to main content
Glama

Server Details

Measure card centering and check PSA, BGS, CGC and SGC centering ceilings and standards.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation4/5

The three tools target genuinely different inputs (published standards, user-supplied ratios, an actual photo), but the standards-vs-grading boundary is fuzzy enough that both descriptions must shout with emphatic 'USE ONLY'/'USE THIS TOOL whenever' rules to prevent misselection. Descriptions do resolve it well, but the overlap is inherent rather than absent.

Naming Consistency5/5

All three names are snake_case, verb-first, and share the same domain object ('centering'): get_centering_standards, grade_centering, measure_card_centering. The pattern is fully predictable.

Tool Count5/5

Three tools map cleanly onto the domain's three jobs — look up standards, grade supplied ratios, measure a photo — with no filler tool and nothing obviously missing from the surface. Small count is justified by a narrow single-purpose scope.

Completeness4/5

Lookup, grading, and image measurement cover the full user workflow, including documented handling of edge cases (SGC back with no published ceiling, TAG exclusion, incomplete inputs). Minor gaps remain: no batch/compare operation and no dedicated capability-listing tool ({} on standards only partially fills that role).

Available Tools

3 tools
get_centering_standardsCard centering standards and sourcesA
Read-onlyIdempotent
Inspect

USE ONLY for questions about published THRESHOLDS, tolerance, rules or SOURCES without grading the user's supplied numeric ratios. For PSA 10 compatibility with supplied ratios use grade_centering instead; it applies rounding and house-specific rules. If face/axis is unknown, ask first without any call. Example: {"house":"BGS","face":"back"}; fields optional, {} returns all. Houses PSA/BGS/CGC/SGC (case accepted), TAG excluded: explain proprietary assessment; never substitute another house. Face front/back in English; case/spaces accepted, reverse/obverse and translations rejected. SGC back has empty bands, no published table or ceiling; never invent one. Returns official/interpreted/approximate status, sources and verification. Not a final-grade prediction.

ParametersJSON Schema
NameRequiredDescriptionDefault
faceNoFace: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.
houseNoGrading house: PSA, BGS, CGC or SGC; TAG is excluded. Case/outer whitespace accepted by the service. Example: PSA (psa also accepted).

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYes
tag_noteYes
standardsYes
disclaimerYes
rounding_ruleYes
normalizationsYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/idempotent safety profile, but the description adds substantial context beyond them: supported houses, TAG exclusion with an instruction to explain proprietary assessment, the SGC back empty-band edge case with a 'never invent one' guardrail, and the official/interpreted/approximate return status. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the critical 'USE ONLY' constraint and tightly packed with rules, but it reads as a dense run-on block. Nearly every clause earns its place, though the sentence count could be trimmed for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only lookup with an output schema, the description is complete: it names the supported/unsupported houses, the optional-param default, the face-unknown ask-first rule, and even summarizes the return status fields. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with enum descriptions, so the baseline is 3. The description still adds meaning: both fields are optional and '{} returns all', case/whitespace are accepted, and it clarifies the rejected aliases (reverse/obverse, translations).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening 'USE ONLY for questions about published THRESHOLDS, tolerance, rules or SOURCES' states a specific resource and scope, and it explicitly distinguishes itself from the sibling grade_centering. An agent can tell what this returns (standards/sources, not a grading) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use, when-not (do not grade supplied numeric ratios), and the named alternative ('use grade_centering instead'), plus edge-case routing ('If face/axis is unknown, ask first without any call'). This is a complete routing instruction set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grade_centeringGrade known card centering ratiosA
Read-onlyIdempotent
Inspect

USE THIS TOOL whenever the user supplies numeric centering ratios and asks whether a card meets PSA/BGS/CGC/SGC or asks for a centering ceiling. Do not calculate by looking up standards yourself. Example: {"front_lr":"55/45","front_tb":"60/40","house":"PSA"}. At least one known face AND axis; if either is unknown, ask first, never assume front/LR. Optional house PSA/BGS/CGC/SGC, TAG excluded. Flat front_lr/front_tb/back_lr/back_tb, or nested {"front":{"lr":"55/45","tb":"60/40"}}; no duplicates. Key/house case accepted. Ratios: percentages, fractions, pairs with / - – — : x or spaces, optional %, or [55,45]/["55","45"]. Scalar 1 rejected; use 1/99. Axis suffix must match field. Changes disclosed in normalizations. Partial input gives incomplete=true: report provisional ceiling and missing data. A ceiling from centering alone is NOT a predicted grade. SGC back alone has no published ceiling.

ParametersJSON Schema
NameRequiredDescriptionDefault
backNoAlternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.
frontNoAlternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.
houseNoOptional: return only PSA/BGS/CGC/SGC. Case/outer spaces accepted. TAG excluded; never substitute a different house. Example: PSA.
back_lrNoBack left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.
back_tbNoBack top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.
front_lrNoFront left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.
front_tbNoFront top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
backYes
frontYes
summaryYes
combinedYes
disclaimerYes
incompleteYes
missing_facesYes
normalizationsYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: discloses that input is normalized and 'changes disclosed in normalizations', that partial input yields incomplete=true with a provisional ceiling, that a centering ceiling is NOT a predicted grade, that SGC back has no published ceiling, and that TAG is excluded and scalar 1 rejected. These are real behavioral facts an agent needs before trusting the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the imperative and an inline example, then packs constraints tightly. It is appropriately sized for a 7-parameter tool with nested objects, though the back half reads as a dense run-on where a few sentences (normalizations, SGC back) could be grouped for faster scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description still covers input grammar, partial-result semantics, the ceiling-vs-grade caveat, and house coverage limits. Nothing an agent needs to invoke or interpret the call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds cross-field rules the schema cannot express: no duplicates, never mix flat and nested forms, and 'axis suffix must match field', plus key/house case tolerance. It does repeat much of the ratio grammar already present in the schema, so it lands just above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (grade centering ratios) against named grading houses, and the opening imperative 'USE THIS TOOL whenever the user supplies numeric centering ratios' plus 'Do not calculate by looking up standards yourself' cleanly separates it from get_centering_standards and measure_card_centering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit positive trigger (user supplies numeric ratios and asks about PSA/BGS/CGC/SGC or a ceiling) and a clear precondition ('at least one known face AND axis; if either is unknown, ask first, never assume front/LR'). It implicitly excludes the measurement case handled by measure_card_centering but never names that sibling, so routing between the two is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_card_centeringMeasure centering from a card photoA
Read-onlyIdempotent
Inspect

Measure one ACTUAL photograph. Example shape: {"face":"front","image_base64":""}. Ask front/back BEFORE calling if unknown. Exactly one user-provided public HTTPS image URL (port 443) or complete base64 source, never both. Never decode, repair or re-encode bytes yourself; never invent, shorten or rewrite base64; pass it verbatim, including an image data-URL prefix or whitespace (service normalizes). If chat attachment cannot be forwarded, send user to https://centeringlab.com/. card_size standard=63×88 mm including Japanese Pokémon; small=59×86 mm including Yu-Gi-Oh!, not inferred from language. Request a whole card flat from above on dark surface; if sleeved/toploader or tilted, recommend a retake first. Borderless: suggest back/manual site. API photos reach server memory; site stays local. needs-review/failed gives ceilings=null: retake or adjust manually, no grade prediction. Inspect status/code even on HTTP 200; respect Retry-After.

ParametersJSON Schema
NameRequiredDescriptionDefault
faceYesRequired: front or back (English). Ask the user before calling if unclear. Case/outer whitespace accepted, e.g. Front; reverse/obverse are rejected.
card_sizeNostandard = 63×88 mm; small = 59×86 mm. Japanese Pokémon uses standard; Yu-Gi-Oh! uses small. Case/outer whitespace accepted. Example: standard.standard
image_urlNoPublic HTTPS image URL, port 443. Private network addresses and non-image responses are rejected. Use only a URL supplied by the user: never invent one. Example syntax: https://images.example.org/card.jpg (placeholder, never fetch it).
image_base64NoActual base64 raster image bytes supplied by the client. Image data-URL prefix and whitespace/newlines are accepted and normalization is disclosed. Never invent bytes or substitute an attachment filename. Example syntax: data:image/png;base64,... (ellipsis is not valid bytes).

Output Schema

ParametersJSON Schema
NameRequiredDescription
lrYes
tbYes
codeYes
faceYesFace: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.
adviceYes
statusYes
summaryYes
ceilingsYes
warningsYes
card_sizeYes
adjust_urlYes
confidenceYes
disclaimerYes
elapsed_msYes
image_bytesYes
normalizationsYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/idempotent/openWorld; the description adds substantial beyond-schema context: bytes are passed verbatim and normalized server-side, API photos reach server memory while the site stays local, needs-review/failed yields null ceilings, inspect status even on HTTP 200, and respect Retry-After. This is rich operational disclosure not available anywhere else.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the example, but the body is a dense run-on of many unrelated constraints (bytes, size, retake, borderless, memory, status codes) with no structural grouping, which hampers scanning despite each clause being useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with an output schema, the description needn't explain return values, yet it still covers the failure surface (null ceilings), transport constraints, size disambiguation, and fallback routing. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and enums are documented in the schema, so the baseline is 3. The description reinforces verbatim byte handling and card-size mappings that already live in the schema, adding reinforcement rather than new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Measure...centering') on 'one ACTUAL photograph', and differentiates from siblings: this measures from a supplied photo, whereas grade_centering and get_centering_standards are distinct. The example payload anchors the purpose concretely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use: 'Ask front/back BEFORE calling if unknown', 'if sleeved/toploader or tilted, recommend a retake first', 'Borderless: suggest back/manual site', and 'If chat attachment cannot be forwarded, send user to...'. It also states exclusions (never both source types) and routes to the site fallback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_centering_standards10 fields changed
      • addedInput schema / properties / face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedInput schema / properties / face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedInput schema / properties / house / description
        Added value: +"Grading house: PSA, BGS, CGC or SGC; TAG is excluded. Case/outer whitespace accepted by the service. Example: PSA (psa also accepted)."
      • addedInput schema / properties / house / examples
        Added value: +[
        +  "PSA",
        +  "BGS"
        +]
      • addedOutput schema / properties / normalizations
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "field": {
        +        "type": "string"
        +      },
        +      "input": {
        +        "type": [
        +          "number",
        +          "string"
        +        ]
        +      },
        +      "note": {
        +        "type": "string"
        +      },
        +      "ratio": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "field",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / standards / items / properties / face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / standards / items / properties / face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedOutput schema / properties / standards / items / properties / house / description
        Added value: +"Grading house: PSA, BGS, CGC or SGC; TAG is excluded. Case/outer whitespace accepted by the service. Example: PSA (psa also accepted)."
      • addedOutput schema / properties / standards / items / properties / house / examples
        Added value: +[
        +  "PSA",
        +  "BGS"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "standards",
        -  "rounding_rule",
        -  "tag_note",
        -  "summary",
        -  "disclaimer"
        -]New value: +[
        +  "normalizations",
        +  "standards",
        +  "rounding_rule",
        +  "tag_note",
        +  "summary",
        +  "disclaimer"
        +]
    • Changedgrade_centering31 fields changed
      • addedInput schema / anyOf
        Added value: +[
        +  {
        +    "required": [
        +      "front_lr"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "front_tb"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "back_lr"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "back_tb"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "front"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "back"
        +    ]
        +  }
        +]
      • addedInput schema / properties / back
        Added value: +{
        +  "additionalProperties": false,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "lr"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "tb"
        +      ]
        +    }
        +  ],
        +  "description": "Alternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.",
        +  "examples": [
        +    {
        +      "lr": "55/45",
        +      "tb": "60/40"
        +    }
        +  ],
        +  "properties": {
        +    "lr": {
        +      "anyOf": [
        +        {
        +          "anyOf": [
        +            {
        +              "const": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMaximum": 1,
        +              "exclusiveMinimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMinimum": 1,
        +              "maximum": 100,
        +              "type": "number"
        +            },
        +            {
        +              "maxLength": 80,
        +              "minLength": 1,
        +              "type": "string"
        +            }
        +          ],
        +          "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +          "examples": [
        +            "55/45",
        +            0.55,
        +            "0.55/0.45"
        +          ]
        +        },
        +        {
        +          "items": {
        +            "type": [
        +              "number",
        +              "string"
        +            ]
        +          },
        +          "maxItems": 2,
        +          "minItems": 2,
        +          "type": "array"
        +        }
        +      ],
        +      "description": "Known left/right ratio. Example: 55/45.",
        +      "examples": [
        +        "55/45"
        +      ]
        +    },
        +    "tb": {
        +      "anyOf": [
        +        {
        +          "anyOf": [
        +            {
        +              "const": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMaximum": 1,
        +              "exclusiveMinimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMinimum": 1,
        +              "maximum": 100,
        +              "type": "number"
        +            },
        +            {
        +              "maxLength": 80,
        +              "minLength": 1,
        +              "type": "string"
        +            }
        +          ],
        +          "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +          "examples": [
        +            "55/45",
        +            0.55,
        +            "0.55/0.45"
        +          ]
        +        },
        +        {
        +          "items": {
        +            "type": [
        +              "number",
        +              "string"
        +            ]
        +          },
        +          "maxItems": 2,
        +          "minItems": 2,
        +          "type": "array"
        +        }
        +      ],
        +      "description": "Known top/bottom ratio. Example: 60/40.",
        +      "examples": [
        +        "60/40"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / back_lr / anyOf
        Previous value: -[
        -  {
        -    "const": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMaximum": 1,
        -    "exclusiveMinimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMinimum": 1,
        -    "maximum": 100,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 80,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "const": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMaximum": 1,
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMinimum": 1,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      {
        +        "maxLength": 80,
        +        "minLength": 1,
        +        "type": "string"
        +      }
        +    ],
        +    "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +    "examples": [
        +      "55/45",
        +      0.55,
        +      "0.55/0.45"
        +    ]
        +  },
        +  {
        +    "items": {
        +      "type": [
        +        "number",
        +        "string"
        +      ]
        +    },
        +    "maxItems": 2,
        +    "minItems": 2,
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / back_lr / description
        Previous value: -"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."New value: +"Back left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • addedInput schema / properties / back_lr / examples
        Added value: +[
        +  "65/35",
        +  [
        +    65,
        +    35
        +  ]
        +]
      • changedInput schema / properties / back_tb / anyOf
        Previous value: -[
        -  {
        -    "const": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMaximum": 1,
        -    "exclusiveMinimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMinimum": 1,
        -    "maximum": 100,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 80,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "const": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMaximum": 1,
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMinimum": 1,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      {
        +        "maxLength": 80,
        +        "minLength": 1,
        +        "type": "string"
        +      }
        +    ],
        +    "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +    "examples": [
        +      "55/45",
        +      0.55,
        +      "0.55/0.45"
        +    ]
        +  },
        +  {
        +    "items": {
        +      "type": [
        +        "number",
        +        "string"
        +      ]
        +    },
        +    "maxItems": 2,
        +    "minItems": 2,
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / back_tb / description
        Previous value: -"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."New value: +"Back top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • addedInput schema / properties / back_tb / examples
        Added value: +[
        +  "60/40",
        +  [
        +    60,
        +    40
        +  ]
        +]
      • addedInput schema / properties / front
        Added value: +{
        +  "additionalProperties": false,
        +  "anyOf": [
        +    {
        +      "required": [
        +        "lr"
        +      ]
        +    },
        +    {
        +      "required": [
        +        "tb"
        +      ]
        +    }
        +  ],
        +  "description": "Alternative nested form; supply lr and/or tb, never mix with the corresponding flat keys. Example: {lr:'55/45',tb:'60/40'}.",
        +  "examples": [
        +    {
        +      "lr": "55/45",
        +      "tb": "60/40"
        +    }
        +  ],
        +  "properties": {
        +    "lr": {
        +      "anyOf": [
        +        {
        +          "anyOf": [
        +            {
        +              "const": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMaximum": 1,
        +              "exclusiveMinimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMinimum": 1,
        +              "maximum": 100,
        +              "type": "number"
        +            },
        +            {
        +              "maxLength": 80,
        +              "minLength": 1,
        +              "type": "string"
        +            }
        +          ],
        +          "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +          "examples": [
        +            "55/45",
        +            0.55,
        +            "0.55/0.45"
        +          ]
        +        },
        +        {
        +          "items": {
        +            "type": [
        +              "number",
        +              "string"
        +            ]
        +          },
        +          "maxItems": 2,
        +          "minItems": 2,
        +          "type": "array"
        +        }
        +      ],
        +      "description": "Known left/right ratio. Example: 55/45.",
        +      "examples": [
        +        "55/45"
        +      ]
        +    },
        +    "tb": {
        +      "anyOf": [
        +        {
        +          "anyOf": [
        +            {
        +              "const": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMaximum": 1,
        +              "exclusiveMinimum": 0,
        +              "type": "number"
        +            },
        +            {
        +              "exclusiveMinimum": 1,
        +              "maximum": 100,
        +              "type": "number"
        +            },
        +            {
        +              "maxLength": 80,
        +              "minLength": 1,
        +              "type": "string"
        +            }
        +          ],
        +          "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +          "examples": [
        +            "55/45",
        +            0.55,
        +            "0.55/0.45"
        +          ]
        +        },
        +        {
        +          "items": {
        +            "type": [
        +              "number",
        +              "string"
        +            ]
        +          },
        +          "maxItems": 2,
        +          "minItems": 2,
        +          "type": "array"
        +        }
        +      ],
        +      "description": "Known top/bottom ratio. Example: 60/40.",
        +      "examples": [
        +        "60/40"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / front_lr / anyOf
        Previous value: -[
        -  {
        -    "const": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMaximum": 1,
        -    "exclusiveMinimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMinimum": 1,
        -    "maximum": 100,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 80,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "const": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMaximum": 1,
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMinimum": 1,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      {
        +        "maxLength": 80,
        +        "minLength": 1,
        +        "type": "string"
        +      }
        +    ],
        +    "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +    "examples": [
        +      "55/45",
        +      0.55,
        +      "0.55/0.45"
        +    ]
        +  },
        +  {
        +    "items": {
        +      "type": [
        +        "number",
        +        "string"
        +      ]
        +    },
        +    "maxItems": 2,
        +    "minItems": 2,
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / front_lr / description
        Previous value: -"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."New value: +"Front left/right. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • addedInput schema / properties / front_lr / examples
        Added value: +[
        +  "55/45",
        +  [
        +    55,
        +    45
        +  ]
        +]
      • changedInput schema / properties / front_tb / anyOf
        Previous value: -[
        -  {
        -    "const": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMaximum": 1,
        -    "exclusiveMinimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "exclusiveMinimum": 1,
        -    "maximum": 100,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 80,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "const": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMaximum": 1,
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      {
        +        "exclusiveMinimum": 1,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      {
        +        "maxLength": 80,
        +        "minLength": 1,
        +        "type": "string"
        +      }
        +    ],
        +    "description": "Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations.",
        +    "examples": [
        +      "55/45",
        +      0.55,
        +      "0.55/0.45"
        +    ]
        +  },
        +  {
        +    "items": {
        +      "type": [
        +        "number",
        +        "string"
        +      ]
        +    },
        +    "maxItems": 2,
        +    "minItems": 2,
        +    "type": "array"
        +  }
        +]
      • changedInput schema / properties / front_tb / description
        Previous value: -"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."New value: +"Front top/bottom. Optional individually; supply at least one known axis. Do not guess the face or axis. Example: 55/45. Known face/axis ratio. Examples: 55/45, 0.55, [55,45] (service alternative). A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • addedInput schema / properties / front_tb / examples
        Added value: +[
        +  "60/40",
        +  [
        +    60,
        +    40
        +  ]
        +]
      • changedInput schema / properties / house / description
        Previous value: -"Optional: return only this grading house."New value: +"Optional: return only PSA/BGS/CGC/SGC. Case/outer spaces accepted. TAG excluded; never substitute a different house. Example: PSA."
      • addedInput schema / properties / house / examples
        Added value: +[
        +  "PSA"
        +]
      • changedOutput schema / properties / back / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "ceilings": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "BGS": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "CGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "PSA": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "SGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "missing_axes": {
        -        "items": {
        -          "enum": [
        -            "lr",
        -            "tb"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "ratios": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "lr": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "tb": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "lr",
        -          "tb"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "ratios",
        -      "missing_axes",
        -      "ceilings"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "ceilings": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "BGS": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "CGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "PSA": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "SGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "missing_axes": {
        +        "items": {
        +          "enum": [
        +            "lr",
        +            "tb"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "ratios": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "lr": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "tb": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "lr",
        +          "tb"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "ratios",
        +      "missing_axes",
        +      "ceilings"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / combined / properties / BGS / properties / limiting_face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / combined / properties / BGS / properties / limiting_face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedOutput schema / properties / combined / properties / CGC / properties / limiting_face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / combined / properties / CGC / properties / limiting_face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedOutput schema / properties / combined / properties / PSA / properties / limiting_face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / combined / properties / PSA / properties / limiting_face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedOutput schema / properties / combined / properties / SGC / properties / limiting_face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / combined / properties / SGC / properties / limiting_face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • changedOutput schema / properties / front / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "ceilings": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "BGS": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "CGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "PSA": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "SGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "missing_axes": {
        -        "items": {
        -          "enum": [
        -            "lr",
        -            "tb"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "ratios": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "lr": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "tb": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "lr",
        -          "tb"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "ratios",
        -      "missing_axes",
        -      "ceilings"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "ceilings": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "BGS": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "CGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "PSA": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "SGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "examples": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "missing_axes": {
        +        "items": {
        +          "enum": [
        +            "lr",
        +            "tb"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "ratios": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "lr": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "tb": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "lr",
        +          "tb"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "ratios",
        +      "missing_axes",
        +      "ceilings"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / missing_faces / items / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / missing_faces / items / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • removedOutput schema / properties / normalizations / items / properties / field / enum
        Removed value: -[
        -  "front_lr",
        -  "front_tb",
        -  "back_lr",
        -  "back_tb"
        -]
      • changedOutput schema / properties / normalizations / items / required
        Previous value: -[
        -  "field",
        -  "input",
        -  "ratio",
        -  "note"
        -]New value: +[
        +  "field",
        +  "note"
        +]
    • Changedmeasure_card_centering13 fields changed
      • changedInput schema / properties / card_size / description
        Previous value: -"standard = 63×88 mm; small = 59×86 mm."New value: +"standard = 63×88 mm; small = 59×86 mm. Japanese Pokémon uses standard; Yu-Gi-Oh! uses small. Case/outer whitespace accepted. Example: standard."
      • addedInput schema / properties / card_size / examples
        Added value: +[
        +  "standard",
        +  "small"
        +]
      • changedInput schema / properties / face / description
        Previous value: -"Required: ask the user whether the photo shows the front or back if unclear."New value: +"Required: front or back (English). Ask the user before calling if unclear. Case/outer whitespace accepted, e.g. Front; reverse/obverse are rejected."
      • addedInput schema / properties / face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • changedInput schema / properties / image_base64 / description
        Previous value: -"Raw base64 encoded raster image, without a data-URL prefix. Intended for clients that can supply image bytes."New value: +"Actual base64 raster image bytes supplied by the client. Image data-URL prefix and whitespace/newlines are accepted and normalization is disclosed. Never invent bytes or substitute an attachment filename. Example syntax: data:image/png;base64,... (ellipsis is not valid bytes)."
      • addedInput schema / properties / image_base64 / examples
        Added value: +[
        +  "data:image/png;base64,iVBORw0KGgo="
        +]
      • changedInput schema / properties / image_url / description
        Previous value: -"Public HTTPS image URL, port 443. Private network addresses and non-image responses are rejected."New value: +"Public HTTPS image URL, port 443. Private network addresses and non-image responses are rejected. Use only a URL supplied by the user: never invent one. Example syntax: https://images.example.org/card.jpg (placeholder, never fetch it)."
      • addedInput schema / properties / image_url / examples
        Added value: +[
        +  "https://images.example.org/card.jpg"
        +]
      • changedOutput schema / properties / ceilings / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "BGS": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "borderline": {
        -            "type": "boolean"
        -          },
        -          "distance_to_next": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "limiting_axis": {
        -            "enum": [
        -              "lr",
        -              "tb"
        -            ],
        -            "type": "string"
        -          },
        -          "limiting_face": {
        -            "enum": [
        -              "front",
        -              "back"
        -            ],
        -            "type": "string"
        -          },
        -          "maximum_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "rank": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "sources": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "standard_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "unconstrained": {
        -            "type": "boolean"
        -          },
        -          "verification": {
        -            "type": "string"
        -          },
        -          "verified": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "maximum_grade",
        -          "label",
        -          "rank",
        -          "limiting_face",
        -          "limiting_axis",
        -          "distance_to_next",
        -          "next_grade",
        -          "next_label",
        -          "borderline",
        -          "unconstrained",
        -          "source_status",
        -          "standard_status",
        -          "source",
        -          "sources",
        -          "verified",
        -          "verification"
        -        ],
        -        "type": "object"
        -      },
        -      "CGC": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "borderline": {
        -            "type": "boolean"
        -          },
        -          "distance_to_next": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "limiting_axis": {
        -            "enum": [
        -              "lr",
        -              "tb"
        -            ],
        -            "type": "string"
        -          },
        -          "limiting_face": {
        -            "enum": [
        -              "front",
        -              "back"
        -            ],
        -            "type": "string"
        -          },
        -          "maximum_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "rank": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "sources": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "standard_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "unconstrained": {
        -            "type": "boolean"
        -          },
        -          "verification": {
        -            "type": "string"
        -          },
        -          "verified": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "maximum_grade",
        -          "label",
        -          "rank",
        -          "limiting_face",
        -          "limiting_axis",
        -          "distance_to_next",
        -          "next_grade",
        -          "next_label",
        -          "borderline",
        -          "unconstrained",
        -          "source_status",
        -          "standard_status",
        -          "source",
        -          "sources",
        -          "verified",
        -          "verification"
        -        ],
        -        "type": "object"
        -      },
        -      "PSA": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "borderline": {
        -            "type": "boolean"
        -          },
        -          "distance_to_next": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "limiting_axis": {
        -            "enum": [
        -              "lr",
        -              "tb"
        -            ],
        -            "type": "string"
        -          },
        -          "limiting_face": {
        -            "enum": [
        -              "front",
        -              "back"
        -            ],
        -            "type": "string"
        -          },
        -          "maximum_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "rank": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "sources": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "standard_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "unconstrained": {
        -            "type": "boolean"
        -          },
        -          "verification": {
        -            "type": "string"
        -          },
        -          "verified": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "maximum_grade",
        -          "label",
        -          "rank",
        -          "limiting_face",
        -          "limiting_axis",
        -          "distance_to_next",
        -          "next_grade",
        -          "next_label",
        -          "borderline",
        -          "unconstrained",
        -          "source_status",
        -          "standard_status",
        -          "source",
        -          "sources",
        -          "verified",
        -          "verification"
        -        ],
        -        "type": "object"
        -      },
        -      "SGC": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "borderline": {
        -            "type": "boolean"
        -          },
        -          "distance_to_next": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "limiting_axis": {
        -            "enum": [
        -              "lr",
        -              "tb"
        -            ],
        -            "type": "string"
        -          },
        -          "limiting_face": {
        -            "enum": [
        -              "front",
        -              "back"
        -            ],
        -            "type": "string"
        -          },
        -          "maximum_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_grade": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "next_label": {
        -            "type": [
        -              "string",
        -              "null"
        -            ]
        -          },
        -          "rank": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "source_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "sources": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "standard_status": {
        -            "enum": [
        -              "official",
        -              "interpreted",
        -              "approximate"
        -            ],
        -            "type": "string"
        -          },
        -          "unconstrained": {
        -            "type": "boolean"
        -          },
        -          "verification": {
        -            "type": "string"
        -          },
        -          "verified": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "maximum_grade",
        -          "label",
        -          "rank",
        -          "limiting_face",
        -          "limiting_axis",
        -          "distance_to_next",
        -          "next_grade",
        -          "next_label",
        -          "borderline",
        -          "unconstrained",
        -          "source_status",
        -          "standard_status",
        -          "source",
        -          "sources",
        -          "verified",
        -          "verification"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "PSA",
        -      "BGS",
        -      "CGC",
        -      "SGC"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "BGS": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "borderline": {
        +            "type": "boolean"
        +          },
        +          "distance_to_next": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "limiting_axis": {
        +            "enum": [
        +              "lr",
        +              "tb"
        +            ],
        +            "type": "string"
        +          },
        +          "limiting_face": {
        +            "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +            "enum": [
        +              "front",
        +              "back"
        +            ],
        +            "examples": [
        +              "front",
        +              "back"
        +            ],
        +            "type": "string"
        +          },
        +          "maximum_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "rank": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "sources": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "standard_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "unconstrained": {
        +            "type": "boolean"
        +          },
        +          "verification": {
        +            "type": "string"
        +          },
        +          "verified": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "maximum_grade",
        +          "label",
        +          "rank",
        +          "limiting_face",
        +          "limiting_axis",
        +          "distance_to_next",
        +          "next_grade",
        +          "next_label",
        +          "borderline",
        +          "unconstrained",
        +          "source_status",
        +          "standard_status",
        +          "source",
        +          "sources",
        +          "verified",
        +          "verification"
        +        ],
        +        "type": "object"
        +      },
        +      "CGC": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "borderline": {
        +            "type": "boolean"
        +          },
        +          "distance_to_next": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "limiting_axis": {
        +            "enum": [
        +              "lr",
        +              "tb"
        +            ],
        +            "type": "string"
        +          },
        +          "limiting_face": {
        +            "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +            "enum": [
        +              "front",
        +              "back"
        +            ],
        +            "examples": [
        +              "front",
        +              "back"
        +            ],
        +            "type": "string"
        +          },
        +          "maximum_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "rank": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "sources": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "standard_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "unconstrained": {
        +            "type": "boolean"
        +          },
        +          "verification": {
        +            "type": "string"
        +          },
        +          "verified": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "maximum_grade",
        +          "label",
        +          "rank",
        +          "limiting_face",
        +          "limiting_axis",
        +          "distance_to_next",
        +          "next_grade",
        +          "next_label",
        +          "borderline",
        +          "unconstrained",
        +          "source_status",
        +          "standard_status",
        +          "source",
        +          "sources",
        +          "verified",
        +          "verification"
        +        ],
        +        "type": "object"
        +      },
        +      "PSA": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "borderline": {
        +            "type": "boolean"
        +          },
        +          "distance_to_next": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "limiting_axis": {
        +            "enum": [
        +              "lr",
        +              "tb"
        +            ],
        +            "type": "string"
        +          },
        +          "limiting_face": {
        +            "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +            "enum": [
        +              "front",
        +              "back"
        +            ],
        +            "examples": [
        +              "front",
        +              "back"
        +            ],
        +            "type": "string"
        +          },
        +          "maximum_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "rank": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "sources": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "standard_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "unconstrained": {
        +            "type": "boolean"
        +          },
        +          "verification": {
        +            "type": "string"
        +          },
        +          "verified": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "maximum_grade",
        +          "label",
        +          "rank",
        +          "limiting_face",
        +          "limiting_axis",
        +          "distance_to_next",
        +          "next_grade",
        +          "next_label",
        +          "borderline",
        +          "unconstrained",
        +          "source_status",
        +          "standard_status",
        +          "source",
        +          "sources",
        +          "verified",
        +          "verification"
        +        ],
        +        "type": "object"
        +      },
        +      "SGC": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "borderline": {
        +            "type": "boolean"
        +          },
        +          "distance_to_next": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "limiting_axis": {
        +            "enum": [
        +              "lr",
        +              "tb"
        +            ],
        +            "type": "string"
        +          },
        +          "limiting_face": {
        +            "description": "Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front.",
        +            "enum": [
        +              "front",
        +              "back"
        +            ],
        +            "examples": [
        +              "front",
        +              "back"
        +            ],
        +            "type": "string"
        +          },
        +          "maximum_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_grade": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "next_label": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "rank": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "source_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "sources": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "standard_status": {
        +            "enum": [
        +              "official",
        +              "interpreted",
        +              "approximate"
        +            ],
        +            "type": "string"
        +          },
        +          "unconstrained": {
        +            "type": "boolean"
        +          },
        +          "verification": {
        +            "type": "string"
        +          },
        +          "verified": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "maximum_grade",
        +          "label",
        +          "rank",
        +          "limiting_face",
        +          "limiting_axis",
        +          "distance_to_next",
        +          "next_grade",
        +          "next_label",
        +          "borderline",
        +          "unconstrained",
        +          "source_status",
        +          "standard_status",
        +          "source",
        +          "sources",
        +          "verified",
        +          "verification"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "PSA",
        +      "BGS",
        +      "CGC",
        +      "SGC"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / face / description
        Added value: +"Face: front or back, in English. Ask the user if unknown. Case and outer whitespace accepted; never use reverse/obverse or translated names. Example: front."
      • addedOutput schema / properties / face / examples
        Added value: +[
        +  "front",
        +  "back"
        +]
      • addedOutput schema / properties / normalizations
        Added value: +{
        +  "default": [],
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "field": {
        +        "type": "string"
        +      },
        +      "input": {
        +        "type": [
        +          "number",
        +          "string"
        +        ]
        +      },
        +      "note": {
        +        "type": "string"
        +      },
        +      "ratio": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "field",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "status",
        -  "code",
        -  "face",
        -  "card_size",
        -  "lr",
        -  "tb",
        -  "confidence",
        -  "warnings",
        -  "ceilings",
        -  "adjust_url",
        -  "advice",
        -  "elapsed_ms",
        -  "image_bytes",
        -  "summary",
        -  "disclaimer"
        -]New value: +[
        +  "normalizations",
        +  "status",
        +  "code",
        +  "face",
        +  "card_size",
        +  "lr",
        +  "tb",
        +  "confidence",
        +  "warnings",
        +  "ceilings",
        +  "adjust_url",
        +  "advice",
        +  "elapsed_ms",
        +  "image_bytes",
        +  "summary",
        +  "disclaimer"
        +]
  2. 1 tool update
    • Changedgrade_centering14 fields changed
      • changedInput schema / properties / back_lr / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 40,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "const": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMaximum": 1,
        +    "exclusiveMinimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMinimum": 1,
        +    "maximum": 100,
        +    "type": "number"
        +  },
        +  {
        +    "maxLength": 80,
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +]
      • changedInput schema / properties / back_lr / description
        Previous value: -"A percentage (55 or 45), or two percentages summing to 100 (\"55/45\" or \"45/55\"). Normalized to the larger side."New value: +"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • changedInput schema / properties / back_tb / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 40,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "const": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMaximum": 1,
        +    "exclusiveMinimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMinimum": 1,
        +    "maximum": 100,
        +    "type": "number"
        +  },
        +  {
        +    "maxLength": 80,
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +]
      • changedInput schema / properties / back_tb / description
        Previous value: -"A percentage (55 or 45), or two percentages summing to 100 (\"55/45\" or \"45/55\"). Normalized to the larger side."New value: +"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • changedInput schema / properties / front_lr / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 40,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "const": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMaximum": 1,
        +    "exclusiveMinimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMinimum": 1,
        +    "maximum": 100,
        +    "type": "number"
        +  },
        +  {
        +    "maxLength": 80,
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +]
      • changedInput schema / properties / front_lr / description
        Previous value: -"A percentage (55 or 45), or two percentages summing to 100 (\"55/45\" or \"45/55\"). Normalized to the larger side."New value: +"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • changedInput schema / properties / front_tb / anyOf
        Previous value: -[
        -  {
        -    "maximum": 100,
        -    "minimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "maxLength": 40,
        -    "minLength": 1,
        -    "type": "string"
        -  }
        -]New value: +[
        +  {
        +    "const": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMaximum": 1,
        +    "exclusiveMinimum": 0,
        +    "type": "number"
        +  },
        +  {
        +    "exclusiveMinimum": 1,
        +    "maximum": 100,
        +    "type": "number"
        +  },
        +  {
        +    "maxLength": 80,
        +    "minLength": 1,
        +    "type": "string"
        +  }
        +]
      • changedInput schema / properties / front_tb / description
        Previous value: -"A percentage (55 or 45), or two percentages summing to 100 (\"55/45\" or \"45/55\"). Normalized to the larger side."New value: +"A percentage within 0–100 (55 or 45; 1 is ambiguous and rejected), a fraction between 0 and 1 (0.55), or a pair summing to 100 or 1. Separators: / - – — : x or spaces; optional %. Axis suffix L/R or left/right for *_lr, T/B or top/bottom for *_tb. Normalized to the larger side; fractions are disclosed in normalizations."
      • addedInput schema / properties / house
        Added value: +{
        +  "description": "Optional: return only this grading house.",
        +  "enum": [
        +    "PSA",
        +    "BGS",
        +    "CGC",
        +    "SGC"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / back / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "ceilings": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "BGS": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "CGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "PSA": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "SGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "required": [
        -          "PSA",
        -          "BGS",
        -          "CGC",
        -          "SGC"
        -        ],
        -        "type": "object"
        -      },
        -      "missing_axes": {
        -        "items": {
        -          "enum": [
        -            "lr",
        -            "tb"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "ratios": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "lr": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "tb": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "lr",
        -          "tb"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "ratios",
        -      "missing_axes",
        -      "ceilings"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "ceilings": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "BGS": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "CGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "PSA": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "SGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "missing_axes": {
        +        "items": {
        +          "enum": [
        +            "lr",
        +            "tb"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "ratios": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "lr": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "tb": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "lr",
        +          "tb"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "ratios",
        +      "missing_axes",
        +      "ceilings"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / combined / required
        Removed value: -[
        -  "PSA",
        -  "BGS",
        -  "CGC",
        -  "SGC"
        -]
      • changedOutput schema / properties / front / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "ceilings": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "BGS": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "CGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "PSA": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          },
        -          "SGC": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "borderline": {
        -                "type": "boolean"
        -              },
        -              "distance_to_next": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "limiting_axis": {
        -                "enum": [
        -                  "lr",
        -                  "tb"
        -                ],
        -                "type": "string"
        -              },
        -              "limiting_face": {
        -                "enum": [
        -                  "front",
        -                  "back"
        -                ],
        -                "type": "string"
        -              },
        -              "maximum_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_grade": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "next_label": {
        -                "type": [
        -                  "string",
        -                  "null"
        -                ]
        -              },
        -              "rank": {
        -                "type": [
        -                  "number",
        -                  "null"
        -                ]
        -              },
        -              "source": {
        -                "type": "string"
        -              },
        -              "source_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "sources": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              },
        -              "standard_status": {
        -                "enum": [
        -                  "official",
        -                  "interpreted",
        -                  "approximate"
        -                ],
        -                "type": "string"
        -              },
        -              "unconstrained": {
        -                "type": "boolean"
        -              },
        -              "verification": {
        -                "type": "string"
        -              },
        -              "verified": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "maximum_grade",
        -              "label",
        -              "rank",
        -              "limiting_face",
        -              "limiting_axis",
        -              "distance_to_next",
        -              "next_grade",
        -              "next_label",
        -              "borderline",
        -              "unconstrained",
        -              "source_status",
        -              "standard_status",
        -              "source",
        -              "sources",
        -              "verified",
        -              "verification"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "required": [
        -          "PSA",
        -          "BGS",
        -          "CGC",
        -          "SGC"
        -        ],
        -        "type": "object"
        -      },
        -      "missing_axes": {
        -        "items": {
        -          "enum": [
        -            "lr",
        -            "tb"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "ratios": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "lr": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          },
        -          "tb": {
        -            "type": [
        -              "number",
        -              "null"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "lr",
        -          "tb"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "ratios",
        -      "missing_axes",
        -      "ceilings"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "ceilings": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "BGS": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "CGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "PSA": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          },
        +          "SGC": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "borderline": {
        +                "type": "boolean"
        +              },
        +              "distance_to_next": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "limiting_axis": {
        +                "enum": [
        +                  "lr",
        +                  "tb"
        +                ],
        +                "type": "string"
        +              },
        +              "limiting_face": {
        +                "enum": [
        +                  "front",
        +                  "back"
        +                ],
        +                "type": "string"
        +              },
        +              "maximum_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_grade": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "next_label": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "rank": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "source": {
        +                "type": "string"
        +              },
        +              "source_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "sources": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": "array"
        +              },
        +              "standard_status": {
        +                "enum": [
        +                  "official",
        +                  "interpreted",
        +                  "approximate"
        +                ],
        +                "type": "string"
        +              },
        +              "unconstrained": {
        +                "type": "boolean"
        +              },
        +              "verification": {
        +                "type": "string"
        +              },
        +              "verified": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "maximum_grade",
        +              "label",
        +              "rank",
        +              "limiting_face",
        +              "limiting_axis",
        +              "distance_to_next",
        +              "next_grade",
        +              "next_label",
        +              "borderline",
        +              "unconstrained",
        +              "source_status",
        +              "standard_status",
        +              "source",
        +              "sources",
        +              "verified",
        +              "verification"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "missing_axes": {
        +        "items": {
        +          "enum": [
        +            "lr",
        +            "tb"
        +          ],
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "ratios": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "lr": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "tb": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "lr",
        +          "tb"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "ratios",
        +      "missing_axes",
        +      "ceilings"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / normalizations
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "field": {
        +        "enum": [
        +          "front_lr",
        +          "front_tb",
        +          "back_lr",
        +          "back_tb"
        +        ],
        +        "type": "string"
        +      },
        +      "input": {
        +        "type": [
        +          "number",
        +          "string"
        +        ]
        +      },
        +      "note": {
        +        "type": "string"
        +      },
        +      "ratio": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "field",
        +      "input",
        +      "ratio",
        +      "note"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "front",
        -  "back",
        -  "combined",
        -  "incomplete",
        -  "missing_faces",
        -  "summary",
        -  "disclaimer"
        -]New value: +[
        +  "front",
        +  "back",
        +  "combined",
        +  "normalizations",
        +  "incomplete",
        +  "missing_faces",
        +  "summary",
        +  "disclaimer"
        +]
  3. 3 tool updates
    • First observedget_centering_standards
    • First observedgrade_centering
    • First observedmeasure_card_centering

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to look up trading-card market values across Pokémon, Magic, sports and other TCG catalogs, including raw prices by condition, graded ladders, price history, trending movers and set checklists. It also calculates grading ROI — gem premiums, net profit after fees, expected value and break-even gem rates — so collectors can decide whether a card is worth submitting.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to check a Pokémon trading-card listing for deterministic, rule-based risk signals such as proxy wording, missing cert numbers, off-platform payment requests, and suspiciously low asks, along with a common-fakes checklist and ready-made sold-comp search links. It is informational only and never authenticates, grades, appraises, or returns prices.
    1 npm
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Vision-guided Pokémon TCG card identification server that matches exact printings using visual evidence and marketplace data.
    40
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources