{"slug":"architecture/WORKBENCH_INTERACTION_CONTRACT","title":"Workbench Interaction Contract","section":"architecture","sectionLabel":"Architecture","status":"unclassified","type":"document","path":"architecture/WORKBENCH_INTERACTION_CONTRACT.mdx","bytes":1685,"description":null,"updated":null,"source":"integratewise/Integratewise-docs-wiki","content":"\n**Status:** Normative human explanation backed by\n[`total-end-state-contract.json`](./total-end-state-contract.json).\n\n## Contextual controls\n\nThe Workbench provides the four OODA controls—**Store in Spine**, **Ask your\nTwin**, **Assign your Twin**, and **Approve Twin's Action**—in a contextual\ninteraction slot at the relevant section, object, selection, or canvas block.\nThey are not global navigation, sticky footer controls, or a persistent Twin\npanel. Twin remains silent unless the context has material value or a person\nengages it.\n\n## Approval is a governed decision\n\n**Approve Twin's Action** appears only for a concrete pending governed proposal\nor action and only when the current person has matching authority. A click,\nconfidence score, selected entity, or general Twin recommendation does not\ngrant authority. Without a pending proposal and matching authority, approval is\nnot rendered and no external mutation occurs.\n\nThe full write path is:\n\n```text\nBrowser or Twin → governed command → Capability Fabric → owning integration or host\n→ reconciliation → Spine\n```\n\nCapabilities, tools, integrations, and actions stay distinct along this path.\nHost credentials never leave their host boundary, and the Workbench does not\nmake direct provider or database reads.\n\n## Supersedes\n\nThis contract supersedes:\n\n- fixed per-role Entity 360 navigation;\n- `Twin ONLY reads Entity360`;\n- global/sticky four-button controls;\n- role workbook `Role domain entity` classification;\n- direct browser database/provider reads;\n- independent donor app deployment; and\n- generic fallback to another projection when hostname resolution fails.\n"}