{"record":{"id":"e4b6e693a7535135","repo":"dagger/dagger","slug":"merge-sdk-init-changes-w","errorCode":null,"errorMessage":"merge sdk init changes: %w","messagePattern":"merge sdk init changes: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/schema/workspace_sdk_init.go","lineNumber":106,"sourceCode":"\t\tField: \"withWorkdir\",\n\t\tArgs:  []dagql.NamedInput{{Name: \"path\", Value: dagql.String(\".\")}},\n\t}); err != nil {\n\t\treturn ws, fmt.Errorf(\"anchor workspace at root: %w\", err)\n\t}\n\treturn rooted, nil\n}\n\nfunc mergeWorkspaceInitChangeset(ctx context.Context, base dagql.ObjectResult[*core.Changeset], sdkChanges dagql.ObjectResult[*core.Changeset]) (dagql.ObjectResult[*core.Changeset], error) {\n\tif sdkChanges.Self() == nil {\n\t\treturn base, nil\n\t}\n\tsrv, err := core.CurrentDagqlServer(ctx)\n\tif err != nil {\n\t\treturn base, fmt.Errorf(\"dagql server: %w\", err)\n\t}\n\tsdkChangesID, err := sdkChanges.ID()\n\tif err != nil {\n\t\treturn base, fmt.Errorf(\"merge sdk init changes: %w\", err)\n\t}\n\t// Merge through the withChangeset field rather than the raw Go method so\n\t// the result stays an attached dagql result. Returning a detached\n\t// *Changeset here breaks later id/Sync resolution with \"result\n\t// *core.Changeset is detached\" (see commit \"keep generated workspace\n\t// changesets attached\").\n\tvar merged dagql.ObjectResult[*core.Changeset]\n\tif err := srv.Select(ctx, base, &merged, dagql.Selector{\n\t\tField: \"withChangeset\",\n\t\tArgs: []dagql.NamedInput{\n\t\t\t{Name: \"changes\", Value: dagql.NewID[*core.Changeset](sdkChangesID)},\n\t\t\t{Name: \"onConflict\", Value: core.FailEarlyOnMergeConflict},\n\t\t},\n\t}); err != nil {\n\t\treturn base, fmt.Errorf(\"merge sdk init changes: %w\", err)\n\t}\n\treturn merged, nil\n}","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/schema/workspace_sdk_init.go#L88-L124","documentation":"Wraps the failure of merging the SDK's scaffolding changeset into the base changeset during init (module or client). Only reached when the SDK produced changes; the wrapped error comes from the srv.Select diff/merge chain and explains why the two changesets could not be combined.","triggerScenarios":"Thrown at core/schema/workspace_sdk_init.go:106 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the wrapped merge error","Retry the init; check that both changesets are valid"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"82ba2681dbe30d3547a1dc50ea495900ab5b6047","analyzedAt":"2026-09-05T07:21:37.930Z","contentChangedAt":"2026-09-05T07:21:37.930Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}