{"record":{"id":"996cd5480eb9fe95","repo":"temporalio/temporal","slug":"unknown-archetypeid-v","errorCode":null,"errorMessage":"unknown archetypeID: %v","messagePattern":"unknown archetypeID: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"service/worker/migration/activities.go","lineNumber":1312,"sourceCode":"\t\t//  WorkflowArchetype here.\n\t\treturn chasm.WorkflowArchetype, nil\n\t}\n\n\t// chasm activity and nexus operation libraries are not registered on worker service, so hardcoding\n\t// the mapping here for now.\n\t// TODO: Accept archetypeID in admin apis directly and remove this translation logic which relies on\n\t// chasm registry.\n\tif archetypeID == chasmactivity.ArchetypeID {\n\t\treturn chasmactivity.Archetype, nil\n\t}\n\tif archetypeID == chasmnexus.ArchetypeID {\n\t\treturn chasmnexus.Archetype, nil\n\t}\n\n\tarchetype, ok := a.chasmRegistry.ComponentFqnByID(archetypeID)\n\tif !ok {\n\t\tactivityInfo := activity.GetInfo(ctx)\n\t\terr := fmt.Errorf(\"unknown archetypeID: %v\", archetypeID)\n\t\ta.Logger.Error(\"force-replication failed to translate archetypeID to name\",\n\t\t\ttag.Error(err),\n\t\t\ttag.ArchetypeID(archetypeID),\n\t\t\ttag.WorkflowNamespace(activityInfo.WorkflowNamespace),\n\t\t\ttag.WorkflowID(activityInfo.WorkflowExecution.ID),\n\t\t\ttag.WorkflowRunID(activityInfo.WorkflowExecution.RunID),\n\t\t)\n\t\treturn \"\", err\n\t}\n\treturn archetype, nil\n}\n","sourceCodeStart":1294,"sourceCodeEnd":1324,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/service/worker/migration/activities.go#L1294-L1324","documentation":"In the force-replication activity that translates a CHASM component archetypeID to its fully-qualified name, the chasmRegistry lookup ComponentFqnByID failed. The activity logs a structured error with the archetypeID and workflow context and returns this error, causing the Temporal activity to fail (and be retried per its retry policy).","triggerScenarios":"An activity receives a request containing a CHASM archetypeID that is absent from the current chasm registry, e.g. a component type registered in a newer/older binary, so ComponentFqnByID returns ok=false.","commonSituations":"Version skew between clusters or services during a rolling upgrade where one side knows a newer CHASM component archetype and the worker's registry does not; stale workflow payloads referencing an archetype that was removed or renamed.","solutions":["Upgrade the worker/cluster binary so its CHASM registry includes the unknown archetypeID.","Verify the component was registered via its Register call; fix missing registration.","Check for version skew during rolling deploy — align deployments before running force-replication.","Inspect workflow history to identify which archetypeID is unknown and whether the payload is stale/corrupt."],"exampleFix":"// before\narchetype, ok := a.chasmRegistry.ComponentFqnByID(archetypeID)\nif !ok {\n    err := fmt.Errorf(\"unknown archetypeID: %v\", archetypeID)\n// after\narchetype, ok := a.chasmRegistry.ComponentFqnByID(archetypeID)\nif !ok {\n    return nil, temporal.NewNonRetryableApplicationError(fmt.Sprintf(\"unknown archetypeID: %v\", archetypeID), \"UnknownArchetype\")","handlingStrategy":"type-guard","validationCode":"// guard before calling the activity path that translates archetypeID\nif _, ok := chasmRegistry.ComponentFqnByID(archetypeID); !ok {\n    return fmt.Errorf(\"archetypeID %v not registered in this binary\", archetypeID)\n}","typeGuard":"func archetypeKnown(reg chasm.Registry, archetypeID chasm.ArchetypeID) bool {\n    _, ok := reg.ComponentFqnByID(archetypeID)\n    return ok\n}","tryCatchPattern":null,"preventionTips":["Keep worker and history deployments version-aligned so CHASM registries match.","Register all CHASM components at binary startup and add a startup test enumerating expected archetypes.","Avoid referencing archetypes from payloads produced by newer binaries until upgrade completes."],"tags":["go","temporal","chasm","registry","version-skew"],"backgroundTag":"unknown-archetype-id","analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}