# Troubleshoot Agent Canvas and Composer Discovery

Canvas supplies presentation capabilities; Composer stores and enforces workflow configuration. Correct a Composer Config Set when a Blueprint is stale or contradictory. Edit Canvas only when a required template, pattern, token, or other presentation capability is genuinely missing from the theme.

## After installing or updating Canvas

1. Open **SmartCloud → Agent Composer → Theme & providers**.
2. Choose **Rescan site**.
3. Confirm the Canvas name and version, templates, patterns, registered blocks, and presentation manifest.
4. Keep the active Config Set immutable.
5. Clone the active set if discovered capabilities require a change.
6. Correct the working copy, validate it, preview representative page types, and activate the successor explicitly.

A site scan never rewrites or activates a Config Set.

## `Custom HTML blocks cannot be enabled by a Blueprint`

The selected Config Set contains a Blueprint that enables active Custom HTML. Remove `core/html`, set `custom_html` to `false`, disable JavaScript-in-HTML allowances, and clear related Custom HTML extension entries in a cloned or replacement Config Set. Rescanning alone cannot resolve this contradiction.

Passive legacy HTML may be available through a separately constrained Text Editor or `core/freeform` contract. That does not permit scripts, iframes, forms, event-handler attributes, or `javascript:` URLs.

## `INVALID_ARGUMENT` after activating a new contract

Refresh or recreate the client app's scanned actions and begin a new conversation. Validation and draft operations must include the exact BCP 47 `content_language` returned by the selected Blueprint, such as `en-US`. A previously scanned action schema can omit a newly required field even when the WordPress backend and Blueprint are current.

## The client still sees an old Blueprint

Confirm the active Config Set in Composer, restart the site-specific MCP runtime if necessary, refresh the app's action definitions, and start a new client conversation. A long-lived MCP connection can retain configuration or tool-schema state from before the activation.

## Relation targets are found but their IDs are missing

Use `get-content-field-contract` to confirm the field is an admitted relation. Resolve its titles or slugs with `search-relation-targets`, write only the returned `matches[].id` values through `update-content-fields`, and verify them with `inspect-content-fields`. `list-content-drafts` intentionally lists only editable or adoptable content, so it is not a relation-target resolver.

## Taxonomy tools are missing or a taxonomy is rejected

Confirm that WordPress or the responsible provider registers the taxonomy and attaches it to the Blueprint's target post type. Rescan site discovery, clone the active Config Set, enable only the needed actions under **Composer taxonomy access**, then validate and activate the successor. Restart the site MCP runtime, refresh the client catalog, and confirm the five canonical taxonomy abilities. The agent must search first, create only a justified missing public term with explicit confirmation, assign it to its owned draft, and inspect the stored assignment.
