The link says nothing about proposal.

Getblocktemplate which is the only interface for mining provides transactions but no coinbase transaction (because it doesn't know where you want to pay the coins). Where does the coinbase transaction come from? Your pool/mining software has to create it.
How do you know you created it correctly? You can submit your candidate block back as a proposal, and see if it would accept it.