Error codes
Every non-2xx response from the control plane returns a stable JSON envelope:
{
"error": {
"code": "CP_PROJECT_NOT_FOUND",
"message": "no active project with that wok_id in this org",
"hint": "verify the wok_id and that it belongs to your org",
"correlation_id": "1aee612b1250f276"
}
}
code is the stable machine-readable identifier — classify
on this. message is human-prose. hint is the
remediation. correlation_id echoes back TellWang's
per-request id; include it when filing a ticket so support can trace
the request.
Below: the codes grouped by area, with the side that fixes each (caller = your client code; state = the wok or org needs to be in a different state; platform = open a ticket).
Authentication & authorization
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_UNAUTHENTICATED |
401 | caller |
Send Authorization: Bearer <skl_…> (or
sllm_… for the LLM gateway). Sessions and bootstrap
tokens both work where listed.
|
CP_INTERNAL_PATH_EXTERNAL |
403 | caller | Bootstrap and internal endpoints accept only TellWang's own internal callers. Use the public endpoint for this action. |
CP_STANDBY |
503 | platform | This control-plane node is a standby; the load balancer routes to the leader. Retry after Retry-After. |
CP_SECRETS_PLAINTEXT_ROWS |
diagnostic | platform | Some stored secrets are outside the key-encryption key; TellWang re-encrypts them. |
CP_AUDIT_ALERT |
diagnostic | platform | Privileged activity (bootstrap-token use, key-mint bursts, bulk env writes, org purge) was seen in the last 15 minutes and is kept visible for an hour. |
CP_INVALID_KEY |
401 | caller |
The Bearer doesn't match the expected shape (skl_<hex>
or sllm_<hex>). Check for whitespace +
truncation.
|
CP_NO_USER_CONTEXT |
400/413 | caller | Organization listing, creation, and switching require a human-bound session. Sign in with a human account instead of an organization-pinned service key. |
CP_LLM_KEY_INVALID |
401 | caller |
The sllm_ key has been revoked or doesn't exist.
Mint a fresh one via POST /v1/llm-keys.
|
CP_INVALID_CREDENTIALS
|
401 | caller | Password sign-in or a passkey assertion failed. Re-check the credentials or use an emailed sign-in code. |
CP_WEAK_PASSWORD |
400 | caller | Sign-up or password change doesn't meet the 8–256 character policy. |
CP_PASSWORD_UNCHANGED |
400 | caller | The new password matches the account's existing password. Choose a different password. |
CP_PASSKEY_FAILED |
400 / 409 / 500 | caller | The passkey ceremony was rejected, duplicated, or is not configured for this trusted product origin. Restart the flow from the same site. |
CP_PASSKEY_SESSION_EXPIRED |
400 | caller | The single-use passkey challenge expired or was already consumed. Start again. |
CP_PASSKEY_NO_HUMAN |
400 | caller | Passkeys belong to a personal login. Sign in with a user-bound account instead of a service key. |
CP_USER_NOT_IN_ORG |
404 | caller |
An API-key mint named a user who is not a member of that
organization. Add the user with
POST /v1/orgs/{slug}/users, then mint the key
again.
|
CP_NOT_A_MEMBER |
403 | caller |
The signed-in human tried to switch to an organization they do
not belong to. Select one returned by GET /v1/orgs,
or ask an owner/admin to add you.
|
Not found / wrong state
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_ROUTE_NOT_FOUND |
404 | caller |
No route at that METHOD PATH. Typically a URL typo.
The message echoes back the method + path so you
can spot the typo. See
API reference for
the canonical endpoint catalogue.
|
CP_METHOD_NOT_ALLOWED
|
405 | caller |
The path exists but the HTTP method doesn't. e.g.
DELETE /v1/healthz when healthz only
accepts GET. Check the route's allowed methods in
API reference.
|
CP_PROJECT_NOT_FOUND
|
404 | caller / state |
No active wok with that id in this org. Note: cross-org access
deliberately returns 404 not 403, to avoid enumeration. Verify
via GET /v1/woks.
|
CP_ORG_NOT_FOUND |
404 | caller | No org with that slug. Slugs are case-sensitive. |
CP_NOT_ACTIVE |
409 | state |
The wok is destroyed (terminal). Provision a fresh one via
POST /v1/woks.
|
CP_TRANSFER_DESTINATION_CONTROL_REQUIRED
|
403 | caller | The same signed-in human must be an owner/admin of both organizations. TellWang does not treat a source-side approval as destination consent. |
CP_TRANSFER_ACTIVE_OPERATION
|
409 | state | Finish or wait for the active transfer, purge, clone mutation, Agent Cell/Wang run, or deployment, then retry the ownership-sensitive operation. |
CP_TRANSFER_CREDENTIAL_REBIND_FAILED
|
409 | state / platform | TellWang could not create and encrypt destination-owned RAG/GEO model credentials, so ownership stayed unchanged. Repair the named key/allowance issue and retry. |
CP_STATUS_STALE |
503 | state | The wok status row hasn't been refreshed by the reconciler yet. Retry in 5s. |
CP_FUNCTION_NOT_FOUND
|
404 | caller / state |
No function with that name on the wok. List via
GET /v1/woks/{id}/functions.
|
CP_CLONE_PAGE_UNAVAILABLE
|
409 | caller / state | The requested page-window, passive-asset, or manifest operation does not match this capture mode. Use page/rehost for raw or render captures; use status/manifest for migration or quick browser captures. |
CP_SCHEDULE_FUNCTION_MISSING
|
424 / diag | state | An enabled schedule targets a function that is not deployed. TellWang skips the impossible invocation and reports the mismatch until the function or schedule is repaired. |
CP_FUNCTION_INVOCATION_STALLED
|
diag | state / platform |
A queued function invocation is overdue or its execution
lease expired. Inspect list-function-invocations,
then the target function and scheduler logs.
|
CP_FUNCTION_INVOCATION_WALL_CLOCK
|
diag / invocation | function | A queued function exhausted its 90-second wall-clock budget or the runtime supervisor cancelled it. The run fails terminally instead of retrying and accumulating another worker. Use a bounded long-poll window and resume on the next scheduled run. |
CP_RELEASE_SOURCE_MOVED
|
409 | state | Wok Git changed while an SSR artifact was being built. Rebuild from the current checkout; the stale bundle was rejected before deployment. |
CP_RELEASE_ROLLBACK_INVALID
|
400 / 409 | caller / state |
The target is not a source-linked successful release, is absent
from Wok Git, or is already current. Select
rollback_target.id from
get_release_status.
|
CP_RELEASE_ROLLBACK_FAILED
|
500 | state / platform | The rollback could not restore code or release-coupled function schedules. Inspect its compensation details; TellWang preserves the pre-attempt source and schedule set so partial code and dangling timers are not left live. |
CP_RELEASE_UNVERIFIED
|
diag | caller / state |
Source, artifact, or runtime-check evidence is incomplete.
Inspect get_release_status and run the missing
browser/function probe.
|
CP_RELEASE_FAILED |
diag | caller / state | The live receipt has source divergence, artifact drift, or a failed check. Repair the named signal and create a new verified release. |
CP_GIT_PUSH_POST_ACCEPT_FAILED |
failed release | caller / state | Git accepted the commit, but deployment preparation rejected its source or project context. Inspect the newest push receipt, correct the named problem, and push a new commit. |
CP_RELEASE_STAGING_CANDIDATE_RETAINED |
release event | state | A Preview deployment or check failed after candidate activation. Its receipt and evidence remain without undoing the candidate, so inspect and repair it in place. Roll Preview back only when the owner deliberately chooses to. |
CP_STAGING_LEDGER_RECONCILE_FAILED
|
409 | state |
create-staging already attempted the safe
self-repair: an empty Preview is rebuilt from Published's schema
without copying rows, and legacy history is adopted only for an
exact schema pair. This error remains only when a non-empty
Preview differs, a checksum conflicts, or append-only
verification fails; historical rows are never overwritten.
|
CP_WOK_RELEASE_TARGET_NOT_EMPTY
|
409 | state | Marketplace installation found customer work in the selected Preview Wok, including a live public database relation created outside the migration ledger. Select a fresh Preview whose neutral starter is untouched. |
CP_WOK_RELEASE_INSTALL_IN_PROGRESS
|
409 | state | Another release installer holds this Wok's cross-replica lock. Follow its receipt until it finishes before retrying. |
CP_WOK_RELEASE_INSTALL_ORPHANED
|
receipt | state | The installer stopped heartbeating. Retry the same receipt only if the Preview remains empty; otherwise use a fresh Preview. |
CP_DIRECT_PRODUCTION_APPROVAL_REQUIRED
|
409 / diag | approval | A failed promotion placed production on release hold. Repair and promote staging. Eligible non-database failures may receive a separately approved one-use direct deployment. |
CP_DIRECT_PRODUCTION_APPROVAL_NOT_ALLOWED
|
409 | approval | A direct-production exception was requested for a migration-boundary failure. Recover and verify staging; code activation cannot bypass missing or conflicting schema evidence. |
CP_STACK_STILL_DESIRED
|
409 | lifecycle | Orphan cleanup targeted a non-destroyed Wok, including suspended staging with stopped containers. TellWang refused before removing containers or volumes. |
CP_RELEASE_HOLD_UNAVAILABLE
|
503 | platform | TellWang could not reliably inspect the production release hold, so activation failed closed. Restore control-plane database access. |
CP_TRIGGER_NOT_FOUND
|
404 | caller |
No installed trigger with that name. List via
GET /v1/woks/{id}/triggers.
|
Validation
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_BAD_JSON |
400 | caller |
Request body isn't valid JSON, or required fields are missing.
The message names the field.
|
CP_INVALID_NAME |
400 | caller |
Identifier doesn't match the expected regex (e.g. wok ids
^[a-z][a-z0-9]{0,30}$, env-var names
^[A-Z][A-Z0-9_]{0,63}$). The
message spells out the actual regex.
|
CP_INVALID_BODY |
400 | caller |
JSON-valid but semantically wrong (e.g. bulk-env with both
vars and dotenv, or cron expression
that doesn't parse).
|
CP_LOLLIPOP_NOT_FOUND |
404 | caller | Lollipop project, site, plan, page, question or agent does not exist in the caller's organization (or the id is malformed). reload the list and pick an existing object. |
CP_LOLLIPOP_CONFLICT |
409 | caller | A Lollipop project slug, watched domain or page title already exists in this scope. open the existing object, or pick another slug/title. |
CP_LOLLIPOP_SITE_MANAGED |
409 | caller | Tried to remove a Lollipop site that is projected from a site group. remove the site group instead; the site follows it. |
CP_LOLLIPOP_PLAN_STATE |
409 | caller | A fix was approved, declined, undone or revised from a status that does not allow it. reload the fix; only waiting fixes decide/revise, only applied fixes undo. |
CP_LOLLIPOP_PLAN_EXECUTION_UNAVAILABLE |
409 | caller | Fix execution was requested for a watched site or a managed site without its Preview pair. import or provision the site first, then apply the fix. |
CP_LOLLIPOP_PLAN_RUN_STATE |
409 | caller | A fix retry, article draft, or completion receipt does not belong to the active execution state. Reload the fix; create drafts and complete only from its active run. |
CP_LOLLIPOP_FIX_RUN_FAILED |
error | background | A Fix execution stopped before it produced a reviewable result. Open its retained detail, read the failure, and retry. |
CP_LOLLIPOP_FIX_RECEIPT_MISSING |
error | background | A Fix execution ended without its exact tested Preview with concrete results or its article-draft receipt. Retry so the agent completes the receipt before stopping. |
CP_LOLLIPOP_FIX_RUN_CANCELLED |
error | background | A Fix execution was cancelled before its reviewable result was ready. Reopen its retained detail and retry when ready. |
CP_LOLLIPOP_PLAN_REVISION_STATE |
409 | caller | A Fix revision is already active, is not retryable, is attached to another Agent Cell run, or its base revision is stale. reload the Fix; answer any pending request, retry a stopped revision, or start again from the current revision. |
CP_LOLLIPOP_PLAN_RECEIPT_INVALID |
409 | caller | A Fix completion named a missing, failed, older, unrelated, or non-current Preview deployment or article draft, or omitted concrete project/runtime test results. Run the applicable tests and submit the exact current Preview receipt and/or pending article draft ids created by that active run. Verification still pending for an older unchanged surface is checked at publication and does not invalidate the current Fix receipt. |
CP_BRAND_VOICE_INVALID_INPUT |
400 | caller | The Brand voice scan needs a public HTTPS domain and a customer-facing brand name of 1–120 characters. |
CP_DRAFT_INVALID |
400 | caller | An approved article Fix supplied an invalid path, body, title, or source-title list. Correct the named field and retain only exact citation or knowledge titles. |
CP_DRAFT_GATE_FAILED |
422 | caller | An approved article Fix did not pass the content-quality gate. Use the returned hints to revise it before sending it to Content for review. |
CP_DRAFT_ALREADY_PENDING |
409 | caller | A pending Content draft already targets the same page. Wait for its owner decision or choose another page. |
CP_LOLLIPOP_INVALID |
400 | caller | A Lollipop public-audit claim token is malformed, a file upload was empty, oversized or unnamed, or mention ingest referenced ids that do not resolve. Reopen the public audit handoff, or fix the upload or ingest payload and resend. |
CP_LOLLIPOP_CLAIM_EMAIL_MISMATCH |
403 | caller | The signed-in email differs from the address that requested the public audit. Sign in with the email used for that audit. |
CP_LOLLIPOP_CLAIM_EXPIRED |
410 | caller | The unclaimed audit handoff is older than two hours. Run another free audit to create a fresh handoff. |
CP_LOLLIPOP_CLAIM_USED |
409 | caller | Another account already added this audit. Sign in with that account and open the retained audit there. |
CP_LOLLIPOP_CLAIM_NOT_READY |
409 | caller | The public audit has not completed or its retained result is incomplete. Wait for completion or rerun it. |
CP_LOLLIPOP_BRIEF_STATE | 409 | caller | The creative brief is frozen for build. Open the Site and start a new brief revision. |
CP_LOLLIPOP_BRIEF_ANALYSIS_FAILED | 502 | platform | The private planning model did not return a valid page proposal. Retry; the owner-entered brief remains saved. |
CP_LOLLIPOP_INSPIRATION_INVALID | 400 / 413 / 503 | caller | The inspiration image was unsafe to decode. Choose a JPG, PNG or WebP up to 10 MB, or continue without it. |
CP_LOLLIPOP_INSPIRATION_ANALYSIS_FAILED | 502 | platform | Private visual analysis did not return a valid semantic palette. Retry, use another image, or keep manual colours. |
CP_LOLLIPOP_BRIEF_INCOMPLETE | 409 | caller | The reviewed page plan or owner-selected pinned style is missing. Finish Review and choose the style again. |
CP_LOLLIPOP_SITE_BUILD_STATE | 409 | caller | The first-site receipt did not come from its active Agent Cell run. Complete it from the run named in the frozen brief. |
CP_LOLLIPOP_SITE_BUILD_RECEIPT_INVALID | 409 | caller | The receipt does not name the exact latest current Preview deployment from an owned site pair. Run the applicable project/runtime tests and submit that receipt. |
CP_LOLLIPOP_RUN_MISMATCH |
403 | caller | An agent-cell key filed an agent report from a run the platform did not start for that agent. file the report from the run started by the agent's Run now. |
CP_LOLLIPOP_RUN_START_FAILED |
502 | platform | Lollipop could not start an Agent Cell run for an agent, a fix execution or revision, a knowledge draft, or a knowledge follow-up (the run API refused; the hint carries its code). check the organization's plan, cell state and model quota, then retry. |
CP_LOLLIPOP_ANALYTICS_UNAVAILABLE |
502 | platform | The managed site's analytics read failed or returned an unreadable response. check analytics aggregation health and retry. |
CP_LOLLIPOP_RECORDINGS_UNAVAILABLE |
502 | platform | The managed Published site's recording list, metrics, settings, or retained event stream could not be read. check session recording and analytics health, then retry. |
CP_LOLLIPOP_RELEASE_UNAVAILABLE |
409 / 502 | platform | A managed Preview/Published pair is absent, or its release operation/read failed. confirm the pair is healthy, then retry. |
CP_LOLLIPOP_RELEASE_EVIDENCE_WRITE_FAILED |
error | platform | A completed Published-site verification probe could not save its terminal receipt evidence. Check control-plane database health for the deployment correlation; stale-release reconciliation ends an otherwise stranded receipt before retry. |
CP_LOLLIPOP_PUBLISH_CONFIRMATION_REQUIRED |
409 | request | The exact Preview contains function work whose check never completed. Review the named warning and choose Publish anyway; known failed checks still block. |
CP_LOLLIPOP_REDIRECTS_UNAVAILABLE |
502 | platform | Preview's redirects file could not be read or written. confirm the managed Preview is healthy, then retry. |
CP_LOLLIPOP_CONTENT_UNAVAILABLE |
502 | platform | Preview pages or the editorial draft queue could not be read or updated. confirm Preview and the draft service are healthy, then retry. |
CP_LOLLIPOP_IMPORT_STATE |
409 | caller | Import was requested for a Site that is not watch-only, or a support retry targeted an import that is not stopped. Start from a watched Site; support retries apply only to a failed import or an attached capture that has already failed. |
CP_LOLLIPOP_IMPORT_BUSY |
409 | platform | An import start or support retry collided with active polling or another request for the same Site. wait for the active check to finish, then retry. |
CP_LOLLIPOP_IMPORT_STOREFRONT_REQUIRED |
409 | caller | The source is a commerce storefront that requires the guided migration workflow. use the commerce migration workspace. |
CP_LOLLIPOP_IMPORT_UNAVAILABLE |
502 | platform | The watched-site import could not start or advance through its current platform step. retry; polling safely resumes the durable step. |
CP_LOLLIPOP_SHELL_UNAVAILABLE |
502 | platform | The site's shell workspace could not start, run the command, or ship the working copy. retry; the working copy is kept between calls. |
CP_LOLLIPOP_ONBOARDING_UNAVAILABLE |
503 | platform | Public website analysis could not run because the model, database, or configured acquisition organization is unavailable. configure the acquisition organization and model gateway, then retry. |
CP_LOLLIPOP_SALES_UNAVAILABLE |
503 | platform | A talk-to-sales request could not be saved or read because the database is unavailable. retry shortly. |
CP_LOLLIPOP_SHARE_NOT_READY | 409 | caller | A public audit link was requested before the Site had a completed audit. Finish the audit, then create the link. |
CP_LOLLIPOP_SHARE_EXISTS | 409 | caller | The Site already has an active public audit link. Use or stop the current link first. |
CP_LOLLIPOP_SHARE_SIGNING_UNAVAILABLE | 503 | platform | The server-side public-link signing secret is unavailable. Restore it, then retry. |
CP_LOLLIPOP_SHARE_UNAVAILABLE | 404 | caller | The report link is unavailable. Ask the sender for a new link or run another audit. |
CP_LOLLIPOP_SHARE_PROJECT_REQUIRED | 409 | caller | The Site belongs to more than one Project. Open it from the Project whose AI-answer evidence should be shared. |
CP_BULK_TOO_LARGE |
413 | caller | Batch exceeds the per-call cap (200 vars on bulk env). Split into multiple requests. |
CP_SQL_TOO_LARGE |
413 | caller |
exec_sql body exceeds 1 MiB. Split into smaller
migrations.
|
CP_LLM_BODY_TOO_LARGE
|
413 | caller | LLM chat-completions body exceeds 1 MiB. Trim history or use a smaller system prompt. |
CP_CHATGPT_BODY_TOO_LARGE
|
413 | caller | The ChatGPT Responses request exceeds 8 MiB. Reduce its prompt or attachments. |
CP_CHATGPT_HUMAN_REQUIRED
|
400 | caller | ChatGPT connections belong to people. Sign in with a user-bound key instead of a service-account key. |
Capacity & rate limits
CP_GROK_BODY_TOO_LARGE
|
413 | caller | Reduce the prompt or attachment payload below the 8 MiB proxy limit. |
CP_GROK_CONNECTION_REQUIRED
|
409 | caller | Connect your Grok account from Wang's model row before selecting or using Grok Build. |
CP_GROK_HUMAN_REQUIRED
|
400 | caller | Use a user-bound key; a service account cannot connect or spend a person's Grok subscription allowance. |
CP_GROK_MODEL_UNAVAILABLE
|
409 | caller | Only the fixed Grok Build subscription model is available. Choose Grok in the model row. |
CP_GROK_OAUTH_ATTEMPT_EXPIRED
|
410 | caller | The ten-minute Grok device sign-in expired. Start a fresh connection. |
CP_GROK_OAUTH_ATTEMPT_INVALID
|
404 | caller | The Grok sign-in attempt does not belong to this member or no longer exists. |
CP_GROK_OAUTH_EXCHANGE_FAILED
|
502 | upstream | The official Grok client did not complete device sign-in. Start again. |
CP_GROK_OAUTH_EXPIRED
|
401 | caller | The Grok subscription session expired and could not refresh. Connect Grok again. |
CP_GROK_OAUTH_KMS_UNAVAILABLE
|
503 | platform | TellWang cannot encrypt or refresh Grok OAuth state until its root encryption key is restored. |
CP_GROK_OAUTH_RUNTIME_UNAVAILABLE
|
503 | platform | The pinned official Grok client or isolated authentication runtime is unavailable. |
CP_GROK_OAUTH_START_FAILED
|
502 | upstream | The official Grok client did not start device sign-in. Retry and check xAI status if it repeats. |
CP_GROK_UPSTREAM_FAILED
|
502 | upstream | Grok Build could not be reached. Retry the run, then reconnect if it continues. |
CP_POSTPAID_DISABLED
|
409 | state | Usage beyond the included allowances is paid from prepaid credits. Add credits and retry. |
CP_WANG_APP_MODEL_REQUIRED
|
409 | caller | Private is unavailable for app building. Choose DeepSeek, Kimi, connected ChatGPT, or connected Grok from Wang's model row. |
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_RATE_LIMITED |
429 | caller |
A throttled public endpoint or one organization’s screenshot
decoder budget is busy. Wait for the
Retry-After interval and retry.
|
CP_OAUTH_ALL_ORGS_SCHEMA_MISSING
|
diag | platform | TellWang is applying a database update for multi-organization sign-in. Retry later or contact support. |
CP_WOK_QUOTA_EXCEEDED
|
402 | caller |
You're at your plan's wok limit. Upgrade via
POST /v1/orgs/{slug}/billing/checkout/subscription
or delete an unused wok.
|
CP_ORG_REQUIRES_PAID
|
402 | caller | Your first owned organization is free. Move one organization to a paid plan before creating another; paid owners are capped at 20 organizations. |
CP_SUBSCRIPTION_EXISTS
|
409 | state | An active or incomplete subscription, or an unresolved Checkout reservation, already exists. A locally expired reservation must be checked against canonical Stripe state before replacement; complete, change, or cancel that billing flow before starting another. |
CP_SUBSCRIPTION_NOT_CANCELABLE
|
409 | state | Billing could not find an exact current Stripe subscription with a cancellable status and a known period end. Refresh Billing, resolve an incomplete checkout or payment state, and contact TellWang if Stripe still shows a current subscription. |
CP_POSTPAID_NOT_ELIGIBLE
|
409 | state | This subscription cannot fund usage directly. Usage beyond the included allowances is paid from prepaid credits. Add credits and retry. |
CP_LLM_INSUFFICIENT_BALANCE
|
402 | caller | No included tokens, key budget, or prepaid credits can fund more TellWang-model usage. Add prepaid credits or configure BYOK. |
CP_LLM_CONCURRENCY_LIMITED
|
429 | caller | The organization already has the maximum number of TellWang-funded model requests admitted at once. Wait for one completion to settle, then retry. |
CP_LLM_REQUESTS_EXHAUSTED
|
429 | caller | A Free organization has spent its monthly request allowance without prepaid credit or preserved paid key budget. Wait for the reset, add prepaid credits, or move to a paid plan. |
CP_STORAGE_COLLECTION_GAP
|
503 | platform | Storage billing has an incomplete Wok observation. The affected interval is billed at zero bytes, and the next complete organization sample closes the gap. |
CP_LLM_CHECKOUT_RETIRED
|
410 | caller |
Fixed-price per-key token bundles are retired. Eligible paid
plans use their authorized subscription card for model overage;
other plans add credits through
POST /v1/orgs/{slug}/credits/topup.
|
CP_LLM_MODEL_UNSUPPORTED
|
400 | caller |
The gateway serves model:"private", the DeepSeek
models, and paid-plan Kimi. Free cannot select Kimi,
and an unavailable id is rejected rather than silently rerouted.
|
CP_LLM_PROVIDER_DISABLED
|
410 | caller |
Customer BYOK routing is inactive. Use the built-in
private model or a plan-entitled TellWang model.
|
CP_RUNTIME_RETIRED |
410 | caller |
A retired Wang runtime version was requested. Omit
runtime_version to use the current runtime; older
runs stay readable but cannot resume.
|
CP_AGENT_CELL_PLAN_REQUIRED
|
402 | caller | The organization has an unknown or legacy catalog plan without an Agent Cell entitlement. Every current plan, including Free, includes hosted Wang execution. |
CP_AGENT_CELL_CHECKOUT_PREPARE_FAILED
|
500 | platform | TellWang could not prepare the named app's retained Preview checkout before Wang started. The run stops rather than searching an empty workspace or touching Published. |
Upstream / platform
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_BILLING_NOT_CONFIGURED
|
503 | platform | Stripe is missing its API key or one of the two webhook signing secrets. Payment-profile submission may be saved locally but is not represented as submitted to Stripe. Contact support, then retry the same submission. |
CP_BILLING_UPSTREAM_FAILED
|
502 | upstream | Stripe rejected or could not complete the account, onboarding link, Checkout, or billing request. Retry only after checking the safe hint and Stripe event logs. Stripe-managed Project accounts do not require TellWang to accept connected-account loss or requirement-collection responsibility. |
CP_PAY_PROJECT_REQUIRED
|
400 / 404 / 409 | caller |
Select the customer-facing Project that owns the gateway, KYC,
and Stripe account. Use
/v1/orgs/{slug}/projects/{project}/…; the account
slug is only the authorization container. A Wok must be linked
to that Project before card payments can start.
|
CP_CHATGPT_CONNECTION_REQUIRED
|
409 | caller | Connect your own ChatGPT account from Wang's model menu before selecting or using it. |
CP_CHATGPT_AUTH_EXPIRED
|
401 | caller | Your ChatGPT connection could not refresh. Disconnect and connect it again. |
CP_CHATGPT_OAUTH_ATTEMPT_EXPIRED
|
410 | caller | The ten-minute device sign-in expired. Start a fresh connection. |
CP_CHATGPT_OAUTH_ATTEMPT_INVALID
|
404 | caller | The connection attempt does not belong to this member or no longer exists. Start again. |
CP_CHATGPT_OAUTH_START_FAILED
|
502 | upstream | OpenAI did not start device sign-in. Retry and check OpenAI status if it repeats. |
CP_CHATGPT_OAUTH_EXCHANGE_FAILED
|
502 | upstream | OpenAI did not complete device sign-in. Start a fresh connection. |
CP_CHATGPT_OAUTH_KMS_UNAVAILABLE
|
503 | platform | TellWang cannot encrypt or refresh ChatGPT credentials until its root encryption key is restored. |
CP_CHATGPT_MODEL_DISCOVERY_FAILED
|
502 | upstream | TellWang could not safely verify the connected account's coding models. Retry, then reconnect ChatGPT if it continues. |
CP_CHATGPT_MODEL_UNAVAILABLE
|
409 | caller | The chosen model is no longer in this account's catalog. Choose ChatGPT Auto or another model shown in Wang's model menu. |
CP_CHATGPT_UPSTREAM_FAILED
|
502 | upstream | ChatGPT could not be reached. Retry the run, then reconnect if it continues. |
CP_STOREFRONT_PLATFORM_DETECTION_FAILED
|
502 | source / upstream | Import could not inspect the bounded public storefront probe. Verify the source is public and retry platform detection; no source connection or readiness state was created. |
CP_STOREFRONT_PLATFORM_MISMATCH
|
409 | request / source | The asserted Shopify, Shopline, or WooCommerce platform did not match the server's current source probe. Use the detected platform and a fresh idempotency key if the storefront changed. |
CP_STOREFRONT_CONNECTION_INVALID
|
400 | request | Use the canonical HTTPS Shopify, Shopline, or WooCommerce identity, a safe relative return path, and a connection ID returned by the organization list. |
CP_STOREFRONT_CONNECTION_STATE_INVALID
|
400 | request / provider | The authorization state or connector challenge expired, was consumed, or did not match. Restart the exact provider connection. |
CP_STOREFRONT_CONNECTION_RATE_LIMITED
|
429 | authorization safety |
Ten unconsumed authorization attempts are still active for this
provider. Wait for one to finish or expire, then retry after the
supplied Retry-After interval.
|
CP_STOREFRONT_CONNECTION_CALLBACK_INVALID
|
400 | provider callback | Restart authorization and let Shopify, Shopline, or WooCommerce send the callback directly; its HMAC, timestamp, state, identity, permissions, or key shape was invalid. |
CP_STOREFRONT_CONNECTION_NOT_FOUND
|
404 | request | List storefront connections in the same organization and use one of those IDs. |
CP_STOREFRONT_CONNECTION_KMS_UNAVAILABLE
|
503 | platform | Restore the control-plane root encryption key before restarting provider authorization. |
CP_STOREFRONT_SHOPIFY_REVOCATION_INCOMPLETE
|
503 | runtime revocation |
Stored access was scrubbed, but a bound Wok restart was not
confirmed. Retry disconnect until the family reaches
revoked, then uninstall the TellWang app in
Shopify.
|
CP_STOREFRONT_CONNECTOR_SIGNATURE_INVALID
|
400 | connector |
Restart WordPress connector pairing and sign the exact
tellwang.wordpress.connector.pair.v1 message.
|
CP_STOREFRONT_SHOPIFY_NOT_CONFIGURED
|
503 | platform | TellWang is finishing setup of the managed Shopify migration app. Retry later or contact support. |
CP_STOREFRONT_SHOPLINE_NOT_CONFIGURED
|
503 | platform | TellWang is finishing setup of the Shopline migration app. Retry later or contact support. |
CP_STOREFRONT_SHOPLINE_STORE_OWNED
|
409 | organization ownership | Disconnect the active TellWang connection in the current owner organization before transferring this Shopline store. |
CP_STOREFRONT_SHOPLINE_SCOPE_INCOMPLETE
|
422 | provider contract | Restart authorization and approve every permission shown in the versioned Shopline migration contract. |
CP_STOREFRONT_SHOPLINE_WEBHOOK_SETUP_FAILED
|
502 | provider lifecycle | Retry after Shopline's Webhook API is healthy. A conflicting lifecycle subscription must be repaired before reconnecting. |
CP_STOREFRONT_SHOPLINE_CREDENTIAL_UNAVAILABLE
|
diagnostic | credential renewal | Restore Shopline API and app configuration, then reconnect a grant only when its ten-hour credential is definitively expired. |
CP_STOREFRONT_SHOPLINE_ADAPTER_CONTRACT_INVALID
|
diagnostic | provider adapter |
Shopline execution is stopped because its reviewed identity,
source, route, live-commerce, or verification contract drifted.
Restore shopline-storefront-adapter.v1 and verify
shopline_adapter_contract before admitting work.
|
CP_STOREFRONT_SHOPIFY_INSTALL_NOT_CONFIGURED
|
503 | platform | A store- or Plus-organization-restricted custom install link is missing, invalid, expired, or inconsistent with its app entry. Generate a fresh link and update the primary app secret or the exact supplemental custom-app registry entry. |
CP_STOREFRONT_SHOPIFY_DEVELOPMENT_STORES_INVALID
|
503 | authorization boundary |
Development-store testing is enabled, but its one exact
hostname is missing or invalid. Configure only the intended
lowercase permanent *.myshopify.com hostname.
|
CP_STOREFRONT_SHOPIFY_INSTALL_STORE_MISMATCH
|
409 | authorization boundary | The requested permanent Shopify store matches neither the app's bound live store nor the one exact development-store hostname allowed for the same app. |
CP_STOREFRONT_SHOPIFY_STORE_ALREADY_CONNECTED
|
409 | organization ownership | Another TellWang organization owns the installed Shopify app/store grant. Keep using that organization, or finish its disconnect and provider revocation before authorizing elsewhere. Reconnect only after the prior grant is definitively revoked or expired. |
CP_STOREFRONT_SHOPIFY_RUNTIME_INVALID
|
400 | legacy v1.0 request | This code belongs to the legacy private-token route. Normal v1.1 Import uses automatic managed Storefront setup and never asks the merchant to copy a token. |
CP_STOREFRONT_SHOPIFY_RUNTIME_VERIFY_FAILED
|
422 | legacy v1.0 credential | This code belongs to the legacy private-token route. Existing v1.0 installations can rotate that token; normal v1.1 Import uses the managed runtime instead. |
CP_STOREFRONT_SHOPIFY_MANAGED_RUNTIME_UNAVAILABLE
|
502 | provider / upstream | Retry automatic Storefront setup with the same approved Shopify connection. The merchant does not create a token or approve the app again. |
CP_STOREFRONT_SHOPIFY_MANAGED_RUNTIME_INVALID
|
422 | provider contract | Shopify did not return the exact signed v1.1 Storefront scope and verification contract. Inspect the provider response and retry with the existing approval after correcting the contract. Reconnect only when the parent grant is definitively revoked or expired; any permission expansion needs a new approval. |
CP_STOREFRONT_SHOPIFY_MANAGED_RUNTIME_NOT_EXTENDABLE
|
503 | platform | TellWang must publish a storefront-capable, extendable Shopify app version. Retry automatic setup later with the existing approval; the merchant does not need to reapprove. |
CP_STOREFRONT_SHOPIFY_RUNTIME_UNAVAILABLE
|
502 | provider / upstream | Leave the live store unchanged and retry after Shopify Storefront API connectivity recovers. |
CP_STOREFRONT_SHOPIFY_SOURCE_ACCESS_INVALID
|
400 / 422 | storefront access | Use the Online Store password from Shopify Admin → Online Store → Preferences → Store access. A Shopify account password is not valid here. |
CP_STOREFRONT_SHOPIFY_SOURCE_ACCESS_STORAGE_FAILED
|
503 | secret storage / database | Restore control-plane secret storage and database health, then enter the storefront password again. The raw password is not retained. |
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_INVALID
|
400 | request | For classic accounts, submit the staging Wok only. For new accounts, also use the public client and exact Preview URLs shown by Import. |
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_PREVIEW_INVALID
|
409 | Preview binding | Select the journey's active staging Wok and retry with its exact origin. |
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_MODE_UNVERIFIED
|
422 | live account-mode evidence |
Keep Shopify live, make the public /account and
login route reachable, confirm the current account setting, and
retry detection.
|
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_DISCOVERY_INVALID
|
422 | Shopify discovery | Enable new Customer Accounts and a public Headless client with PKCE S256. |
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_UNAVAILABLE
|
502 | provider / upstream | Leave Shopify live and retry after Customer Account discovery recovers. |
CP_STOREFRONT_SHOPIFY_CUSTOMER_ACCOUNT_STORAGE_UNAVAILABLE
|
503 | platform | Restore secret storage before retrying the mode-specific account connection. |
CP_STOREFRONT_PROVIDER_FAILED
|
502 | provider / upstream | Restart with the exact read-only grant. If it repeats, check Shopify token exchange or confirm the WooCommerce REST API is healthy and accepts the generated key over HTTPS. |
CP_STOREFRONT_MIGRATION_INVALID
|
400 | request | Refresh the journey and send the documented closed v1 request with its current journey and action IDs. |
CP_STOREFRONT_MIGRATION_PROVIDER_UNSUPPORTED
|
422 | source | Use public Tryout capture for WooCommerce or an unknown source. Committed live migration accepts Shopify and Shopline. |
CP_STOREFRONT_COMMERCE_CONNECTION_FAILED
|
503 | Shopify / Wok | Keep Shopify live, restore the Storefront-token or Wok deployment dependency named by the correlated operation, then retry the same commerce-only journey. No page or Shopify merchant setting was changed. |
CP_STOREFRONT_MIGRATION_NOT_FOUND
|
404 | request | List committed migration journeys in the organization and use a returned ID. |
CP_STOREFRONT_MIGRATION_STATE_CONFLICT
|
409 | request / state | Refresh the journey and act only on its current server-owned action or allowed transition. |
CP_STOREFRONT_MIGRATION_TARGET_INVALID
|
409 | request | Choose a fresh, empty, unassigned owned Preview Wok or let the journey provision its journey-unique Wok and Preview pair. |
CP_STOREFRONT_MIGRATION_CONNECTION_INVALID
|
409 | request / connection | Authorize this journey's canonical store, then submit the active same-organization, same-provider connection ID returned by its callback. |
CP_STOREFRONT_MIGRATION_SHOP_IDENTITY_REQUIRED
|
409 | request / source |
Use the permanent *.myshopify.com store hostname
shown in Shopify Admin; a custom storefront or Wok hostname is
not the Shopify API identity.
|
CP_STOREFRONT_MIGRATION_SHOPLINE_IDENTITY_REQUIRED
|
409 | request / source |
Use the permanent *.myshopline.com store hostname
shown in Shopline Admin; a custom storefront or Wok hostname is
not the Shopline API identity.
|
CP_STOREFRONT_MIGRATION_DELETE_NOT_READY
|
409 | request / state | Cancel the journey, let cleanup finish, then delete it. |
CP_STOREFRONT_MIGRATION_CREDENTIAL_UNAVAILABLE
|
409 | internal migration state |
TellWang retries rotating-grant renewal automatically and the
Shopify worker must reacquire the active source-import stage.
A merchant reconnect is needed only if the refresh grant is
definitively invalid or expired. The existing journey then
shows Connect Shopify with the exact full permission
disclosure. TellWang will not release a token for a stale
execution, connection, lease, operation, or fencing token. The same code appears in
shopify_oauth_refresh diagnostics for near-expiry,
expired, or waiting grants.
|
CP_STOREFRONT_MIGRATION_REFERENCE_CAPTURE_INVALID
|
409 | migration lineage | Verify the owned Preview Wok and public Shopify source, then retry the same authorization action. No import execution was admitted. |
CP_STOREFRONT_MIGRATION_CAPTURE_AGGREGATE_INVALID
|
409 | migration lineage | Discard the invalid cross-bound or inconsistent segment aggregate and restart capture from the current journey's exact route universe. |
CP_STOREFRONT_MIGRATION_RUNTIME_CONFIG_UNAVAILABLE
|
409 | internal migration state | Reverify Headless and let the current worker reacquire the exact candidate-deploy lease; no credential is released for stale lineage. |
CP_STOREFRONT_MIGRATION_CUSTOMER_ACCOUNT_CONFIG_UNAVAILABLE
|
409 | internal migration state | Reconnect the detected customer-account mode to the exact Preview and restart admission. |
CP_STOREFRONT_MIGRATION_DEPLOY_INVALID
|
400 | internal release contract | Retry from the current signed compile receipt. The gzip, connection, base runtime, and execution lineage must match exactly. |
CP_STOREFRONT_MIGRATION_DEPLOY_UNAVAILABLE
|
409 | Preview release | Keep Shopify live, restore Preview health, and retry the current candidate after inspecting the correlated release failure. |
CP_STOREFRONT_MIGRATION_SOURCE_INVALID
|
400 | editable source contract | Retry from the exact signed compile receipt. The editable route files must rebuild the signed runtime exactly, and the embedded manifest, server entrypoint, and protected Shopify commerce provider must match before source is accepted. |
CP_STOREFRONT_MIGRATION_COMMERCE_EVIDENCE_BLOCKED
|
409 / diagnostic | Shopify Git activation | Keep Shopify unchanged. Fix the Preview edit until every baseline-bound buyer flow and adapter passes; if commerce verification itself is unavailable, contact support. TellWang restores the previous Preview source on failure. |
CP_STOREFRONT_MIGRATION_MUTATION_BLOCKED
|
409 | Shopify migration safety | Keep the original Shopify storefront and hostname unchanged. For a live-store move, wait for Import to install the editable baseline before taking the first Git snapshot. A completed commerce-only custom journey may take that snapshot without an imported baseline. The successful snapshot ends the mechanical journey, after which the Preview accepts normal Wok Git pushes and mutations without waiting for migration candidate evidence. TellWang excludes the imported manifest from terminal deployments and, after snapshot handoff, carries the Wok's versioned server and provider through the normal release gates. |
CP_STOREFRONT_MIGRATION_SOURCE_UNAVAILABLE
|
409 | Wok Git source | Preserve the existing source and reconcile the Preview Wok Git HEAD. TellWang never overwrites an occupied managed Shopify source path. |
CP_STOREFRONT_RUNTIME_ADOPTION_FAILED
|
503 | Shopify custom runtime adoption |
Retry git_snapshot for the same Wok. TellWang
idempotently installs the storefront runtime baseline while preserving
storefront-source/. This recovery does not change
Shopify's theme, settings, catalog, credentials, domain, or
traffic.
|
CP_STOREFRONT_RUNTIME_HANDOFF_FAILED
|
503 | Shopify runtime ownership handoff |
Retry git_snapshot for the same Wok. The snapshot
is the explicit point where the runtime becomes editable Wok
source. Shopify credentials remain sealed and no merchant
theme, settings, catalog, domain, or traffic is changed.
|
CP_STOREFRONT_MIGRATION_SOURCE_RECORD_UNAVAILABLE
|
503 | source provenance | Restore control-plane database health and retry the candidate. The exact source digest, Git commit, runtime pins, and receipt must commit together. |
CP_STOREFRONT_MIGRATION_ROLLBACK_FAILED
|
500 | Preview rollback | Keep Shopify live and inspect the correlated deployment, Wok Git HEAD, app-server bundle, and stack diagnostics before retrying. |
CP_STOREFRONT_MIGRATION_LINEAGE_UNAVAILABLE
|
409 | internal migration lineage | Restore the exact tenant, policy, rights, connection, capture, and signed-template pins. Never manufacture a Shopify theme or source digest to make a worker start. |
CP_CLONE_CAPTURE_BOUND
|
409 | capture lifecycle | Cancel and delete the active migration journey before deleting its retained reference capture. |
CP_CLONE_CAPTURE_PRODUCT_ROUTE_NOT_FOUND
|
status | source | Quick capture found no same-origin product detail route. Make one public product page discoverable from the homepage or sitemap, then start a fresh quick capture. TellWang will not substitute an unrelated second page. |
CP_CLONE_CAPTURE_NOT_CONFIGURED
|
503 | platform | Migration capture is not configured. TellWang will not fall back to a lower-fidelity crawl; retry later or contact support. |
CP_CLONE_CAPTURE_UPSTREAM_FAILED
|
502 | upstream / platform | The capture worker was unreachable, rejected the request, returned an invalid protocol response, failed the job, or confirmed that an assigned job no longer exists. A confirmed missing job is closed through the durable failed-receipt and idempotent cleanup path so it cannot occupy a capture slot forever. Inspect the worker logs with the correlation ID, then poll or retry the retained clone. |
CP_CLONE_CAPTURE_TIMEOUT
|
504 | upstream / platform | A bounded worker request timed out, a Shopify segment exceeded its queue plus execution budget, or another migration capture exceeded its six-hour lease. Shopify retries a transient segment within a three-attempt budget. If it becomes terminal, check worker health and repair the exact failed route set. |
CP_CLONE_CAPTURE_MANIFEST_INVALID
|
502 | platform | The worker claimed success with evidence that violated the versioned manifest contract. Keep the storefront uncut-over, repair the capture worker, and retry; TellWang rejects any manifest that claims it is already migration-ready. |
CP_CLONE_CAPTURE_NAMESPACE_UNKNOWN
|
409 | platform |
The current or retained storage namespace is absent from the
backend registry, or the selected worker owns a different
namespace. Restore the exact namespace mapping, confirm
site_capture in /diag, and poll status
before deleting the receipt; cleanup refuses to guess.
|
CP_CLONE_CAPTURE_START_BUSY
|
503 | retryable | The durable capture intent exists, but its lifecycle lock was busy. Retry the identical request with the same Idempotency-Key. |
CP_CLONE_OPERATION_IN_PROGRESS
|
409 | retryable | Another replica is reconciling or deleting this capture, or its durable deletion receipt already makes the capture identity deletion-only. Wait briefly and poll the same clone id; use a new idempotency key for a later capture after deletion finishes. |
CP_CLONE_CAPTURE_SOURCE_BLOCKED
|
409 | source access | The worker rejected a password page, access challenge, private address, or credential-like source. For a connected Shopify journey, enter the Online Store password in Import to restart this same capture. Never put a password in the URL. |
CP_CLONE_CAPTURE_REQUEST_REJECTED
|
502 | platform | The worker rejected TellWang's request contract before accepting a job. TellWang aligns the capture releases; retry later or contact support. |
CP_CLONE_ARTIFACT_NOT_FOUND
|
404 | caller | The artifact id is not in this clone's validated manifest. Read the manifest and use one of its exact ids. |
CP_CLONE_ARTIFACT_RANGE_INVALID
|
416 | caller | The artifact offset is outside the retained object. Restart at zero or continue from the previous next_offset. |
CAPTURE_INVALID_REQUEST
|
400 / startup | caller / platform | A capture request, bounded evidence recipe, or worker setting is malformed. Correct the named field without relaxing the v1 limits. |
CAPTURE_PRODUCT_ROUTE_NOT_FOUND
|
job | source | A home-and-product request could not capture both the homepage and one real product detail route. Link or list a public product page, then start a fresh quick capture. |
CAPTURE_UNAUTHORIZED
|
401 | platform | The worker bearer did not match. Restore the paired control-plane and worker secret; never put it in a URL. |
CAPTURE_NOT_FOUND |
404 | state / platform | The capture or artifact is absent, deleted, or failed integrity validation. Reconcile the retained clone receipt and investigate storage before retrying. |
CAPTURE_IDEMPOTENCY_CONFLICT
|
409 | caller / state | A capture id was reused with different immutable input, or deletion still protects it. Reuse the exact request or create a fresh capture id. |
CAPTURE_STORAGE_NAMESPACE_MISMATCH
|
409 / startup | platform | The request reached a worker generation that does not own the retained data. Repair the namespace registry instead of guessing. |
CAPTURE_QUEUE_FULL |
429 | state | The bounded queue cannot complete another job inside the control-plane lease. Retry the same capture after capacity frees. |
CAPTURE_RETAINED_QUOTA_EXCEEDED
|
429 / startup | state / platform | Retained artifacts plus active reservations reached provisioned storage. Delete an obsolete clone through TellWang or add storage before retrying. |
CAPTURE_UNSAFE_TARGET
|
400 / 502 | caller / source | A navigation, redirect, DNS result, or resource targeted a non-public address. Use the public canonical storefront and investigate unexpected private dependencies. |
CAPTURE_LIMIT_EXCEEDED
|
413 / job | caller / source | A route, artifact, manifest, transfer, or capture exceeded a fixed bound. Reduce the frontier or source payload; keep the safety ceilings. |
CAPTURE_BROWSER_FAILED
|
job | source / platform | Chromium or Crawlee could not produce required evidence. Inspect correlation-bound worker logs and repair the browser or source failure. |
CAPTURE_SOURCE_ACCESS_REQUIRED
|
job | source access | Shopify rendered its storefront-password form without a valid temporary session. Enter the Online Store password in Import; TellWang exchanges it server-side and restarts the retained capture. |
CAPTURE_ORACLE_UNAVAILABLE
|
502 / job | platform | The required authenticated Browsertrix sibling is missing, unreachable, returned a receipt for different input, or could not confirm remote cleanup. Cleanup remains durably marked and retries; restore the pinned service boundary and verify the pending cleanup count returns to zero. |
CAPTURE_ORACLE_FAILED
|
job | source / platform | Browsertrix failed, restarted mid-run, produced no bounded WACZ, or returned evidence that failed integrity checks. Repair the source or service without weakening its limits. |
CAPTURE_TIMEOUT |
job | state | The browser job exceeded its execution or recovery lease. Reduce the frontier or restore capacity, then start a fresh capture. |
CAPTURE_STORAGE_FAILED
|
500 / 503 / startup | platform | Durable metadata, artifacts, cleanup, integrity, or exclusive data-root ownership failed. Stop admission, repair storage, restart, and reconcile. |
CAPTURE_CANCELLED |
job | state | Deletion or shutdown cancelled an in-flight job. Inspect the retained clone before retrying; deletion is idempotent. |
CAPTURE_INTERNAL |
500 | platform | An unexpected failure was normalized without exposing raw exception data. Investigate with the correlation id and structured worker event. |
CAPTURE_INSTALL_START
|
event | platform | Site capture is starting. No action needed. |
CAPTURE_INSTALL_BUILD
|
event | platform | Site capture setup is in progress. No action needed. |
CAPTURE_INSTALL_OK |
event | platform | Site capture setup passed its health check. No action needed. |
CAPTURE_INSTALL_FAIL
|
event | platform | Site capture setup failed. TellWang repairs the reported cause; retry later or contact support. |
| WooCommerce: the following codes come from WooCommerce store reads, signed-export verification, and analysis. | |||
WOOCOMMERCE_ADAPTER_CONFIG_INVALID
|
adapter | caller | Correct the bounded store, pagination, timeout, or input configuration. |
WOOCOMMERCE_ADAPTER_HTTP_FAILED
|
adapter | platform / WooCommerce | Verify the store and egress path, then retry the bounded operation. |
WOOCOMMERCE_ADAPTER_RESPONSE_INVALID
|
adapter | platform / WooCommerce | Block parity and inspect the upstream contract without retaining response data. |
WOOCOMMERCE_ADAPTER_RESPONSE_TOO_LARGE
|
adapter | safety limit | Reduce the requested page size; keep the hard response ceiling. |
WOOCOMMERCE_CART_SESSION_MISSING
|
adapter | application | Initialize the cart and apply its secure HttpOnly cookies before retrying. |
WOOCOMMERCE_CART_CREDENTIAL_INVALID
|
adapter | platform / WooCommerce | Discard the session and investigate the malformed Cart Token or Nonce. |
WOOCOMMERCE_CART_INPUT_INVALID
|
adapter | buyer state | Refresh product and cart state, then submit a bounded valid mutation. |
WOOCOMMERCE_CHECKOUT_URL_INVALID
|
adapter | security | Block handoff until checkout is HTTPS, same-origin, and credential-free. |
WOOCOMMERCE_CHECKOUT_SESSION_UNAVAILABLE
|
migration | session bridge | The current helper trusts a caller assertion. Establish a matching native session, add independent bridge verification, or keep checkout on the source origin. |
WOOCOMMERCE_REST_AUTHORIZATION_REQUIRED
|
migration | security | Until a control-plane connection exists, invoke the library only from an authorized server boundary and retain only scoped secret references. |
WOOCOMMERCE_SOURCE_EXPORT_AUTHORIZATION_REQUIRED
|
migration | authorization | Complete merchant authorization and confirm source rights before signed export verification. |
WOOCOMMERCE_SOURCE_EXPORT_SIGNATURE_INVALID
|
migration | integrity | Reject the export and verify the connector's retained Ed25519 public-key registration. |
WOOCOMMERCE_SOURCE_EXPORT_SOURCE_INVALID
|
migration | source contract | Reject the payload and create a complete fresh snapshot from the authorized connector. |
WOOCOMMERCE_SOURCE_EXPORT_LIMIT_EXCEEDED
|
migration | safety limit | Reduce the authorized export within the hard byte and item ceilings. |
WOOCOMMERCE_PLATFORM_DETECTION_FAILED
|
adapter | source / WooCommerce | Verify the Store API, TLS, egress, and response contract. |
WOO_THEME_ANALYZER_INPUT_INVALID
|
analyzer | source contract | Repeat the authorized export and pass the unmodified verifier output. |
WOO_THEME_ANALYZER_INPUT_LIMIT_EXCEEDED
|
analyzer | safety limit | Reduce or review the source without raising the hard ceiling. |
WOO_THEME_ANALYZER_SOURCE_FILE_INTEGRITY_MISMATCH
|
analyzer | file integrity | Discard the bundle and repeat the authorized connector export. |
WOO_THEME_ANALYZER_SOURCE_DIGEST_MISMATCH
|
analyzer | bundle integrity | Stop migration and repeat a stable authorized export. |
WOO_THEME_ANALYZER_COMPILER_NOT_IMPLEMENTED
|
migration | compiler | Implement and qualify the deterministic Woo compatibility compiler/runtime. |
WOO_THEME_ANALYZER_ENVIRONMENT_UNKNOWN
|
migration | environment facts | Repeat the connector snapshot with actual WordPress, WooCommerce, and PHP versions. |
WOO_THEME_ANALYZER_PHP_RUNTIME_REQUIRED
|
migration | PHP behavior | Implement the behavior without executing arbitrary source PHP. |
WOO_THEME_ANALYZER_HOOK_RUNTIME_REQUIRED
|
migration | hooks / routes | Implement and test each hook, AJAX action, or REST route, or retain a verified Woo source-passthrough route or provider handoff. |
WOO_THEME_ANALYZER_SHORTCODE_RUNTIME_REQUIRED
|
migration | shortcodes | Implement and test deterministic shortcode rendering and behavior. |
WOO_THEME_ANALYZER_BLOCK_RUNTIME_REQUIRED
|
migration | blocks | Implement and test every reported WordPress or WooCommerce block. |
WOO_THEME_ANALYZER_TEMPLATE_RUNTIME_REQUIRED
|
migration | templates | Resolve and implement each reported runtime template call. |
WOO_THEME_ANALYZER_WORDPRESS_STATE_REQUIRED
|
migration | WordPress state | Implement and test tenant-isolated state behavior. |
WOO_THEME_ANALYZER_DYNAMIC_INCLUDE_REQUIRED
|
migration | dynamic PHP | Review and explicitly implement the referenced behavior. |
WOO_THEME_ANALYZER_PLUGIN_RUNTIME_REQUIRED
|
migration | plugin behavior | Implement and qualify the plugin or retain a verified Woo source-passthrough route or provider handoff. |
WOO_THEME_ANALYZER_PAYMENT_GATEWAY_REQUIRED
|
migration | payment gateway | Implement the adapter and pass sandbox outcome journeys. |
WOO_THEME_ANALYZER_WOO_TEMPLATE_OVERRIDE_REQUIRED
|
migration | Woo override | Implement and visually and functionally verify the override. |
WOO_THEME_ANALYZER_JAVASCRIPT_RUNTIME_REQUIRED
|
migration | theme JavaScript | Review ownership and behavior before packaging the script. |
WOO_THEME_ANALYZER_EXTERNAL_RUNTIME_REQUIRED
|
migration | external dependency | Classify, replace, or explicitly retain the dependency. |
WOO_THEME_ANALYZER_JSON_PARSE_FAILED
|
migration | JSON source | Repair or review the source and rerun complete analysis. |
WOO_THEME_ANALYZER_ANALYSIS_LIMIT_EXCEEDED
|
migration | analysis bound | Reduce or segment the source; partial analysis cannot advance. |
WOO_THEME_ANALYZER_UNKNOWN_FILE_RUNTIME
|
migration | unclassified source | Classify and explicitly implement or exclude the file with approval. |
SHOPIFY_ADAPTER_CONFIG_INVALID
|
adapter | caller | Correct the rejected shop, API, auth, timeout, cookie, pagination, cart, or traffic setting. |
SHOPIFY_ADAPTER_HTTP_FAILED
|
adapter | platform / Shopify | Verify Shopify and egress health, then retry using the bounded operation/status receipt. |
SHOPIFY_ADAPTER_GRAPHQL_FAILED
|
adapter | configuration | Verify the pinned API contract, token scopes, and query complexity. |
SHOPIFY_ADAPTER_RESPONSE_INVALID
|
adapter | platform / Shopify | Block parity and investigate the malformed or unsafe upstream contract. |
SHOPIFY_ADAPTER_USER_ERROR
|
adapter | buyer state | Refresh catalog/cart state and show bounded guidance before retrying. |
SHOPIFY_CART_SESSION_MISSING
|
adapter | application | Create a cart, apply its secret HttpOnly cookie, then retry the mutation. |
SHOPIFY_CHECKOUT_URL_INVALID
|
adapter | platform / Shopify | Block checkout and cutover until the HTTPS handoff is repaired. |
SHOPIFY_CUSTOMER_DISCOVERY_FAILED
|
adapter | configuration | Verify the merchant domain, HTTPS, egress policy, and Customer Account configuration. |
SHOPIFY_OAUTH_STATE_MISMATCH
|
adapter | security | Reject the callback, consume the attempted session, and restart authorization. |
SHOPIFY_APP_ADAPTER_MISSING
|
migration | implementation | Implement and test the observed app capabilities or keep cutover blocked. |
SHOPIFY_APP_CAPABILITY_UNSUPPORTED
|
migration | implementation | Add deterministic coverage for every missing app capability; do not waive it. |
SHOPIFY_THEME_AUTHORIZATION_REQUIRED
|
migration | security | Obtain and audit merchant authorization plus source-rights confirmation before Admin theme access. |
SHOPIFY_THEME_APP_STORE_APPROVAL_REQUIRED
|
migration | distribution | Keep theme-source import on a merchant-owned custom app unless Shopify approves the reviewed public-app flow in writing. |
SHOPIFY_THEME_MAIN_UNAVAILABLE
|
migration | source state | Wait for Shopify to expose one fully processed published MAIN theme, then retry. |
SHOPIFY_THEME_SOURCE_LIMIT_EXCEEDED
|
migration | safety limit | Stop the import and reduce the source or use a reviewed lower-fidelity path; keep the hard ceilings. |
SHOPIFY_THEME_SOURCE_INVALID
|
migration | integrity | Do not reconstruct or cut over; verify the Admin contract and repeat a stable authorized import. |
SHOPIFY_THEME_APP_DEPENDENCY
|
migration | implementation | Build and test a headless adapter plus parity journey for the referenced theme-app behavior. |
SHOPIFY_THEME_DEPENDENCY_SCAN_FAILED
|
migration | evidence | Repair or review the named JSON source and repeat detection; do not assume no app dependency exists. |
SHOPIFY_THEME_LICENSE_REVIEW_REQUIRED
|
migration | legal / licensing | Retain proof of rights and obtain legal or theme-vendor clearance before using reconstructed source. |
THEME_COMPILER_INPUT_INVALID
|
analyzer | source contract | Repeat the authorized import and pass the unmodified v1 bundle. |
THEME_COMPILER_INPUT_LIMIT_EXCEEDED
|
analyzer | safety limit | Reduce or review the source; do not raise the hard safety ceiling. |
THEME_COMPILER_SOURCE_DIGEST_MISMATCH
|
analyzer | integrity | Discard the bundle and repeat a stable authorized import. |
THEME_COMPILER_LIQUID_PARSE_FAILED
|
migration | Liquid source | Repair or implement the named construct, then reanalyze. |
THEME_COMPILER_ANALYSIS_LIMIT_EXCEEDED
|
migration | evidence limit | Review the named document; a retained prefix cannot pass. |
THEME_COMPILER_JSON_PARSE_FAILED
|
migration | theme JSON | Repair the named document and repeat analysis. |
THEME_COMPILER_MISSING_REFERENCE
|
migration | theme topology | Restore the exact referenced file or repair the reference. |
THEME_COMPILER_DYNAMIC_REFERENCE
|
migration | runtime resolution | Implement and fixture the resolution rule before Preview. |
THEME_COMPILER_UNKNOWN_CONSTRUCT
|
migration | Liquid compatibility | Classify and implement the construct before Preview. |
THEME_COMPILER_SHOPIFY_RUNTIME_REQUIRED
|
migration | Shopify runtime | Implement each named construct with Shopify-backed fixtures. |
THEME_COMPILER_APP_RUNTIME_REQUIRED
|
migration | app runtime | Build a tested headless adapter for every observed capability. |
THEME_COMPILER_JAVASCRIPT_RUNTIME_REQUIRED
|
migration | theme JavaScript | Review the exact local bytes, package them under the fixed same-origin browser policy, and verify behavior in Preview. |
THEME_COMPILER_EXTERNAL_RUNTIME_REQUIRED
|
migration | external dependency | Adapt or explicitly retain the dependency with parity evidence. |
THEME_COMPILER_SOURCE_BLOCKER
|
migration | source import | Resolve the upstream blocker and repeat the authorized import. |
THEME_COMPILER_SOURCE_WARNING
|
migration | review evidence | Complete the named review and retain evidence before cutover. |
THEME_COMPILER_COMPILE_INPUT_INVALID
|
compiler | input contract | Pass the unchanged verified inputs from the registered Shopify workflow. |
THEME_COMPILER_COMPATIBILITY_BLOCKED
|
migration | compatibility | Resolve every retained blocker or warning before compilation. |
THEME_COMPILER_TEMPLATE_UNSUPPORTED
|
migration | theme topology | Qualify the exact template or section topology before retrying. |
THEME_COMPILER_LIQUID_UNSUPPORTED
|
migration | Liquid compatibility | Implement and qualify the exact Shopify semantics before retrying. |
THEME_COMPILER_ASSET_REVIEW_REQUIRED
|
migration | executable asset | Record checksum-bound approval for the reviewed theme JavaScript. |
THEME_COMPILER_ASSET_UNSAFE
|
migration | asset policy | Remove the construct or provide a reviewed adapter without weakening policy. |
THEME_COMPILER_SECRET_DETECTED
|
compiler | security | Rotate exposed credentials, remove them from source, and re-import. |
THEME_COMPILER_RENDER_FAILED
|
compiler | rendering | Repair the named construct; never deploy a partial artifact. |
THEME_COMPILER_OUTPUT_LIMIT_EXCEEDED
|
migration | safety limit | Reduce or segment the source under a reviewed compiler change. |
THEME_COMPILER_PACKAGE_INPUT_INVALID
|
compiler | package contract | Send the exact bounded v1 contract and keep provider configuration server-only. |
THEME_COMPILER_PACKAGE_SIGNING_FAILED
|
compiler | signing | Restore the migration signing service and package the same immutable input again. |
THEME_COMPILER_PACKAGE_INTEGRITY_FAILED
|
compiler | integrity | Discard the package and rebuild it from the authorized immutable source. |
THEME_COMPILER_PROVIDER_UNAVAILABLE
|
runtime | Shopify provider | Restore the sealed provider configuration or Shopify connectivity before Preview. |
THEME_COMPILER_PROVIDER_RESPONSE_INVALID
|
runtime | provider contract | Repair the provider against the exact v1 response contract and retry. |
THEME_COMPILER_CUSTOMER_ACCOUNT_UNAVAILABLE
|
runtime | Customer Account connection | Restore the verified classic or new customer-account configuration and Shopify connectivity before account testing. |
THEME_COMPILER_CUSTOMER_ACCOUNT_SESSION_INVALID
|
runtime | Customer Account session | Restart sign-in on the exact Preview origin; investigate repeated failures before launch. |
THEME_COMPILER_CUSTOMER_ACCOUNT_UI_UNVERIFIED
|
migration | account parity | Complete the account routes and a real login test run before cutover. |
MIGRATION_INVALID_REQUEST
|
orchestrator | caller | Correct the v1 request or state; use a new migration id if immutable input changed. |
MIGRATION_LINEAGE_UNVERIFIED
|
orchestrator | control-plane trust | Repair or reauthorize the actor, rights, capture, connection, template, workflow, runtime, or gate record; no migration state is created. |
MIGRATION_IDEMPOTENCY_CONFLICT
|
orchestrator | caller / state | Inspect the existing migration and use a new id for different immutable input. |
MIGRATION_NOT_FOUND |
orchestrator | caller | Verify the organization-scoped migration id. |
MIGRATION_STATE_CONFLICT
|
orchestrator | state | Reload the latest revision and reconcile again. |
MIGRATION_BUSY |
orchestrator | state | Wait for the bounded writer lock to clear, then retry. |
MIGRATION_RECEIPT_INVALID
|
orchestrator | platform / phase | Repair the owning phase and rerun the same operation; never substitute unpinned evidence. |
MIGRATION_STAGE_FAILED
|
orchestrator | platform / phase | Use the correlation id to repair the dependency, then resume the same phase. |
MIGRATION_STORAGE_FAILED
|
orchestrator | platform | Stop reconciliation and restore the private durable repository before retrying. |
SHOPIFY_MIGRATION_WORK_INVALID
|
Shopify worker | work source | Repair the organization-scoped ready-work item or worker configuration before polling again. |
SHOPIFY_MIGRATION_RUNTIME_CONFIG_INVALID
|
Shopify worker | runtime configuration | Repair the private built-in runtime paths, trust documents, and mounted secrets before restarting the worker. |
SHOPIFY_MIGRATION_RUNTIME_DEPENDENCY_UNAVAILABLE
|
Shopify worker | runtime dependency | Restore PostgreSQL or the authenticated control-plane bridge; never bypass the startup or phase gate. |
SHOPIFY_MIGRATION_CREDENTIAL_INVALID
|
Shopify worker | theme credential | Refresh Shopify authorization and reacquire source import; never persist the returned token. |
SHOPIFY_MIGRATION_REVIEW_AUTHORITY_INVALID
|
Shopify worker | review authority | Mount the approved Ed25519 review key, align both compiler trust authority sets, and retry the exact execution. |
SHOPIFY_MIGRATION_RUNTIME_CREDENTIAL_INVALID
|
Shopify worker | Storefront credential | Re-provision the managed Storefront runtime and reacquire candidate deployment. A legacy v1.0 run may instead need its legacy private token rotated. Never persist the token or encoded configuration. |
SHOPIFY_MIGRATION_CONTROL_PLANE_INVALID
|
Shopify worker | control-plane bridge | Restore the HTTPS bridge and internal-token configuration before starting the worker. |
SHOPIFY_COMMERCE_HARNESS_CONFIG_INVALID
|
Shopify commerce checks | configuration | Commerce checks are misconfigured. TellWang repairs them; retry later or contact support. |
SHOPIFY_COMMERCE_HARNESS_AUTHENTICATION_FAILED
|
Shopify commerce checks | authentication | Commerce checks could not authenticate. TellWang repairs the credential; retry later or contact support. |
SHOPIFY_COMMERCE_HARNESS_REQUEST_INVALID
|
Shopify commerce checks | request | Submit the closed v1 request for the exact current Preview deployment. |
SHOPIFY_COMMERCE_HARNESS_PREVIEW_ORIGIN_BLOCKED
|
Shopify commerce checks | network policy | Use the owned public HTTPS Preview origin and approved external handoffs. |
SHOPIFY_COMMERCE_HARNESS_BROWSER_UNAVAILABLE
|
Shopify commerce checks | browser runtime | The commerce-check browser is unavailable. TellWang restores it; retry later or contact support. |
SHOPIFY_COMMERCE_HARNESS_ADAPTER_INVALID
|
Shopify commerce checks | adapter integrity | The pinned adapter for this dependency failed its integrity check. TellWang reinstalls it; retry later or contact support. |
SHOPIFY_COMMERCE_HARNESS_RUN_FAILED
|
Shopify commerce checks | execution | Repair the Preview behavior or adapter, then rerun the complete suite. |
SHOPIFY_MIGRATION_ARTIFACT_INVALID
|
Shopify worker | artifact | Quarantine the artifact and repeat its producing stage under a new fenced lease. |
SHOPIFY_MIGRATION_ROUTE_INPUT_INVALID
|
Shopify worker | routes | Regenerate complete provider and reference-capture segments with exact source lineage. |
SHOPIFY_MIGRATION_DEPLOYMENT_INVALID
|
Shopify worker | Preview release | Repair the deployer and repeat the exact current candidate; do not promote it. |
SHOPIFY_MIGRATION_EVIDENCE_INVALID
|
Shopify worker | evidence | Repeat independent evidence collection against the exact current Preview deployment. |
SHOPIFY_MIGRATION_EVIDENCE_CAPTURE_UNAVAILABLE
|
Shopify worker | capture | Restore the capture worker and repeat exact Preview evidence. |
SHOPIFY_MIGRATION_EVIDENCE_LINEAGE_INVALID
|
Shopify worker | lineage | Repair durable capture lineage; never substitute another capture. |
SHOPIFY_MIGRATION_COMMERCE_EVIDENCE_BLOCKED
|
Shopify worker | commerce | Repair every required flow or dependency and rerun the full suite. |
SHOPIFY_MIGRATION_GATE_PROFILE_INVALID
|
Shopify worker | parity policy | Restore the exact pinned marketplace gate profile. |
SHOPIFY_MIGRATION_PARITY_EXECUTION_FAILED
|
Shopify worker | parity | Restore exact evidence artifacts and rerun without weakening the gate. |
MIGRATION_THEME_ANALYSIS_INCOMPLETE
|
migration gate | source / analyzer | Repair the named source or limit and repeat complete analysis. |
MIGRATION_REFERENCE_CAPTURE_FAILED
|
migration gate | capture | Inspect correlation-bound worker evidence, repair capture, and resume the same phase. |
MIGRATION_REFERENCE_COVERAGE_INCOMPLETE
|
migration gate | capture | Continue bounded capture until the declared route frontier is complete. |
MIGRATION_SHOPIFY_REFERENCE_CAPTURE_PENDING
|
journey gate | capture | Wait for the durable source-bound browser capture to finish; the journey stays blocked and does not claim import work is running. |
MIGRATION_SHOPIFY_REFERENCE_CAPTURE_FAILED
|
journey gate | capture | Inspect the capture's registered error code. When Shopify storefront access is required, enter the Online Store password in Import to restart this same capture. No import execution was admitted. |
MIGRATION_SHOPLINE_SOURCE_IMPORT_PENDING
|
journey gate | source import | Shopline authorization and Storefront access are ready and the catalogue read has not run yet. The control-plane reconciler picks it up within a couple of minutes; no import or editable-Wok claim has been made. |
MIGRATION_SHOPLINE_SOURCE_IMPORT_FAILED
|
journey gate | source import |
The Shopline catalogue could not be read with the stored grant.
Re-authorize the Shopline app with the full migration scope set
(it needs read_products), then resume the journey.
|
MIGRATION_SHOPLINE_ANALYZE_PENDING
|
journey gate | source analyze | A complete Shopline reference capture is being promoted into the shared immutable execution lineage. No merchant action is needed; the signed workflow starts after the capture and template pins verify. |
MIGRATION_SHOPIFY_REFERENCE_COVERAGE_INCOMPLETE
|
journey gate | route coverage | Complete route inventory and reconciliation before making a parity claim. |
MIGRATION_SHOPIFY_ROUTE_UNIVERSE_PENDING
|
journey gate | route discovery | Let sitemap, provider, and browser discovery seal the immutable route universe. |
MIGRATION_SHOPIFY_ROUTE_UNIVERSE_INCOMPLETE
|
journey gate | route discovery | Repair incomplete route discovery and create a fresh capture aggregate. |
MIGRATION_SHOPIFY_REFERENCE_SEGMENTS_PENDING
|
journey gate | capture | Wait for every bounded segment; aggregate coverage cannot advance early. |
MIGRATION_SHOPIFY_PREVIEW_AUDIT_UPGRADE
|
internal audit | Preview to full audit | No action. TellWang keeps the editable Preview available and replaces its sampled execution with the completed route audit. |
MIGRATION_SHOPIFY_REFERENCE_AUDIT_PENDING
|
journey gate | full-route audit | No action. The editable Preview is ready to test while TellWang continues the full route audit required for launch. |
MIGRATION_SHOPIFY_REFERENCE_SEGMENTS_FAILED
|
journey gate | capture | Transient upstream and timeout failures retry automatically. If three attempts are exhausted or evidence is invalid, repair and resume the exact failed route segment before launch parity. |
MIGRATION_SHOPIFY_CONNECTION_REVOKED
|
journey gate | connection revocation | Shopify access was disconnected or replaced by a newer authorization. Reconnect or confirm the exact current store from the existing journey. TellWang archives only secret-free lineage digests, invalidates the old source capture and execution, and starts a fresh capture and re-import. |
MIGRATION_PROVIDER_SOURCE_IMPORT_PENDING
|
journey gate | provider source | Import the authorized Shopify theme and admit an execution only after its signed policy and immutable lineage pins exist. |
MIGRATION_SHOPIFY_EXECUTION_ADMISSION_PENDING
|
journey gate | worker admission | Verify managed Storefront access and the published Shopify migration template, then resume. |
MIGRATION_SHOPIFY_RUNTIME_CONNECTION_PENDING
|
journey gate | Storefront runtime | Retry automatic v1.1 managed Storefront provisioning on the exact Shopify connection. Merchant token entry and reapproval are not required. |
MIGRATION_SHOPIFY_PREVIEW_WAKING
|
journey gate | Preview startup | No merchant action is needed. TellWang wakes the exact sleeping Preview and retries without discarding its capture or Shopify connections. |
MIGRATION_SHOPIFY_TEMPLATE_UNAVAILABLE
|
journey gate | Marketplace template | Publish the reviewed Shopify template and its signed base runtime. |
MIGRATION_SHOPIFY_LINEAGE_INVALID
|
journey gate | immutable lineage | Repair or restart the changed pre-execution record. Never fabricate a source or theme pin. |
MIGRATION_SHOPIFY_POLICY_SIGNING_UNAVAILABLE
|
journey gate | policy signing | Restore the Marketplace signing and verification keys before resuming. |
MIGRATION_DEPENDENCY_EVIDENCE_INCOMPLETE
|
migration gate | capture | Observe every live dependency and retain its digest-bound evidence. |
MIGRATION_SHOPIFY_CUSTOMER_ACCOUNT_PENDING
|
journey gate | Customer Account connection | Let Import detect and connect the live store's account mode on the exact Preview, then resume admission. |
MIGRATION_SHOPIFY_COMMERCE_ADAPTERS_PENDING
|
launch gate | TellWang platform adapter |
No merchant action. The preflight receipt lists Customer
Accounts, known app capabilities, and genuinely unknown live
dependencies. Requests from one known app collapse into one
capability. TellWang must implement, review, and publish its
adapter before a launch-complete migration. Legacy reduced
catalog_templates receipts remain readable, but new
executions wait for every exact catalog route and never report
excluded apps as working.
Recognizing an app is not evidence that it works headlessly.
|
MIGRATION_BROWSERTRIX_ORACLE_REQUIRED
|
migration gate | capture / platform | Restore Browsertrix and retain a verified WACZ receipt for the exact capture. |
MIGRATION_RUNTIME_COMPILATION_NOT_READY
|
migration gate | compiler | Implement remaining constructs and produce an explicit pinned runtime artifact receipt. |
MIGRATION_DEPLOYMENT_NOT_IMMUTABLE_CURRENT
|
migration gate | deployment | For a Wok Preview, redeploy and attest the exact immutable runtime. For a Woo passthrough edge, reattest the exact canonical Host, edge deployment/routing digest, protected origin, and policy. |
MIGRATION_EVIDENCE_ATTESTATION_REQUIRED
|
migration gate | evidence / control plane | Verify the trusted producer's attestation over the exact candidate evidence. |
MIGRATION_COMMERCE_RECEIPTS_INCOMPLETE
|
migration gate | candidate | Run product, variant, cart, and checkout flows against the exact versioned launch candidate and retain identity-bound passing receipts. |
MIGRATION_PARITY_GATE_FAILED
|
migration gate | candidate | Repair every reported mismatch and recapture evidence before rerunning parity. |
MIGRATION_PROVIDER_DRIVER_UNAVAILABLE
|
migration gate | provider driver | The matching Shopify, Shopline, or WooCommerce driver is unavailable, so readiness stays false. Retry later or contact support. |
MIGRATION_PROVIDER_AUTHORIZATION_PENDING
|
migration gate | provider authorization | Complete merchant authorization and source-right checks, then resume. |
MIGRATION_PROVIDER_SOURCE_INVALID
|
migration gate | provider source | Discard the evidence and repeat the authorized source import. |
MIGRATION_PROVIDER_COMPATIBILITY_BLOCKED
|
migration gate | compatibility | Implement every reported construct. Woo may retain a verified source-passthrough route; Shopify may use only a registered provider-owned checkout, account, or extension handoff. |
MIGRATION_ROUTE_RECONCILIATION_INCOMPLETE
|
migration gate | route coverage | Continue resumable route reconciliation before compilation. |
MIGRATION_TEMPLATE_INVALID
|
Marketplace contract | publisher | Reject the manifest and regenerate it from the registered first-party migration-template builder. |
MIGRATION_TEMPLATE_DIGEST_MISMATCH
|
Marketplace integrity | artifact | Treat the template as modified and retrieve the immutable catalog object again. |
MIGRATION_TEMPLATE_SIGNATURE_INVALID
|
Marketplace security | signing key | Reject the template and verify the retained Ed25519 Marketplace signing-key record. |
CP_MIGRATION_TEMPLATE_VERSION_EXISTS
|
Marketplace contract | immutable version | Keep the existing bytes or submit changed pins under a new version. |
CP_MIGRATION_TEMPLATE_NOT_FOUND
|
Marketplace contract | catalog | List the matching moderation queue or authenticated catalog before retrying. |
CP_MIGRATION_TEMPLATE_BAD_STATE
|
Marketplace moderation | state transition | Reload the moderation record and use a transition valid for its current state. |
CP_MIGRATION_TEMPLATE_DEPENDENCY_UNAVAILABLE
|
Marketplace publication | dependency pins | TellWang restores the exact trusted Shopify pins and their digest-identical signed artifacts. Retry later or contact support. |
CP_MIGRATION_TEMPLATE_SIGNING_UNAVAILABLE
|
Marketplace security | signing material | Restore the Marketplace Ed25519 signing key and retained verification keyring. |
PARITY_MANIFEST_INVALID
|
gate | capture | Repeat the supported reference capture and retain its unmodified manifest. |
PARITY_CANDIDATE_INVALID
|
gate | candidate | Regenerate deterministic Preview evidence against contract v1. |
PARITY_POLICY_INVALID
|
gate | configuration | Supply every v1 threshold with a finite in-range value. |
PARITY_REFERENCE_COVERAGE_INCOMPLETE
|
gate | capture | Continue or repeat a capped or failed reference crawl; partial evidence cannot pass. |
PARITY_ROUTE_COVERAGE
|
gate | candidate | Supply exactly one candidate row for every required reference route. |
PARITY_ARTIFACT_MISSING
|
gate | storage | Restore the private artifact; never substitute unreceipted bytes. |
PARITY_ARTIFACT_INTEGRITY
|
gate | storage | Regenerate evidence and investigate digest, size, containment, or path failures. |
PARITY_ARTIFACT_INVALID
|
gate | producer | Repeat deterministic capture with the supported evidence producer. |
PARITY_EVIDENCE_INCOMPLETE
|
gate | producer | Repeat capture with enough capacity; never compare a retained prefix as complete evidence. |
PARITY_HTTP_STATUS |
gate | candidate | Restore captured route, status, and redirect behavior. |
PARITY_SCREENSHOT_DIMENSIONS
|
gate | candidate | Restore the responsive full-page dimensions before pixel comparison. |
PARITY_SCREENSHOT_PIXEL_DELTA
|
gate | candidate | Inspect the named route and viewport using the report's pixel metrics. |
PARITY_DOM_LANDMARKS
|
gate | candidate | Restore missing headings, regions, links, forms, images, and controls. |
PARITY_SCROLL_TRACE |
gate | candidate | Restore document height, reach, fixed/sticky elements, transforms, and opacity behavior. |
PARITY_INTERACTION_INVENTORY
|
gate | candidate | Restore missing or unexpected controls and destinations. |
PARITY_INTERACTION_OUTCOMES_MISSING
|
gate | evidence | Run the same bounded interaction script against reference and Preview. |
PARITY_INTERACTION_OUTCOMES
|
gate | candidate | Restore the failed state change and record fresh evidence. |
PARITY_NETWORK_FAILURES
|
gate | candidate | Repair failed requests or error responses, then recapture Preview. |
PARITY_CONSOLE_FAILURES
|
gate | candidate | Repair first-party console errors, then recapture Preview. |
PARITY_COMMERCE_RECEIPT_MISSING
|
gate | evidence | Run the exact product, variant, cart, checkout, account, app, or dependency flow. |
PARITY_COMMERCE_RECEIPT_FAILED
|
gate | candidate | Repair the commerce flow and generate a new durable receipt. |
PARITY_COMMERCE_RECEIPT
|
gate | none | The named commerce receipt passed; no action is required for that check. |
CP_AGENT_CELL_COMPLETION_EVALUATION_FAILED
|
500 | platform/model | The independent completion model could not return a valid verdict after one bounded retry for a recoverable failure. TellWang failed closed instead of marking an unevaluated goal successful and published no unevaluated model text. Check model-gateway health and balance before retrying the run. |
CP_AGENT_CELL_COMPLETION_STORE_FAILED
|
500 | platform | TellWang obtained a completion verdict but could not persist its audit record. Restore the control-plane database and verify migration 0139 before retrying. |
CP_AGENT_CELL_INCOMPLETE_RESPONSE
|
500 | platform/model | The completion boundary still found the goal unfinished after one bounded continuation. This may be an independent model verdict or a deterministic missing-write, routine-permission, or exact-tool-evidence check. Review the safe tool progress, then send a precise continuation; incomplete model-authored narration and private judge prose are not published. |
CP_AGENT_CELL_NO_PROGRESS
|
500 | platform/model | Wang repeated an inspection loop after TellWang had already stopped it once and directed it back to the retained checkout. The chat, checkout, and completed work remain intact; review the progress ledger and send a precise continuation. |
CP_AGENT_CELL_RECONCILE_FAILED
|
503 | platform/agent | An entitled Agent Cell lifecycle or worker is missing, failed, or outdated; a typed reasoning/narration row is malformed; or a marked final answer is not joined to a completed Runtime-v3 run. Inspect Agent Cell status, typed-stream classification, publication state, and logs; transcript-boundary drift must remain hidden until investigated. |
CP_DB_QUERY_FAILED |
500 | platform |
TellWang's database returned an error. Check
GET /v1/diag
and file a ticket with correlation_id.
|
CP_ANALYTICS_CLIENT_IP_UNTRUSTED
|
warning | platform | The analytics edge cannot verify the visitor address. Country data is paused until TellWang fixes the route. |
CP_BILLING_EVENT_UNRESOLVED
|
500 | platform | A signed Stripe subscription event could not be mapped safely. Its transaction and dedup marker were rolled back so Stripe can retry; reconcile the organization metadata and configured Price mapping. |
CP_DUMP_DB_NOT_READY
|
503 | state |
PostgreSQL did not become ready for an export or operation.
Suspended-Wok exports start only the database and stop it again
afterward. Retry; if persistent, check
/diag/wok/{id}.
|
CP_EXEC_SQL_FAILED |
502 | state |
The docker-exec call into the wok's db container failed (often
because it's restarting). Retry; if persistent, hit
/diag/wok/{id}.
|
CP_LLM_UPSTREAM_FAILED
|
502 | platform | The private LLM upstream returned an invalid response or timed out. Check upstream health and retry. |
CP_LLM_USAGE_ADMISSION_UNRESOLVED
|
503 / diag | platform | A prior TellWang-funded model call may have reached its provider without trustworthy final usage. Its reservation stays held; reconcile that provider outcome before retrying model spend. |
CP_LLM_NOT_CONFIGURED
|
503 | platform | The credential for the selected model route is missing from the platform secrets backend. |
CP_BRAND_VOICE_FETCH_FAILED |
502 | site | TellWang could not read the public brand website. Confirm the domain is public and reachable over HTTPS, then retry. |
CP_BRAND_VOICE_CRAWL_TIMEOUT |
504 | site | The website did not finish loading within the bounded Brand voice crawl window. Retry after the site responds normally. |
CP_BRAND_VOICE_NOT_CONFIGURED |
503 / diag | platform | The Google AI Overview or ChatGPT Search collector is not configured. Retry later or contact support. |
CP_BRAND_VOICE_UPSTREAM_FAILED |
502 | provider | The credentials exist, but neither live AI surface returned an answer. Retry after Google and OpenAI are responding normally. |
CP_EMAIL_UPSTREAM_FAILED
|
502 | platform |
The Resend API call failed. The message echoes
Resend's status. Common cause: the sending domain hasn't been
verified yet.
|
CP_EMAIL_MTA_DNS_MISROUTED |
diagnostic | platform | The shared inbound MX target is proxied or points away from the configured mail origin. Publish mx.tellwang.com as DNS-only and remove stale AAAA records before testing inbound mail again. |
CP_EMAIL_FORWARD_* |
409 / warning | Wok | Automatic forwarding rejected a loop, lacks a verified sender domain or original RFC 822 message, found invalid MIME, or exhausted bounded provider retries. Inspect /diag/wok/{id}; inbox copies remain intact. |
CP_EMAIL_RAW_* |
409 / 422 | Wok | The selected Inbox message has no exact retained RFC 822 object, or its MIME cannot be decoded safely. The readable body remains available; Lollipop never returns a partial attachment as complete. |
CP_EMAIL_ATTACHMENT_NOT_FOUND |
404 | Wok | The attachment is no longer in the selected message. Refresh the message and choose from its current attachment list. |
CP_DOMAIN_UPSTREAM_FAILED
|
502 | platform |
Cloudflare Registrar or DNS API call failed. The
message echoes CF's response.
|
CP_DOMAIN_CANONICAL_DRIFT
|
warning | platform | A verified custom-domain Wok still has SEO URLs or a platform website route that disagrees with its canonical host. Re-run verification or re-attach the verified domain. |
CP_DOMAIN_CANONICAL_SYNC_FAILED
|
warning | platform | TellWang preserved the binding and prior valid edge configuration, but could not finish canonical SEO or redirect reconciliation. Repair the named frontend or edge error, then retry verification or re-attach the domain. |
CP_PAY_CAP_REACHED |
403 | Project | Paid amounts and active 45-minute reservations would exceed the unverified Project gateway's $1,000 total cap or $600 card sub-cap. Complete Stripe-managed verification or wait for an abandoned reservation to expire. |
CP_SECURITY_INVARIANT_FAILED |
503 / diag | platform | Canonical domain ownership or unverified payment-cap accounting no longer reconciles. TellWang pauses these actions and investigates; contact support. |
CP_FUNCTIONS_NOT_ENABLED
|
503 | state |
This wok was provisioned before functions shipped and has no
functions_port allocated. The reconciler heals this
on its next sweep, or call
POST /v1/woks/{id}/restart to force it.
|
CP_HEAL_ARTIFACT_SNAPSHOT_FAILED
|
503 | platform |
TellWang could not measure the Wok's application artifacts
before repairing a missing runtime, so it refused to start the
repair. Check /v1/diag/wok/{id} and retry after the
read path is healthy.
|
CP_HEAL_RUNTIME_FAILED
|
500 | platform | Runtime-only recovery failed. The Wok was not marked active, and TellWang preserved the captured frontend and functions. |
CP_HEAL_ARTIFACT_DRIFT
|
500 | platform |
A runtime repair changed or could not reverify application
artifacts. TellWang stopped activation and restored the captured
frontend and functions; inspect
heal_artifact_integrity before retrying.
|
CP_PROMOTION_LINEAGE_MISMATCH
|
409 | state | The selected Preview is not linked to the requested Published Wok. Promote the target's own Preview instead of copying an unrelated Wok. |
CP_PROMOTION_SOURCE_NOT_CURRENT
|
409 | state | The required Preview deployment id and artifact digest are not the newest verified application release or no longer match live Preview. Fix and verify the newest attempt, then publish the id and digest from the same receipt. |
CP_HOST_ADMISSION_BLOCKED
|
503 / diag | capacity | New Wok placement or heavy maintenance was deferred because available disk, available memory, load, swap pressure, or the emergency container ceiling reached its safety limit. Releases retain priority; wait for pressure to fall or add host capacity. |
Private servers
Every paid plan runs on its own private server on Cherry Servers in US-Chicago; Scale + HA and Enterprise add a second server in LT-Siauliai. These codes come from setting up, recovering, resizing, migrating, and retiring those servers. Most describe a step TellWang handles for you.
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_LAUNCH_DISABLED | 503 | platform | TellWang is finishing setup of your private server. Retry later or contact support. |
CP_LAUNCH_CONFIG_INVALID | 503 | platform | Private server setup is incomplete. TellWang completes it; retry later or contact support. |
CP_LAUNCH_CONFIG_MISMATCH | 409 | state | The request does not match the approved locations, server profile, and image. TellWang never substitutes a different one silently. |
CP_LAUNCH_HOST_AUTH_FAILED | 401 | platform | A private server failed authentication with TellWang. TellWang re-enrolls it; no action is needed from you. |
CP_LAUNCH_HOST_FENCED | 409 | platform | A replaced server tried to report in. Only the current server set may report ready or serving, and TellWang stops the old one. |
CP_LAUNCH_INVALID_PLAN | 400 | caller | Supply every required desired-state, recovery, release, and acceptance input, then prepare a new plan. |
CP_LAUNCH_INVALID_STATE | 409 | state | Finish or cancel the current organization lifecycle operation first. An organization purge waits until its private infrastructure is destroyed or purged. |
CP_LAUNCH_LEASE_HELD | 409 | state | One recovery, resize, migration, or teardown already controls this organization. |
CP_LAUNCH_APPROVAL_REQUIRED | 409 | state | Inspect the operation and prepare a new immutable plan if its reviewed inputs changed. |
CP_LAUNCH_OPERATION_NOT_FOUND | 404 | caller | Use the current operation id from the organization's Launch history. |
CP_LAUNCH_OVERRIDE_NOT_ALLOWED | 403 | caller | Only the named owner or TellWang support can override this step. Record the consequence, reason, and evidence. |
CP_LAUNCH_CAPACITY_UNAVAILABLE | paused | platform | The approved server profile has no stock in that location. A recovery stopped here can be cancelled (nothing was created) and prepared again with primary_location set to a location with stock. |
CP_LAUNCH_INTEGRATION_UNAVAILABLE | paused | platform | A setup, backup, escrow, health, or edge step could not run. TellWang restores it and resumes; contact support if it persists. |
CP_LAUNCH_PLAN_TAMPERED | paused | platform | The plan changed after review and will not run. Cancel it and prepare a new reviewed plan; TellWang preserves the evidence. |
CP_LAUNCH_PROVIDER_UNAVAILABLE | paused | platform | The server provider is unreachable. TellWang resumes once it is back; replacement servers are never created on a guess. |
CP_LAUNCH_RECONCILE_FAILED | alert | platform | A lifecycle step failed to reconcile. TellWang investigates; contact support with the operation id. |
CP_LAUNCH_RECEIPT_MISSING | paused | platform | A provider or integration step did not return the evidence the plan requires. TellWang repairs it and resumes the same plan. |
CP_LAUNCH_RECEIPT_INVALID | paused | platform | A backup, escrow, setup, or edge receipt did not match its versioned contract. TellWang repairs it and resumes the same plan. |
CP_LAUNCH_RECOVERY_NOT_CORROBORATED | 409 | state | Leave the recovered organization running. Prepare a new plan only when the server’s signed heartbeat and the public edge both show failure, or TellWang support confirms it. |
CP_LAUNCH_RESOURCE_MATCH_AMBIGUOUS | paused | platform | A server resource could not be matched exactly, so TellWang will not delete it. TellWang support resolves the match. |
CP_LAUNCH_STEP_FAILED | failed | platform | A lifecycle step failed. TellWang repairs it before a reviewed retry; contact support with the operation id. |
CP_LAUNCH_STEP_PAUSED | paused | platform | A lifecycle step is paused until its condition clears, then the same plan resumes. |
CP_LAUNCH_STATE_INCONSISTENT | diagnostic | platform | Server resources or lifecycle stages are out of step, for example a resource still live after Destroy or Purge. TellWang reconciles them. |
CP_LAUNCH_TEARDOWN_WAITING | paused | state | Wait for the configured stage, or have the owner or TellWang support accept the acceleration consequence through the audited lifecycle action. |
CP_LAUNCH_RESIZE_ROLLBACK_WAITING | paused | state | The replacement is serving while the fenced old server set is retained through its configured rollback window. |
CP_LAUNCH_MIGRATION_BLOCKED | 409 | caller | Resolve each listed blocker (existing private infrastructure, an inactive Wok, database triggers, a missing or past maintenance window) and prepare the migration again. |
CP_LAUNCH_STEP_UNSUPPORTED | — | platform | This step is not supported for the operation. Roll back or cancel it, or contact support. |
CP_LAUNCH_PLAN_TOO_SMALL | 409 | caller | Your published apps need a larger server than this plan has. Nothing was charged; choose the plan the message names. |
CP_LAUNCH_PREVIEW_ONLY | 409 | caller | Publish at least one app before moving to a private server. Nothing was charged. |
CP_LAUNCH_RESIZE_UNAVAILABLE | 409 | caller | This plan changes the size or number of your private servers. Nothing was charged; contact TellWang support to arrange the move. |
CP_LAUNCH_ORG_PREFIX_COLLISION | 409 / paused | platform | This organization's private server is set up by TellWang support. Nothing was charged. |
CP_LAUNCH_PURGE_FAILED | — (retried or paused) | platform | Deleting retained backups did not finish. It is retried automatically. |
CP_LAUNCH_POWER_ON_FAILED | — (retried) | platform | Your private server is taking longer than usual to start. It is retried automatically. |
CP_LAUNCH_PLAN_UNAVAILABLE | 409 | caller | This operation is not available. Contact support. |
CP_SUBSCRIPTION_NOT_FOUND | 409 | caller | There is no active subscription to change. Start the plan with checkout. |
CP_SUBSCRIPTION_SAME_PLAN | 409 | caller | The organization is already on this plan. |
CP_BILLING_PAYMENT_FAILED | 402 | caller | The payment for the new plan did not go through, so the plan did not change. Update your card and try again. |
CP_LAUNCH_HUB_UNAVAILABLE | — | platform | The private network link to your server is unavailable. The step retries automatically. |
CP_LAUNCH_REPLICA_FAILED | — | platform | The standby database stopped replicating. The step retries and reseeds the standby. |
CP_LAUNCH_EDGE_FAILED | — | platform | Your server’s public edge could not be verified. If you manage the domain’s Cloudflare zone, set SSL to Full or Full (strict); the step retries or pauses. |
CP_LAUNCH_HEALTH_FAILED | — | platform | A health check failed (standby lag, edge, certificate expiry, disk, or a Wok not healthy after start). The step retries and pauses when it needs a person. |
CP_LAUNCH_SERVER_FULL | 409 | caller | Your private server has no room for another app. Delete an unused app, or move to the plan with the next larger server. |
CP_LAUNCH_HOST_UNREACHABLE | — | platform | Your private server is not responding. The step retries, and TellWang investigates if it persists. |
CP_LAUNCH_HOST_INSTALL_FAILED | — | platform | Server setup did not complete. TellWang fixes it and resumes. |
CP_LAUNCH_HOST_IDENTITY_MISMATCH | — | platform | A server did not prove its expected identity. TellWang treats it as untrusted, rolls back, and replaces it before retrying. |
CP_LAUNCH_BACKUP_UNAVAILABLE | — | platform | Backup storage for your server is unavailable. The step retries. |
CP_LAUNCH_ESCROW_INCOMPLETE | — | platform | A recovery-escrow item is missing. TellWang completes it and resumes; escrow never stores plaintext. |
CP_LAUNCH_SOURCE_UNAVAILABLE | — | platform | The source Wok could not be reached. The step retries. |
CP_LAUNCH_SOURCE_UNHEALTHY | — | platform | The source Wok’s REST service or routing is unhealthy. The step retries. |
CP_LAUNCH_MIGRATION_WINDOW_WAITING | paused | state | The private deployment is built and rehearsed; cutover waits for the agreed maintenance window. |
CP_LAUNCH_MIGRATION_ROLLBACK_WAITING | paused | state | The private deployment is serving; the previous copy stays read-only until the rollback window ends. |
CP_LAUNCH_MIGRATION_VERIFY_MISMATCH | paused | state | The private copy differs from the read-only source; inspect the named tables, then accept the difference or roll back. |
Managed RAG
| Code | HTTP | Fix side | Remediation |
|---|---|---|---|
CP_RAG_NOT_ENABLED |
409 | state |
Enable the optional runtime with
PUT /v1/woks/{id}/rag and wait for
status:"ready".
|
CP_RAG_DEPLOY_FAILED
|
502 | state / platform |
Inspect /diag/wok/{id} and the
rag-api plus rag-worker service logs.
|
RAG_INGESTION_IN_PROGRESS
|
409 | state | One atomic revision is already building. Poll its parent job to a terminal state before submitting the next manifest. |
RAG_FORBIDDEN |
403 | caller / policy | The caller lacks the required management or author role, or anonymous chat is disabled for this agent. Use the intended signed role, or deliberately enable anonymous access only for a public agent. |
RAG_RATE_LIMITED |
429 | caller | The end-user principal/client exceeded its one-minute retrieval, chat, generation, or insight allowance. Wait for the returned window; keep service-role calls server-side. |
RAG_INGESTION_BATCH_FAILED
|
job | caller / state | The old revision remains active. Repair the failed child documents, then retry with a new idempotency key. |
RAG_POLICY_FILTER_FAILED
|
500 / job | platform | Retrieval stopped before a model call because the SQL result and application policy disagreed. Disable the affected agent and reconcile the collection. |
RAG_NO_PERMITTED_SOURCES
|
job | caller | The signed user cannot read any requested source. Correct the document allow/deny policy or use the intended group and sensitivity ceiling. |
RAG_PARSE_TIMEOUT |
job | caller | The isolated parser exceeded its wall-clock or CPU budget. Inspect or convert the source, then submit a new atomic batch. |
RAG_UPSTREAM_FAILED |
502 / job | platform | The embedding, private model, or Storage service failed. Inspect the RAG API and worker logs, repair the named dependency, and retry; private picture evidence is never returned without a valid signed Storage link. |
RAG_MODEL_BUDGET_EXCEEDED
|
job | caller |
The governed map-reduce job reached
max_model_calls. Raise the bounded cap when the
cost is intentional, or partition the corpus.
|
Beyond this list
CP_LOLLIPOP_AUDIT_QUESTION_CONFIRMATION_REQUIRED asks the owner to review the inferred buyer questions and exact backlink-discovery plan before any answer source is sampled. It also stops Optimize when the selected Site has no owner-approved questions, or when its retained discovery-plan inputs, version, or provider mode no longer match. CP_LOLLIPOP_AUDIT_QUESTION_DRAFT_EXPIRED asks for a fresh question draft when the prior draft expired, was superseded, or was already used. CP_LOLLIPOP_AUDIT_ANSWERS_FAILED also means a required stale-audit refresh stopped before Optimize began; retrying starts no duplicate optimization. CP_LOLLIPOP_UNLINKED_MENTIONS_PARTIAL means backlink discovery did not establish usable complete coverage: public engines may have produced no external candidate, paid-provider admission or a selected Google Organic/backlink-index request may have failed, or a discovered page could not be read and verified. A legacy audit marked complete with zero usable results is treated as degraded. The report keeps successful discoveries, separate Needs-verification index evidence, and the exact primary, conditional backup, provider, and page-verification coverage; an empty list is not proof that no backlinks exist. The audit score and answer evidence remain valid, and /v1/diag reads the latest durable shared semantic outcome separately from endpoint configuration. CP_LOLLIPOP_AUDIT_COMPETITOR_METADATA_PARTIAL means one or more exact safe citation pages did not return readable public metadata or content; the competitor review keeps the citation title and domain fallback. CP_LOLLIPOP_AUDIT_COMPETITOR_REVIEW_REQUIRED means the owner must select at least one candidate under Are these your competitors?. If none apply, that audit remains hidden, scheduled audits and Optimize stay paused, and the first audit must be run again. CP_LOLLIPOP_SAMPLING_NO_QUERIES asks the owner to add a buyer question before sampling. CP_LOLLIPOP_SAMPLING_MARKET_REQUIRED asks the owner to save the country, city, or region Google AI Overview should measure; this is rejected before queueing or credit debit. Same-named supported markets open a canonical location chooser instead of failing. CP_LOLLIPOP_SAMPLING_LOCATION_UNMATCHED means no supported location matched after applying the Site-domain and fully written country hints; check the spelling or search again with the country. CP_LOLLIPOP_SAMPLING_LOCATION_CATALOG_UNAVAILABLE means the server could not read Google's supported-location catalog; retrying does not duplicate or charge an audit. CP_LOLLIPOP_SAMPLING_NOT_CONFIGURED means no supported visibility source is ready; native Naver AI Briefing needs no credential, while OpenAI, DeepSeek, Google AI Overview, and Naver Search depend on their server-owned collector credentials. Credentials never belong in the browser. CP_LOLLIPOP_SAMPLING_PARTIAL means some question-and-source checks succeeded while others failed; only successful checks are billed, and only successful answer checks enter the two AI percentages. CP_LOLLIPOP_SAMPLING_FAILED means every configured collector failed or its result could not be retained. Failed provider calls are refunded before the run is marked failed.
CP_LOLLIPOP_BACKLINK_PITCH_NOT_READY means the editorial opportunity has no current public contact-email provenance. Run a fresh Site audit instead of guessing an address. CP_LOLLIPOP_BACKLINKS_INCONSISTENT is a platform diagnostic: backlink storage is unavailable, the retained Project/Site scope is broken, or a pitch no longer matches its contact evidence. TellWang repairs the reported record; Lollipop never sends or invents a replacement address.
For every other code emitted by TellWang, the response envelope's
hint field gives the same remediation a customer support
reply would. Hits to /diag (see
Diagnostics) are
the canonical "what's wrong" surface; correlation_id ties
a single request across TellWang's logs and the audit log.