Hi Jade,
Nice doc overall. I do have some suggestions. I believe its possible not to define the tables anymore. Just call content_type__create_type, it should create the table and the views for you.
Also it is suggested to join revision_id to cr_items.live_revision rather than calling content_item__get_live_revision. That plsql is slower than using joins. Maybe title and description on pm_tasks_revisions are redundant since these attributes are already part of cr_revisions.
Hope this helps.