Published manifests now use bd_/pm_/tm_/sw_ prefixes so workflows cannot share a doc id. Frozen instances keep the old keys; lookup, templates, and duty checks treat the two names as the same task. Co-authored-by: Cursor <cursoragent@cursor.com>
Composition-root adapter maps live instance DocTasks to bizdev's narrow InstanceDutySource without crossing module boundaries. Co-authored-by: Cursor <cursoragent@cursor.com>