Hi @Ramzy_Karam -san,
Third print shows inside of the model. You see the kernel size for each convolution. Which one takes kernel size == 4 ?, yes first and second convolutions. I do not know the observation_space is input for your model or not, but let us assume so, then  you can calculate output size as follows;
"output size" = ("input size" - "kernel size")/"stride factor" + 1

So first output size is (12 - 4)/4 + 1 = 3, thus on a second convolution, your model has 3-element input but your kernel size is 4. Matches to the error message, right? So your choice is; adjust input size for first one or adjust first kernel size and or adjust stride factor.