Skip to main content
Glama

ComplianceCN — toys, batteries, cosmetics, food contact: CE, GPSR, UN 38.3, CPC/GCC and more

Server Details

Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

11 tools
check_amazon_compliance_requestAmazon or another marketplace asked for compliance filesA
Read-onlyIdempotent
Inspect

Use when Amazon or another marketplace has asked a seller for compliance files or documents -- for example "Amazon asked me for compliance paperwork", "my listing was taken down pending documents", or "the platform wants safety evidence". Returns the evidence a marketplace typically requests for this product and destination market, which items the seller already holds, and what is still outstanding. Answers immediately from the published ruleset: no case, no account, no follow-up call. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: answers arrive immediately from a published ruleset, with 'no case, no account, no follow-up call', confirming zero side effects. It also discloses the human-reviewed-pack limitation tied to a confirmed seller email. No contradiction with annotations; value is added without repeating what annotations state.

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?

The trigger scenario is front-loaded in the first sentence, which is excellent. But the trailing access note about market_access_check being free/unlimited and the ComplianceCN human-reviewed pack is tangential to tool selection and adds length without informing when to call this tool. Tightening that second-half notice would lift the score.

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

Completeness4/5

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

Complexity is high (21 params) but the description is backed by a strong schema (100% parameter documentation) and an output schema that already covers return shape. The description covers the trigger, the return contract (requested/held/outstanding), and key behavioral traits. The only mild gap is the slightly vague relationship to market_access_check, but nothing an agent needs to call this tool 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%, so every one of the 21 parameters is already documented in the schema itself, which sets the baseline at 3. The description focuses on the use-case and return contract rather than individual parameters, which is appropriate given the schema's heavy lifting. It adds no parameter-level detail beyond what the schema provides, so the baseline 3 is correct.

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 description names a specific verb and resource — answering a marketplace's request for compliance evidence — and grounds it with concrete trigger phrases ('Amazon asked me for compliance paperwork', 'my listing was taken down pending documents'). It states the return contract precisely: evidence requested, already held, and outstanding. This clearly distinguishes it from siblings like check_battery_transport_documents and check_us_import_certification, which target specific regulatory routes rather than the marketplace-requested-evidence scenario.

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?

The description opens with an explicit 'Use when...' trigger and offers example utterances, which is strong routing guidance. It also names market_access_check as the free/unlimited product-assessment path. However, the boundary between this tool and market_access_check is stated indirectly — it reads more like an access notice than a clear 'use X instead when Y' exclusion — so the when-not guidance is slightly under-developed.

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

check_battery_transport_documentsForwarder will not take the battery productA
Read-onlyIdempotent
Inspect

Use when a freight forwarder, courier or carrier has refused or queried a battery product -- for example "my forwarder will not ship the lithium battery", "they want the UN 38.3 report", or "the airline rejected my dangerous-goods paperwork". Returns whether a UN 38.3 test summary applies to this cell and pack, the shipping marks required, and the transport documents a forwarder usually asks for. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A3.8/5.0
Behavior4/5

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

Read-only and idempotent behavior is already covered by annotations. The description adds useful context by saying it answers immediately from the published ruleset and explaining access/cost behavior. No contradiction with annotations.

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?

The trigger examples and return-value sentence are concise and front-loaded. However, the later 'Access notice' paragraph covers pricing and review policy unrelated to tool selection or invocation, making the description longer than necessary.

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

Completeness4/5

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

Combined with the rich input schema and output schema, the description is complete enough for safe invocation. The trigger is clear and the return scope is stated. A small gap remains in explaining how this tool relates to the general market_access_check sibling.

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 every parameter already has a meaningful description. The tool description does not need to add parameter detail, and it does not, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a clear use case: a freight forwarder or carrier has refused or queried a battery product, and the tool returns UN 38.3 applicability, shipping marks, and transport documents. It is specific to battery transport documents, though it does not explicitly distinguish itself from sibling compliance tools.

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?

Provides explicit when-to-use guidance with concrete example user scenarios. It does not state when not to use the tool or point to a specific alternative, so it is slightly below a perfect score.

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

check_eu_declaration_basisEU declaration basisA
Read-onlyIdempotent
Inspect

Use when a buyer, customs authority or distributor wants the EU Declaration of Conformity -- for example "customs is asking for the DoC", "my buyer wants the declaration", or "which directives do I cite?". Returns the legislation and standards a Declaration of Conformity would cite for this product, the evidence held against each, and the fields that still need confirming before anyone signs. This maps the basis for a declaration; it does not issue or sign one. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive; the description adds meaningful behavior beyond those hints: 'Answers immediately from the published ruleset', 'maps the basis... does not issue or sign', and the access notice covering free/unlimited calls plus the separately arranged human-reviewed pack. No contradiction with annotations exists.

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?

The description is well-structured and front-loaded: trigger conditions first, then outputs, then exclusion and behavior. The access notice at the end adds useful context but lengthens the description; overall there is no fluff, and every section earns its place.

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 21 parameters, 0 required, and a full output schema, the description covers purpose, output content, exclusions, response speed, and access model. An agent has sufficient context to decide to call it and interpret the result without needing to read the schema first.

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%, so the baseline is 3; the description itself does not elaborate on individual parameters, leaving that to the schema. It provides a high-level output summary but no additional parameter-specific guidance beyond the schema's own rich descriptions.

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 description names specific users (buyer, customs authority, distributor) and the exact purpose: mapping the basis for an EU Declaration of Conformity. It gives example trigger phrases and states it returns legislation/standards, evidence held, and outstanding fields, while explicitly distinguishing itself from issuing or signing a declaration. This clearly differentiates it from sibling tools like check_us_import_certification.

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?

The description opens with 'Use when...' and provides concrete example requests, plus an explicit exclusion ('does not issue or sign one'). It references market_access_check and explains when a different product starts its own case, though it doesn't systematically name sibling alternatives like check_label_and_packaging. The trigger context is clear enough for correct routing.

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

check_label_and_packagingLabel and packaging reviewA
Read-onlyIdempotent
Inspect

Use when a seller is unsure their label, artwork or packaging is correct -- for example "is my CE label right?", "what warnings do I need on the box?", or "does the packaging need an importer address?". Returns the marks, symbols, warning language and responsible-entity details the destination market requires on the artwork, and which of them are evidenced. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint: trueebb, openWorldHint: false, idempotentHint: true, destructiveHint: false, so the tool is clearly safe, read-only, and idempotent. The description adds that it returns evidence status and answers immediately from a published ruleset, but the description does not disclose that it is a 'review' that may not be definitive, nor does it address the meaning of the 'preliminary' nature or that it doesn't verify individual documents. The description does not contradict the annotations, but it adds limited behavioral context beyond them.

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?

The description is moderately long but dense with relevant information. The primary trigger is front-loaded, and the access notice is placed at the end. However, it includes some redundant detail (e.g., 'the first call returns preliminary requirements, and a different product simply starts its own case') that could be condensed without losing meaning, and the parenthetical example list adds length. Overall it's efficient for a tool with 22 parameters.

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

Completeness3/5

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

Given the tool's complexity (22 parameters, 90 evidence enum values, output schema present), the description provides a high-level overview of use and access but does not explain the overall workflow (e.g., that it's part of a case, how to start it, how to continue with a case_id). The schema descriptions cover parameter semantics in depth, and the output schema likely explains return values, so the description doesn't need to repeat those. However, it omits guidance on how to interact with the 'evidence_checklist' and 'case_id' continuation, which an agent might need. It is adequate but not fully complete.

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?

The schema covers 100% of the 22 parameters with detailed descriptions that frequently explain how each parameter affects the check (e.g., has_radio -> 'Decides the RED conformity route'), which is already rich. The tool description itself adds no parameter-specific details, but given the high schema coverage, it correctly relies on the schema. The description also hints at combined usage (e.g., omitting optional hints when product_description contains enough info), though it doesn't detail every field. This slightly enhances the schema's guidance.

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 description opens with a direct statement of what the tool does: it checks whether a seller's label, artwork, or packaging is correct for a destination market, listing example questions. It explicitly enumerates the deliverable (marks, symbols, warning language, responsible-entity details, and evidence status), clearly distinguishing it from the sibling tools, which either handle broader market access or specific compliance checks.

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?

The description begins with 'Use when a seller is unsure their label, artwork or packaging is correct,' establishing a clear trigger condition. It also clarifies scope by contrasting with market_access_check: the first call is free and unlimited, a different product starts its own case, and only a second human-reviewed pack is arranged with ComplianceCN. This differentiation is explicit and actionable.

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

check_us_import_certificationUS certification and entry filingA
Read-onlyIdempotent
Inspect

Use when a US importer, customs broker or buyer needs certification or entry-filing data -- for example "my importer wants a CPC", "do I need a GCC?", "what does CBP need at entry?", or "the buyer asked for the FCC SDoC". Returns whether a CPC or GCC applies, the supporting test evidence, the US responsible-party details, and the same data needed at entry. Answers immediately from the published ruleset. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
product_nameNoHuman-readable product or SKU name
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which the description does not contradict. The description adds operational context by stating 'Answers immediately from the published ruleset,' indicating a lightweight, non-custom analysis. It also clarifies that the tool returns specific data elements, providing behavioral insight beyond 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.

Conciseness3/5

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

The description is front-loaded with the purpose and examples, which is good. However, the 'Access notice' about market_access_check is a long aside about pricing and a sibling tool; it is tangential to the tool's core function and could be relocated to reduce verbosity. Still, the structure is logical and not excessively long.

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

Completeness4/5

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

Given the tool's complexity (20 parameters, but none required) and the presence of a full output schema, the description is reasonably complete for an agent to decide when to invoke it. It explains the overall purpose, the trigger scenarios, and the returned data. The extensive parameter details are adequately covered in the schema, so the description does not need to enumerate all parameters.

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%, so the baseline is 3. The description does not add parameter-specific detail beyond what the schema already provides; it only gives high-level context about what the tool does. Since the schema fully documents every parameter, the description does not need to compensate for missing schema information.

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 description clearly states the tool's purpose: to provide US certification and entry-filing data for importers, brokers, or buyers. It gives specific trigger examples ('my importer wants a CPC', 'do I need a GCC?', 'what does CBP need at entry?', 'the buyer asked for the FCC SDoC') and states exactly what it returns ('whether a CPC or GCC applies, the supporting test evidence, the US responsible-party details, and the same data needed at entry'). This distinguishes it from EU-focused siblings like check_eu_declaration_basis.

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?

The description provides explicit trigger conditions and examples that indicate when to use this tool. It also contrasts with market_access_check, mentioning that product assessment through that tool is free and unlimited, implying this tool is for certification-specific queries. However, it does not explicitly say 'use X instead for EU or battery' but the examples are narrowly US-focused, making the use case clear without stating exclusions.

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

compare_market_requirementsCompare marketsA
Read-onlyIdempotent
Inspect

Compare what the same product needs across 2-4 of the EU, UK, US and Australia. Answers immediately from the published ruleset -- no case, no account, no follow-up. Send a category and the markets; partial product facts are fine, and it still returns a presentable comparison. Any optional_refinement_questions are non-blocking: show them if useful, but do not ask them automatically or re-run. For a full readiness assessment of one product, use market_access_check. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsYes
categoryYesProduct category
languageNoResponse language. Defaults to Chinese.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
food_typeNoThe food the product will contact. Simulant selection for migration testing depends on it.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
is_sunscreenNoWhether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.
repeated_useNoWhether the article is single-use or reused. Repeated use requires migration testing across successive cycles.
verified_onlyNoExclude rules not yet checked against primary sources. Default false: unverified material is included but labelled via review_status and the trust envelope.
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
contact_durationNoHow long the product touches food in normal use. Long-term contact triggers stricter migration testing.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
claims_therapeuticNoWhether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.
contact_temperatureNoThe temperature at contact. Hot fill and cooking raise migration limits and change the test.
ingredients_reviewedNoWhether the full ingredient list has already been checked against restricted-substance annexes.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses meaningful runtime behavior: immediate answers with no case/account/follow-up, tolerance for partial product facts, non-blocking optional_refinement_questions that must be shown but not asked automatically, and the free/unlimited access model. This is substantial value-added context that annotations alone could not convey.

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?

Core purpose is front-loaded and the routing to market_access_check comes early. The final access-billing paragraph is somewhat verbose and marketing-toned ('free and unlimited'), but it does carry genuine billing/account clarification. Slightly longer than strictly necessary but well-structured.

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

Completeness4/5

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

For a 25-parameter tool with an output schema (so return values need not be explained), the description covers purpose, invocation, behavioral traits, sibling routing, and the access model. It is complete enough for an agent to decide when and how to call it. The high schema coverage carries the parameter burden, so little 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 96%, so the schema already documents every parameter in detail (e.g., age_group, battery_type, eu_destination). The description's only param-level contribution is highlighting the two required fields and noting that partial facts are acceptable. That modest addition meets the baseline for a high-coverage schema.

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?

Opens with a specific verb and resource: 'Compare what the same product needs across 2-4 of the EU, UK, US and Australia.' This clearly distinguishes it from market_access_check, which is named explicitly as the single-market readiness alternative. An agent can pick the right tool without opening the 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?

Gives explicit invocation guidance ('Send a category and the markets; partial product facts are fine') and names the alternative with its selection condition ('For a full readiness assessment of one product, use market_access_check'). The access notice further clarifies when the ComplianceCN human-reviewed pack path applies, leaving no ambiguity about routing.

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

describe_coverageDescribe coverageA
Read-onlyIdempotent
Inspect

Use when the user or agent needs to inspect scope, source trust or live-service details; do not repeat it before every seller request. Returns versions, category/market coverage, per-record verification, source policy and operational check links. Always start ordinary product requests at Stage 1 with market_access_check.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoResponse language. Defaults to Chinese.zh

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the description doesn't need to restate safety. It adds behavioral context by specifying what the tool returns (versions, category/market coverage, per-record verification, source policy, operational check links) and by providing workflow guidance about not repeating it before every seller request.

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

Conciseness5/5

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

Two sentences with clear front-loading: 'Use when...' immediately states context. The second sentence adds return details and a sibling pointer, with no filler.

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 simple one-parameter read-only tool, the description covers usage, exclusions, return content, and even directs to a sibling tool for the proper workflow. The presence of an output schema and complete annotations means nothing critical 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?

The schema already provides full coverage for the single `language` parameter, including enum and default. The description adds no parameter-specific details, so the baseline of 3 applies.

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 description clearly states the tool's purpose: to inspect scope, source trust, or live-service details, and lists specific return types (versions, coverage, verification, source policy, links). It distinguishes itself from the sibling market_access_check by instructing to use that tool for Stage 1 product requests.

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?

Explicitly says 'Use when the user or agent needs to inspect scope, source trust or live-service details' and warns 'do not repeat it before every seller request.' It also directs to start ordinary product requests at Stage 1 with market_access_check, thereby clarifying when not to use this tool.

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

explain_claimExplain claimA
Read-onlyIdempotent
Inspect

Explain only a stable claim_id returned by an earlier ComplianceCN result. Do not use this for broad natural-language questions or invent an ID. Returns the claim, primary-source evidence, verification date and evidence gaps. Access notice: product assessment through market_access_check is free and unlimited -- the first call returns preliminary requirements, and a different product simply starts its own case. Only a second human-reviewed pack for the same confirmed seller email is arranged with ComplianceCN.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoOpaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.
claim_idYes
languageNoResponse language. Defaults to Chinese.zh

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds useful behavioral context: the claim_id must be stable and from an earlier result, and the return includes claim, evidence, verification date, and evidence gaps. The access notice about market_access_check is tangential but not contradictory.

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?

The first sentence is strong and front-loaded, but the access notice about market_access_check is off-topic and adds unnecessary length. While still compact, the extra information could be moved to the sibling tool or omitted.

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

Completeness4/5

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

With a rich output schema and clear annotations, the description covers the essential aspects: what the tool does, constraints on input, and expected return content. It is sufficiently complete for an agent to select and invoke the tool correctly, though the access notice slightly dilutes focus.

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 descriptions cover case_id and language well (67% coverage). The description adds meaning to claim_id by specifying it must be a stable claim_id from an earlier result, but does not elaborate on case_id or language. This provides some additional value beyond the schema.

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 description clearly specifies the tool's function: explaining a stable claim_id from an earlier ComplianceCN result. It explicitly differentiates from broad natural-language questions and provides a distinct resource and verb, making it easy to distinguish from sibling tools.

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?

The description gives explicit when-to-use and when-not-to-use guidance: 'Explain only a stable claim_id returned by an earlier ComplianceCN result' and 'Do not use this for broad natural-language questions or invent an ID.' It also points to market_access_check as the alternative for product assessments, providing clear context for tool selection.

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

market_access_checkProduct market-access checkA
Idempotent
Inspect

Check what a product needs to be sold into the EU, UK, US or Australia. Send a plain-language product description in message; the first response already contains preliminary requirements and an evidence checklist you can show the seller immediately. Every response carries a single next_action -- execute it exactly as returned to get the refined assessment and, optionally, a human-reviewed pack. Ask any returned questions by their key. The reviewed pack requires a confirmed seller email and reviewer sign-off. Send the description in English or Chinese; questions and seller-facing text come back in the seller's language.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoStart with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; after presenting Stage 2, use correct_stage_2 if the seller supplies a correction, otherwise call confirm_stage_2 immediately to obtain the required secure email-and-consent handoff; Stage 3 is released only after reviewer sign-off. confirm_stage_1/correct_stage_1 are legacy aliases only.continue
answersNoOptional structured answers keyed by the stable question.key values returned by the previous call.
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
messageNoThe seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied.
languageNoPreferred response language; inferred from the seller message when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds significant behavioral context: it explains the multi-stage workflow (Stage 1, Stage 2, Stage 3), the need for reviewer sign-off, the requirement for a confirmed seller email, and that questions are returned with keys. It also notes that the first response is preliminary and can be shown to the seller immediately. This goes beyond the annotations, which only say it's idempotent and non-destructive. The description does not contradict annotations; it complements them.

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?

The description is moderately long but well-structured. It front-loads the core purpose and immediate value ('the first response already contains preliminary requirements...'). It then explains the workflow and key behaviors. Every sentence adds information: the next_action instruction, the question key handling, the email requirement, and language support. It's not overly verbose, but it could be slightly more concise by trimming redundant phrases like 'execute it exactly as returned' which is somewhat redundant with 'follow next_action exactly'. Still, it's efficient and well-organized.

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?

Given the complexity of the tool (5 parameters, nested objects, output schema, multi-stage workflow), the description is remarkably complete. It covers the input format, the output expectations, the workflow stages, the action parameter semantics, the handling of questions, the email requirement, and language support. The output schema exists, so return values are not described in the description, which is appropriate. The description provides all necessary context for an agent to use the tool correctly, including the exact next_action values and their meanings.

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 description coverage is 100%, so the schema already documents all parameters. The description adds value by explaining the action parameter's workflow semantics (e.g., 'start_stage_2 assesses evidence after the Stage 1 product profile is ready') and the meaning of next_action. It also clarifies that message should not repeat information already supplied, and that language is inferred when omitted. This goes beyond the schema's basic descriptions, providing operational context. However, it doesn't detail the answers structure beyond what the schema says, but the schema is already rich.

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 description clearly states the tool's purpose: checking what a product needs to be sold into specific markets (EU, UK, US, Australia). It specifies the input (plain-language product description) and the output (preliminary requirements and evidence checklist). It distinguishes itself from siblings by focusing on market-access requirements across multiple regions, whereas siblings like check_amazon_compliance_request or check_us_import_certification are more specific. The verb 'check' and resource 'product market-access' are precise.

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?

The description provides explicit guidance on when to use the tool: to get market-access requirements for a product. It also explains the workflow: send a description, receive preliminary requirements, then follow the next_action exactly. It mentions alternatives implicitly by naming sibling tools that are more specific (e.g., check_us_import_certification for US import certification), but the description itself doesn't explicitly say 'use this instead of X'. However, it does give clear context on the multi-step process and how to handle returned questions, which is strong usage guidance.

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

preflight_productStructured product readiness checkA
Read-onlyIdempotent
Inspect

Single-call readiness check when you already have structured product facts: category, markets and any evidence held. Returns the applicable requirements, an evidence checklist and the gaps in one response, with no follow-up needed. For a plain-language description instead, use market_access_check, which also returns preliminary requirements on its first call and continues into evidence assessment and an optional human-reviewed pack.

ParametersJSON Schema
NameRequiredDescriptionDefault
case_idNoThe case this call continues, from an earlier result. Omit to start a new product case.
marketsNoOptional destination-market hints. Omit when product_description names the destination.
categoryNoOptional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.
languageNoLanguage for seller-facing text. Questions and messages come back in it; en or zh.zh
age_groupNoIntended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.
food_typeNoThe food the product will contact. Simulant selection for migration testing depends on it.
has_radioNoWhether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.
has_batteryNoWhether the product contains or ships with any battery, including a coin cell in a remote.
battery_typeNoCell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.
is_sunscreenNoWhether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.
product_nameNoHuman-readable product or SKU name
repeated_useNoWhether the article is single-use or reused. Repeated use requires migration testing across successive cycles.
evidence_heldNoEvidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.
evidence_textNoDocument/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.
sales_channelNoWhere the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.
verified_onlyNoExclude decision rules not checked against primary sources
eu_destinationNoDestination member state, where it changes the answer. Language and producer-registration duties differ across the EU.
evidence_notesNoDocument and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.
contact_durationNoHow long the product touches food in normal use. Long-term contact triggers stricter migration testing.
supply_chain_roleNoThe seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.
applicable_modulesNoOptional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.
claims_therapeuticNoWhether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.
contact_temperatureNoThe temperature at contact. Hot fill and cooking raise migration limits and change the test.
product_descriptionNoPreferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.
sells_in_californiaNoWhether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.
clarification_answerNoContinuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.
ingredients_reviewedNoWhether the full ingredient list has already been checked against restricted-substance annexes.
is_childrens_productNoWhether the product is marketed as a children's product; keep unknown when not established.
evidence_observationsNoSanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.
food_contact_materialNoThe material that touches food. Migration limits and test methods differ by material.
accessible_small_partsNoWhether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.
includes_mains_chargerNoWhether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.
is_electrically_operatedNoWhether the toy is electrically operated, including mains-powered or battery-powered operation.
evidence_inventory_completeNoTrue only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.
battery_compartment_securityNoHow the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.
toy_chemical_assessment_completeNoWhether a chemical safety assessment covering migration limits has already been completed for this toy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations indicate read-only, idempotent, and non-destructive behavior, which the description does not contradict. Beyond annotations, the description discloses that the tool returns requirements, evidence checklist, and gaps in one response with no follow-up needed, which is useful. It also implies it does not verify evidence (via schema description for evidence_held). However, it doesn't mention potential limitations like the need for human review for evidence authenticity, but that is covered in parameter descriptions. Slight bonus for adding the 'no follow-up needed' behavior.

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

Conciseness5/5

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

The description is two sentences, front-loading the purpose and key benefits, then immediately naming the alternative with specific differentiators. Every word earns its place, no fluff. It is concise yet comprehensive, covering purpose, usage, and alternative routing in a compact form.

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?

Given the tool's complexity (36 parameters, multiple legal domains, output schema present), the description is remarkably complete. It covers what the tool does, when to use it, what it returns, and how it differs from the primary sibling. The rich schema descriptions handle parameter details, and annotations cover safety profile. Nothing essential is missing for an agent to decide whether to call this tool and how to structure the call.

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 description coverage is 100%, so the baseline is 3. The description adds minimal parameter-level semantics, but the schema descriptions are already rich. The description implies the use of structured facts, which aligns with parameters like category, markets, and evidence_held. It also contrasts with market_access_check for plain-language input, reinforcing that structured parameters are expected. The description does not need to repeat schema detail, so a 4 is justified for adding some contextual guidance (structured vs. plain-language).

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 description clearly states the tool's purpose: a single-call readiness check for structured product facts, returning applicable requirements, evidence checklist, and gaps. It names the specific inputs (category, markets, evidence) and contrasts with sibling market_access_check, which handles plain-language description and further steps. This distinguishes it effectively from siblings.

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?

The description explicitly says to use this tool when you 'already have structured product facts' and to use market_access_check for plain-language descriptions, which also continues into evidence assessment and human review. This provides clear when-to-use and when-not-to-use guidance, and names the alternative. It also highlights the single-call nature, making the usage context unambiguous.

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

watch_product_regulatory_changesEmail me when the rules for this product changeAInspect

Start free email alerts for regulatory changes affecting a product already checked here. Use when a seller says they want to be told if the rules change -- for example "let me know if this changes", "can you monitor this for me?", or "email me about updates". Requires a real top-level email and consent_to_alerts=true; there is no payment and no checkout step. Alerts start immediately and cover human-reviewed ComplianceCN changelog updates matching the saved product, market, requirement or rule profile. It does not guarantee detection of every regulatory change. Call only after a product check has produced a usable product/market profile and the seller has explicitly asked to be notified.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesSeller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription.
product_profileYesThe same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data.
preflight_resultNoThe completed preflight result when available. Its requirement, rule and claim IDs improve future change matching.
consent_to_alertsYesMust be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
payloadYes

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that alerts are free, there is no checkout step, alerts start immediately, coverage is based on human-reviewed ComplianceCN changelog updates, and detection is not guaranteed. It also states requirements for a real email and consent_to_alerts=true, which clarifies side effects without contradicting 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?

The description is dense and front-loaded with the core purpose, then usage signals, prerequisites, and behavior. It is slightly long but every sentence carries information, and the examples earn their place by disambiguating trigger phrases.

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 and detailed input schema documentation, the description covers the remaining decision-relevant context: when to call it, prerequisites, consent requirement, subscription behavior, coverage scope, and limitations. Nothing critical is missing for an agent to select and invoke it correctly.

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%, so the parameters are already well documented. The description adds useful context about the product profile needing to come from a completed check and consent needing to be true, but it does not substantially go beyond what the schema already provides.

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 description uses a specific verb ('Start free email alerts') and a clear resource ('regulatory changes affecting a product already checked here'). It is immediately distinguishable from the compliance-check siblings because it is about monitoring and notifying, not running a check.

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?

The description gives explicit trigger phrasing ('let me know if this changes', 'can you monitor this for me?', 'email me about updates') and states the precondition: only after a product check has produced a usable product/market profile and the seller has explicitly asked to be notified. It also excludes use before a product check exists, giving clear when-not guidance.

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. Dates show when Glama detected each change.

  1. 9 tool updates
    • Changedcheck_amazon_compliance_request28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_battery_transport_documents29 fields changed
      • removedInput schema / properties / accessible_small_parts
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / age_group
        Removed value: -{
        -  "enum": [
        -    "under_3",
        -    "3_to_13",
        -    "14_plus",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / eu_destination
        Removed value: -{
        -  "enum": [
        -    "DE",
        -    "other_eu",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • removedInput schema / properties / has_radio
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_childrens_product
        Removed value: -{
        -  "description": "Whether the product is marketed as a children's product; keep unknown when not established.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • removedInput schema / properties / sells_in_california
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_eu_declaration_basis27 fields changed
      • removedInput schema / properties / accessible_small_parts
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • removedInput schema / properties / sells_in_california
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_label_and_packaging28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • removedInput schema / properties / includes_mains_charger
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • removedInput schema / properties / toy_chemical_assessment_complete
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changedcheck_us_import_certification28 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • removedInput schema / properties / battery_compartment_security
        Removed value: -{
        -  "enum": [
        -    "tool_required",
        -    "two_independent_actions",
        -    "other_secured",
        -    "unsecured",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • removedInput schema / properties / claims_therapeutic
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / clarification_answer
        Removed value: -{
        -  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        -  "maxLength": 6000,
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_duration
        Removed value: -{
        -  "enum": [
        -    "short",
        -    "long_term",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / contact_temperature
        Removed value: -{
        -  "enum": [
        -    "ambient",
        -    "hot_fill",
        -    "cooking_reheating",
        -    "freezing",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / eu_destination
        Removed value: -{
        -  "enum": [
        -    "DE",
        -    "other_eu",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • removedInput schema / properties / evidence_notes
        Removed value: -{
        -  "description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / evidence_observations
        Removed value: -{
        -  "default": [],
        -  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        -  "items": {
        -    "properties": {
        -      "confidence": {
        -        "default": "low",
        -        "enum": [
        -          "low",
        -          "medium",
        -          "high"
        -        ],
        -        "type": "string"
        -      },
        -      "document_date": {
        -        "anyOf": [
        -          {
        -            "maxLength": 80,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "document_reference": {
        -        "anyOf": [
        -          {
        -            "maxLength": 260,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        -      },
        -      "document_type": {
        -        "anyOf": [
        -          {
        -            "maxLength": 160,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        -      },
        -      "evidence_id": {
        -        "anyOf": [
        -          {
        -            "enum": [
        -              "ce_declaration",
        -              "ce_label_artwork",
        -              "rohs_evidence",
        -              "radio_test_report",
        -              "un38_3_test_summary",
        -              "battery_label_artwork",
        -              "eu_economic_operator",
        -              "weee_registration",
        -              "battery_epr_registration",
        -              "fcc_authorization",
        -              "fcc_sdoc",
        -              "fcc_label_artwork",
        -              "us_responsible_party",
        -              "lithium_shipping_marks",
        -              "prop65_assessment",
        -              "marketplace_safety_report",
        -              "ukca_or_ce_mark",
        -              "uk_rohs_evidence",
        -              "uk_radio_compliance",
        -              "uk_importer_details",
        -              "uk_weee_registration",
        -              "uk_battery_epr_registration",
        -              "uk_un38_3_test_summary",
        -              "uk_marketplace_safety_report",
        -              "au_rcm_supplier_declaration",
        -              "au_radio_compliance",
        -              "au_eess_supplier_evidence",
        -              "au_importer_supplier_details",
        -              "au_battery_shipping_evidence",
        -              "au_marketplace_safety_report",
        -              "toy_safety_assessment",
        -              "en71_mechanical_report",
        -              "en71_chemical_report",
        -              "electrical_toy_report",
        -              "battery_compartment_assessment",
        -              "choking_risk_assessment",
        -              "age_grading_rationale",
        -              "toy_warning_artwork",
        -              "german_warning_copy",
        -              "marketplace_toy_evidence_package",
        -              "toy_third_party_test_report",
        -              "toy_cpc_certificate",
        -              "toy_retesting_plan",
        -              "toy_cbp_efiling_evidence",
        -              "toy_tracking_label_artwork",
        -              "toy_small_parts_warning_artwork",
        -              "uk_toy_declaration",
        -              "uk_en71_report",
        -              "uk_toy_marking",
        -              "uk_toy_importer_details",
        -              "uk_toy_radio_compliance",
        -              "uk_toy_battery_evidence",
        -              "uk_toy_warning_artwork",
        -              "uk_toy_retesting_plan",
        -              "uk_toy_marketplace_evidence_package",
        -              "au_toy_safety_report",
        -              "au_toy_supplier_declaration",
        -              "au_toy_warning_artwork",
        -              "au_toy_importer_details",
        -              "au_toy_radio_compliance",
        -              "au_toy_battery_evidence",
        -              "au_toy_retesting_plan",
        -              "au_toy_marketplace_evidence_package",
        -              "cosmetic_formula_review",
        -              "cosmetic_safety_report",
        -              "cosmetic_pif",
        -              "cosmetic_cpn_notification",
        -              "cosmetic_label_artwork",
        -              "cosmetic_responsible_person",
        -              "cosmetic_claim_substantiation",
        -              "cosmetic_facility_registration",
        -              "cosmetic_adverse_event_process",
        -              "cosmetic_notification",
        -              "food_contact_material_spec",
        -              "food_contact_use_conditions_spec",
        -              "food_contact_migration_report",
        -              "food_contact_plastic_oml_sml_report",
        -              "food_contact_ceramic_glass_release_report",
        -              "food_contact_paper_board_component_review",
        -              "food_contact_coating_adhesive_ink_review",
        -              "food_contact_metal_release_review",
        -              "food_contact_hot_use_protocol",
        -              "food_contact_repeated_use_simulation",
        -              "food_contact_doc",
        -              "food_contact_traceability",
        -              "food_contact_label_artwork",
        -              "food_contact_polymer_resin_clearance",
        -              "food_contact_fda_status",
        -              "food_contact_supplier_declaration",
        -              "food_contact_california_prop65_screen"
        -            ],
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        -      },
        -      "issuer_or_lab": {
        -        "anyOf": [
        -          {
        -            "maxLength": 200,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ],
        -        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        -      },
        -      "issues": {
        -        "default": [],
        -        "description": "Concise unresolved checks only; never include document quotations or report text.",
        -        "items": {
        -          "maxLength": 240,
        -          "type": "string"
        -        },
        -        "maxItems": 16,
        -        "type": "array"
        -      },
        -      "models_covered": {
        -        "default": [],
        -        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        -        "items": {
        -          "maxLength": 120,
        -          "type": "string"
        -        },
        -        "maxItems": 20,
        -        "type": "array"
        -      },
        -      "provenance": {
        -        "default": "agent_extraction",
        -        "enum": [
        -          "seller_statement",
        -          "agent_extraction",
        -          "llm_inference",
        -          "keyword_inference"
        -        ],
        -        "type": "string"
        -      },
        -      "report_or_certificate_number": {
        -        "anyOf": [
        -          {
        -            "maxLength": 140,
        -            "type": "string"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "standards_referenced": {
        -        "default": [],
        -        "items": {
        -          "maxLength": 160,
        -          "type": "string"
        -        },
        -        "maxItems": 24,
        -        "type": "array"
        -      },
        -      "status": {
        -        "default": "mentioned_uncertain",
        -        "enum": [
        -          "reported_held",
        -          "mentioned_uncertain",
        -          "not_held",
        -          "needs_human_review"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "maxItems": 40,
        -  "type": "array"
        -}
      • removedInput schema / properties / evidence_text
        Removed value: -{
        -  "description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
        -  "maxLength": 6000,
        -  "type": "string"
        -}
      • removedInput schema / properties / food_contact_material
        Removed value: -{
        -  "enum": [
        -    "plastic",
        -    "metal",
        -    "ceramic_glass",
        -    "paper_board",
        -    "silicone_rubber",
        -    "multi_material",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / food_type
        Removed value: -{
        -  "enum": [
        -    "dry",
        -    "aqueous",
        -    "acidic",
        -    "fatty",
        -    "alcoholic",
        -    "mixed",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • removedInput schema / properties / includes_mains_charger
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / ingredients_reviewed
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_electrically_operated
        Removed value: -{
        -  "description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / is_sunscreen
        Removed value: -{
        -  "type": "boolean"
        -}
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • removedInput schema / properties / repeated_use
        Removed value: -{
        -  "enum": [
        -    "single_use",
        -    "repeated_use",
        -    "unknown"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedcompare_market_requirements19 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • addedInput schema / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedmarket_access_check1 field changed
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
    • Changedpreflight_product23 fields changed
      • addedInput schema / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • addedInput schema / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • addedInput schema / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
    • Changedwatch_product_regulatory_changes23 fields changed
      • addedInput schema / properties / product_profile / properties / accessible_small_parts / description
        Added value: +"Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use."
      • addedInput schema / properties / product_profile / properties / age_group / description
        Added value: +"Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow."
      • addedInput schema / properties / product_profile / properties / battery_compartment_security / description
        Added value: +"How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard."
      • addedInput schema / properties / product_profile / properties / battery_type / description
        Added value: +"Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing."
      • changedInput schema / properties / product_profile / properties / case_id / description
        Previous value: -"Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU."New value: +"The case this call continues, from an earlier result. Omit to start a new product case."
      • addedInput schema / properties / product_profile / properties / claims_therapeutic / description
        Added value: +"Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime."
      • addedInput schema / properties / product_profile / properties / contact_duration / description
        Added value: +"How long the product touches food in normal use. Long-term contact triggers stricter migration testing."
      • addedInput schema / properties / product_profile / properties / contact_temperature / description
        Added value: +"The temperature at contact. Hot fill and cooking raise migration limits and change the test."
      • addedInput schema / properties / product_profile / properties / eu_destination / description
        Added value: +"Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU."
      • addedInput schema / properties / product_profile / properties / evidence_held / description
        Added value: +"Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document."
      • addedInput schema / properties / product_profile / properties / food_contact_material / description
        Added value: +"The material that touches food. Migration limits and test methods differ by material."
      • addedInput schema / properties / product_profile / properties / food_type / description
        Added value: +"The food the product will contact. Simulant selection for migration testing depends on it."
      • addedInput schema / properties / product_profile / properties / has_battery / description
        Added value: +"Whether the product contains or ships with any battery, including a coin cell in a remote."
      • addedInput schema / properties / product_profile / properties / has_radio / description
        Added value: +"Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US."
      • addedInput schema / properties / product_profile / properties / includes_mains_charger / description
        Added value: +"Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope."
      • addedInput schema / properties / product_profile / properties / ingredients_reviewed / description
        Added value: +"Whether the full ingredient list has already been checked against restricted-substance annexes."
      • addedInput schema / properties / product_profile / properties / is_sunscreen / description
        Added value: +"Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties."
      • changedInput schema / properties / product_profile / properties / language / description
        Previous value: -"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."New value: +"Language for seller-facing text. Questions and messages come back in it; en or zh."
      • addedInput schema / properties / product_profile / properties / repeated_use / description
        Added value: +"Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles."
      • changedInput schema / properties / product_profile / properties / sales_channel / description
        Previous value: -"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements."
      • addedInput schema / properties / product_profile / properties / sells_in_california / description
        Added value: +"Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements."
      • changedInput schema / properties / product_profile / properties / supply_chain_role / description
        Previous value: -"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."New value: +"The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's."
      • addedInput schema / properties / product_profile / properties / toy_chemical_assessment_complete / description
        Added value: +"Whether a chemical safety assessment covering migration limits has already been completed for this toy."
  2. 2 tool updates
    • Addedcheck_amazon_compliance_request
    • Removedcheck_marketplace_compliance_request
  3. 5 tool updates
    • Addedcheck_battery_transport_documents
    • Addedcheck_eu_declaration_basis
    • Addedcheck_label_and_packaging
    • Addedcheck_marketplace_compliance_request
    • Addedcheck_us_import_certification
  4. 1 tool update
    • Addedpreflight_product
  5. 1 tool update
    • Changedmarket_access_check1 field changed
      • changedInput schema / properties / action / description
        Previous value: -"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; confirm_stage_2 generates Stage 3 only after the seller confirms the Stage 2 readiness result; correct_stage_2 amends Stage 2. confirm_stage_1/correct_stage_1 are legacy aliases only."New value: +"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; after presenting Stage 2, use correct_stage_2 if the seller supplies a correction, otherwise call confirm_stage_2 immediately to obtain the required secure email-and-consent handoff; Stage 3 is released only after reviewer sign-off. confirm_stage_1/correct_stage_1 are legacy aliases only."
  6. 1 tool update
    • Changedmarket_access_check2 fields changed
      • changedInput schema / properties / action / description
        Previous value: -"Use continue for the initial description and clarifications. Use confirm_stage_1 only after the seller confirms the Stage 1 summary. Use correct_stage_1 with message or answers to amend it."New value: +"Start with continue. Follow next_action exactly: start_stage_2 assesses evidence after the Stage 1 product profile is ready; confirm_stage_2 generates Stage 3 only after the seller confirms the Stage 2 readiness result; correct_stage_2 amends Stage 2. confirm_stage_1/correct_stage_1 are legacy aliases only."
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "continue",
        -  "confirm_stage_1",
        -  "correct_stage_1"
        -]New value: +[
        +  "continue",
        +  "start_stage_2",
        +  "confirm_stage_2",
        +  "correct_stage_2",
        +  "confirm_stage_1",
        +  "correct_stage_1"
        +]
  7. 6 tool updates
    • Removedassess_product_compliance
    • Removedgenerate_next_step_pack
    • Addedmarket_access_check
    • Removedpreflight_product
    • Removedregister_mcp_contact
    • Removedrequest_human_review
  8. 4 tool updates
    • Changedgenerate_next_step_pack1 field changed
      • addedInput schema / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedpreflight_product1 field changed
      • addedInput schema / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedrequest_human_review1 field changed
      • addedInput schema / properties / product_profile / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedwatch_product_regulatory_changes1 field changed
      • addedInput schema / properties / product_profile / properties / clarification_answer
        Added value: +{
        +  "description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
        +  "maxLength": 6000,
        +  "minLength": 1,
        +  "type": "string"
        +}
  9. 7 tool updates
    • Changedassess_product_compliance1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedcompare_market_requirements1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedexplain_claim1 field changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
    • Changedgenerate_next_step_pack2 fields changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedpreflight_product2 fields changed
      • addedInput schema / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedrequest_human_review3 fields changed
      • changedInput schema / properties / product_profile / description
        Previous value: -"The same product facts used for preflight_product, excluding evidence_notes and evidence_text. Original documents must use the private upload link returned after handoff."New value: +"The same product facts and exact case_id returned by preflight_product, excluding evidence_notes and evidence_text. Original documents must use the private upload link returned after handoff."
      • addedInput schema / properties / product_profile / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / product_profile / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
    • Changedwatch_product_regulatory_changes2 fields changed
      • addedInput schema / properties / product_profile / properties / case_id
        Added value: +{
        +  "description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
        +  "pattern": "^ccase_[a-f0-9]{24}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / product_profile / properties / evidence_observations
        Added value: +{
        +  "default": [],
        +  "description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
        +  "items": {
        +    "properties": {
        +      "confidence": {
        +        "default": "low",
        +        "enum": [
        +          "low",
        +          "medium",
        +          "high"
        +        ],
        +        "type": "string"
        +      },
        +      "document_date": {
        +        "anyOf": [
        +          {
        +            "maxLength": 80,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "document_reference": {
        +        "anyOf": [
        +          {
        +            "maxLength": 260,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
        +      },
        +      "document_type": {
        +        "anyOf": [
        +          {
        +            "maxLength": 160,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Plain-language apparent document type; this does not authenticate or approve the document."
        +      },
        +      "evidence_id": {
        +        "anyOf": [
        +          {
        +            "enum": [
        +              "ce_declaration",
        +              "ce_label_artwork",
        +              "rohs_evidence",
        +              "radio_test_report",
        +              "un38_3_test_summary",
        +              "battery_label_artwork",
        +              "eu_economic_operator",
        +              "weee_registration",
        +              "battery_epr_registration",
        +              "fcc_authorization",
        +              "fcc_sdoc",
        +              "fcc_label_artwork",
        +              "us_responsible_party",
        +              "lithium_shipping_marks",
        +              "prop65_assessment",
        +              "marketplace_safety_report",
        +              "ukca_or_ce_mark",
        +              "uk_rohs_evidence",
        +              "uk_radio_compliance",
        +              "uk_importer_details",
        +              "uk_weee_registration",
        +              "uk_battery_epr_registration",
        +              "uk_un38_3_test_summary",
        +              "uk_marketplace_safety_report",
        +              "au_rcm_supplier_declaration",
        +              "au_radio_compliance",
        +              "au_eess_supplier_evidence",
        +              "au_importer_supplier_details",
        +              "au_battery_shipping_evidence",
        +              "au_marketplace_safety_report",
        +              "toy_safety_assessment",
        +              "en71_mechanical_report",
        +              "en71_chemical_report",
        +              "electrical_toy_report",
        +              "battery_compartment_assessment",
        +              "choking_risk_assessment",
        +              "age_grading_rationale",
        +              "toy_warning_artwork",
        +              "german_warning_copy",
        +              "marketplace_toy_evidence_package",
        +              "toy_third_party_test_report",
        +              "toy_cpc_certificate",
        +              "toy_retesting_plan",
        +              "toy_cbp_efiling_evidence",
        +              "toy_tracking_label_artwork",
        +              "toy_small_parts_warning_artwork",
        +              "uk_toy_declaration",
        +              "uk_en71_report",
        +              "uk_toy_marking",
        +              "uk_toy_importer_details",
        +              "uk_toy_radio_compliance",
        +              "uk_toy_battery_evidence",
        +              "uk_toy_warning_artwork",
        +              "uk_toy_retesting_plan",
        +              "uk_toy_marketplace_evidence_package",
        +              "au_toy_safety_report",
        +              "au_toy_supplier_declaration",
        +              "au_toy_warning_artwork",
        +              "au_toy_importer_details",
        +              "au_toy_radio_compliance",
        +              "au_toy_battery_evidence",
        +              "au_toy_retesting_plan",
        +              "au_toy_marketplace_evidence_package",
        +              "cosmetic_formula_review",
        +              "cosmetic_safety_report",
        +              "cosmetic_pif",
        +              "cosmetic_cpn_notification",
        +              "cosmetic_label_artwork",
        +              "cosmetic_responsible_person",
        +              "cosmetic_claim_substantiation",
        +              "cosmetic_facility_registration",
        +              "cosmetic_adverse_event_process",
        +              "cosmetic_notification",
        +              "food_contact_material_spec",
        +              "food_contact_use_conditions_spec",
        +              "food_contact_migration_report",
        +              "food_contact_plastic_oml_sml_report",
        +              "food_contact_ceramic_glass_release_report",
        +              "food_contact_paper_board_component_review",
        +              "food_contact_coating_adhesive_ink_review",
        +              "food_contact_metal_release_review",
        +              "food_contact_hot_use_protocol",
        +              "food_contact_repeated_use_simulation",
        +              "food_contact_doc",
        +              "food_contact_traceability",
        +              "food_contact_label_artwork",
        +              "food_contact_polymer_resin_clearance",
        +              "food_contact_fda_status",
        +              "food_contact_supplier_declaration",
        +              "food_contact_california_prop65_screen"
        +            ],
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
        +      },
        +      "issuer_or_lab": {
        +        "anyOf": [
        +          {
        +            "maxLength": 200,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Issuing organisation or laboratory name only; omit personal names and addresses."
        +      },
        +      "issues": {
        +        "default": [],
        +        "description": "Concise unresolved checks only; never include document quotations or report text.",
        +        "items": {
        +          "maxLength": 240,
        +          "type": "string"
        +        },
        +        "maxItems": 16,
        +        "type": "array"
        +      },
        +      "models_covered": {
        +        "default": [],
        +        "description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
        +        "items": {
        +          "maxLength": 120,
        +          "type": "string"
        +        },
        +        "maxItems": 20,
        +        "type": "array"
        +      },
        +      "provenance": {
        +        "default": "agent_extraction",
        +        "enum": [
        +          "seller_statement",
        +          "agent_extraction",
        +          "llm_inference",
        +          "keyword_inference"
        +        ],
        +        "type": "string"
        +      },
        +      "report_or_certificate_number": {
        +        "anyOf": [
        +          {
        +            "maxLength": 140,
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "standards_referenced": {
        +        "default": [],
        +        "items": {
        +          "maxLength": 160,
        +          "type": "string"
        +        },
        +        "maxItems": 24,
        +        "type": "array"
        +      },
        +      "status": {
        +        "default": "mentioned_uncertain",
        +        "enum": [
        +          "reported_held",
        +          "mentioned_uncertain",
        +          "not_held",
        +          "needs_human_review"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 40,
        +  "type": "array"
        +}
  10. 6 tool updates
    • Changedassess_product_compliance5 fields changed
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "toys",
        -  "battery-electronics",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • addedInput schema / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / supply_chain_role / minLength
        Added value: +1
    • Changedcompare_market_requirements5 fields changed
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "toys",
        -  "battery-electronics",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • addedInput schema / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / supply_chain_role / minLength
        Added value: +1
    • Changedgenerate_next_step_pack13 fields changed
      • changedInput schema / properties / applicable_modules / items / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / category / description
        Previous value: -"Optional structured category hint. Omit when product_description contains enough information for extraction."New value: +"Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction."
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Defaults to Chinese."New value: +"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "zh",
        -  "en"
        -]New value: +[
        +  "zh",
        +  "en",
        +  "English",
        +  "english",
        +  "Chinese",
        +  "chinese",
        +  "中文",
        +  "英文"
        +]
      • addedInput schema / properties / sales_channel / description
        Added value: +"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / sales_channel / enum
        Removed value: -[
        -  "amazon",
        -  "other_marketplace",
        -  "own_site",
        -  "unknown"
        -]
      • addedInput schema / properties / sales_channel / maxLength
        Added value: +80
      • addedInput schema / properties / sales_channel / minLength
        Added value: +1
      • addedInput schema / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / supply_chain_role / minLength
        Added value: +1
    • Changedpreflight_product13 fields changed
      • changedInput schema / properties / applicable_modules / items / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / category / description
        Previous value: -"Optional structured category hint. Omit when product_description contains enough information for extraction."New value: +"Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction."
      • changedInput schema / properties / category / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / language / description
        Previous value: -"Response language. Defaults to Chinese."New value: +"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."
      • changedInput schema / properties / language / enum
        Previous value: -[
        -  "zh",
        -  "en"
        -]New value: +[
        +  "zh",
        +  "en",
        +  "English",
        +  "english",
        +  "Chinese",
        +  "chinese",
        +  "中文",
        +  "英文"
        +]
      • addedInput schema / properties / sales_channel / description
        Added value: +"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / sales_channel / enum
        Removed value: -[
        -  "amazon",
        -  "other_marketplace",
        -  "own_site",
        -  "unknown"
        -]
      • addedInput schema / properties / sales_channel / maxLength
        Added value: +80
      • addedInput schema / properties / sales_channel / minLength
        Added value: +1
      • addedInput schema / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / supply_chain_role / minLength
        Added value: +1
    • Changedrequest_human_review13 fields changed
      • changedInput schema / properties / product_profile / properties / applicable_modules / items / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / product_profile / properties / category / description
        Previous value: -"Optional structured category hint. Omit when product_description contains enough information for extraction."New value: +"Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction."
      • changedInput schema / properties / product_profile / properties / category / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / product_profile / properties / language / description
        Previous value: -"Response language. Defaults to Chinese."New value: +"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."
      • changedInput schema / properties / product_profile / properties / language / enum
        Previous value: -[
        -  "zh",
        -  "en"
        -]New value: +[
        +  "zh",
        +  "en",
        +  "English",
        +  "english",
        +  "Chinese",
        +  "chinese",
        +  "中文",
        +  "英文"
        +]
      • addedInput schema / properties / product_profile / properties / sales_channel / description
        Added value: +"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / product_profile / properties / sales_channel / enum
        Removed value: -[
        -  "amazon",
        -  "other_marketplace",
        -  "own_site",
        -  "unknown"
        -]
      • addedInput schema / properties / product_profile / properties / sales_channel / maxLength
        Added value: +80
      • addedInput schema / properties / product_profile / properties / sales_channel / minLength
        Added value: +1
      • addedInput schema / properties / product_profile / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / product_profile / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / product_profile / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / product_profile / properties / supply_chain_role / minLength
        Added value: +1
    • Changedwatch_product_regulatory_changes13 fields changed
      • changedInput schema / properties / product_profile / properties / applicable_modules / items / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / product_profile / properties / category / description
        Previous value: -"Optional structured category hint. Omit when product_description contains enough information for extraction."New value: +"Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction."
      • changedInput schema / properties / product_profile / properties / category / enum
        Previous value: -[
        -  "battery-electronics",
        -  "toys",
        -  "cosmetics",
        -  "food-contact"
        -]New value: +[
        +  "battery-electronics",
        +  "toys",
        +  "cosmetics",
        +  "food-contact",
        +  "toy",
        +  "玩具",
        +  "battery",
        +  "electronics",
        +  "电池电子产品",
        +  "带电池电子产品",
        +  "cosmetic",
        +  "化妆品",
        +  "food_contact",
        +  "foodcontact",
        +  "食品接触材料",
        +  "食品接触用品",
        +  "食品接触产品"
        +]
      • changedInput schema / properties / product_profile / properties / language / description
        Previous value: -"Response language. Defaults to Chinese."New value: +"Response language. Canonical values are zh or en. Common English and Chinese labels are accepted during preflight and normalized."
      • changedInput schema / properties / product_profile / properties / language / enum
        Previous value: -[
        -  "zh",
        -  "en"
        -]New value: +[
        +  "zh",
        +  "en",
        +  "English",
        +  "english",
        +  "Chinese",
        +  "chinese",
        +  "中文",
        +  "英文"
        +]
      • addedInput schema / properties / product_profile / properties / sales_channel / description
        Added value: +"Sales channel. Canonical values are amazon, other_marketplace, own_site or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / product_profile / properties / sales_channel / enum
        Removed value: -[
        -  "amazon",
        -  "other_marketplace",
        -  "own_site",
        -  "unknown"
        -]
      • addedInput schema / properties / product_profile / properties / sales_channel / maxLength
        Added value: +80
      • addedInput schema / properties / product_profile / properties / sales_channel / minLength
        Added value: +1
      • addedInput schema / properties / product_profile / properties / supply_chain_role / description
        Added value: +"Supply-chain role. Canonical values are manufacturer, importer, distributor, marketplace_seller or unknown. Common natural-language English and Chinese labels are accepted and normalized."
      • removedInput schema / properties / product_profile / properties / supply_chain_role / enum
        Removed value: -[
        -  "manufacturer",
        -  "importer",
        -  "distributor",
        -  "marketplace_seller",
        -  "unknown"
        -]
      • addedInput schema / properties / product_profile / properties / supply_chain_role / maxLength
        Added value: +80
      • addedInput schema / properties / product_profile / properties / supply_chain_role / minLength
        Added value: +1

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    EMEA sales + employment compliance for AI agents across 7 countries (UK, Germany, France, Spain, Italy, Netherlands, Sweden). GDPR, IR35, CNIL, B2B opt-out rules, cultural buyer psychology. Built by an ex-Deel ($12B) compliance + sales operator.
    7
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables EU Cyber Resilience Act compliance assessments, including classifying product obligations, auditing pipelines for gaps, generating hash-chained attestations, and cross-referencing NIS2.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

The check_* tools each target a distinct regulatory aspect (transport, EU DoC, labeling, marketplace, US certification), and the auxiliary tools (describe, explain, compare, watch) are clearly separate. The only potential confusion is between market_access_check and preflight_product, which both assess product requirements but differ in input style and follow-up workflow.

Naming Consistency4/5

Most tools follow a verb_noun pattern (check_battery..., compare_market..., explain_claim), but market_access_check reverses the expected 'check_market_access' order and preflight_product uses a less common verb. Still, the pattern is recognizable and mostly consistent.

Tool Count5/5

Eleven tools is well within the ideal range for a compliance-checks server. Each tool addresses a distinct user scenario (general assessment, specialized checks, comparison, coverage, claims, alerts), and none feels redundant or superficial.

Completeness4/5

The server covers the core assessment lifecycle: initial check, structured preflight, detailed specialist checks, cross-market comparison, claim explanation, and regulatory change alerts. Minor gaps exist, such as no way to cancel alert subscriptions or retrieve a saved full report, but the main compliance-checking domain is thoroughly covered.

Resources