Create index on multicolumn type
You need an extra pair of parentheses around the indexed term if it is not a column or a function call.

In the words of the documentation:


  The expression usually must be written with surrounding parentheses, as shown in the syntax. However, the parentheses can be omitted if the expression has the form of a function call.


CREATE INDEX training_complete_history_adt_flds_index
ON document.training_complete_history (((adt_flds).created_at));


I think it is a bad idea to use a composite type if you want to use parts of it in a WHERE or join condition. It violates the first normal form.