{"record":{"id":"145059dae3d1dfd7","repo":"alibaba/nacos","slug":"agent-draft-version-must-differ-from-basedonversio","errorCode":null,"errorMessage":"Agent draft Version must differ from basedOnVersion","messagePattern":"Agent draft Version must differ from basedOnVersion","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":400,"severity":"error","filePath":"ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java","lineNumber":802,"sourceCode":"        if (draft.getStatus() != null\n            && !AiConstants.Agent.VERSION_STATUS_DRAFT.equals(draft.getStatus())) {\n            throw new IllegalArgumentException(\"Agent draft status must be draft\");\n        }\n        if (draft.getContentDigest() != null || draft.getCreateTime() != null\n            || draft.getUpdateTime() != null) {\n            throw new IllegalArgumentException(\n                \"Agent draft must not contain read-only projection fields\");\n        }\n        boolean directContent = draft.getCallInterfaces() != null;\n        boolean copiedContent = StringUtils.isNotBlank(basedOnVersion);\n        if (directContent == copiedContent) {\n            throw new IllegalArgumentException(\n                \"Agent draft must contain either callInterfaces or basedOnVersion\");\n        }\n        if (copiedContent) {\n            AgentValidationUtils.validateVersion(basedOnVersion);\n            if (draft.getVersion().equals(basedOnVersion)) {\n                throw new IllegalArgumentException(\n                    \"Agent draft Version must differ from basedOnVersion\");\n            }\n        }\n    }\n    \n    private AgentVersionDetail normalizeSubsequentDraft(String namespaceId, String agentName,\n        AgentVersionDetail source, List<AgentCallInterface> callInterfaces,\n        AgentVersionStorageDescriptor descriptor) {\n        AgentVersionDetail result = new AgentVersionDetail();\n        result.setNamespaceId(namespaceId);\n        result.setAgentName(agentName);\n        result.setVersion(source.getVersion());\n        result.setStatus(AiConstants.Agent.VERSION_STATUS_DRAFT);\n        result.setCallInterfaces(callInterfaces);\n        result.setAuthor(source.getAuthor());\n        result.setChangeDescription(source.getChangeDescription());\n        result.setContentDigest(descriptor.getContentDigest());\n        result.setCreateTime(0L);","sourceCodeStart":784,"sourceCodeEnd":820,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java#L784-L820","documentation":"Error \"Agent draft Version must differ from basedOnVersion\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java:802 when the library encounters an invalid state.","commonSituations":"Creating a draft whose version equals its basedOnVersion.","solutions":["Review the input and runtime state for agent draft version, correct the reported problem, and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b989acdf181d00898f2e8839257bb2b2a3cefe3","analyzedAt":"2026-08-14T07:17:31.569Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}