From b90c94686e7da57c831fa4a85056f9ee4a6fab21 Mon Sep 17 00:00:00 2001 From: Yashas Date: Tue, 25 Aug 2026 13:26:48 +0530 Subject: [PATCH] Offer Collect Documents where the workflow allows it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The activity was added to the workflow on both Contacted and Proposal Accepted, but not to the console's action map — so the platform allowed it, the console never offered it, and nothing errored anywhere. There was simply no way to upload a document. Notes the hazard on the map itself: it is hand-maintained against tbl_wf_state_allowed_activities, and anything missing from it is invisible rather than broken. Co-Authored-By: Claude Opus 5 (1M context) --- src/api/config.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/api/config.js b/src/api/config.js index 738ac1c..3790bf2 100644 --- a/src/api/config.js +++ b/src/api/config.js @@ -54,16 +54,23 @@ export const DV_LEAD = 'zk-dv-lead' * `by` is presentational ONLY. Nothing here enforces anything: the workflow * refuses server-side and the console reports what it said. Showing an action * the signed-in user cannot perform is deliberate — the refusal is the demo. + * + * This map is hand-maintained against workflow.tbl_wf_state_allowed_activities. + * An activity added to the workflow but not added here is simply invisible: + * the platform allows it, the console never offers it, and nothing errors. + * Collect Documents shipped in that state for one round. */ export const ACTIONS = { 'zk-state-new': [{ uid: 'zk-act-qualify', label: 'Qualify Lead', by: 'Intake AI' }], 'zk-state-qualified': [{ uid: 'zk-act-contact', label: 'Log Contact', by: 'Engage AI' }], - 'zk-state-contacted': [{ uid: 'zk-act-capture-sme', label: 'Capture SME Risk', by: 'Engage AI' }, + 'zk-state-contacted': [{ uid: 'zk-act-collect-docs', label: 'Collect Documents', by: 'Anyone — self-loop' }, + { uid: 'zk-act-capture-sme', label: 'Capture SME Risk', by: 'Engage AI' }, { uid: 'zk-act-capture-motor', label: 'Capture Motor Risk', by: 'Engage AI' }], 'zk-state-risk': [{ uid: 'zk-act-advise', label: 'AI Cover Recommendation', by: 'Advisor AI' }, { uid: 'zk-act-quote', label: 'Generate Quote', by: 'Rating engine' }], 'zk-state-quoted': [{ uid: 'zk-act-accept', label: 'Accept Proposal', by: 'Customer' }], - 'zk-state-accepted': [{ uid: 'zk-act-kyc', label: 'Verify KYC', by: 'KYC AI' }], + 'zk-state-accepted': [{ uid: 'zk-act-collect-docs', label: 'Collect Documents', by: 'Anyone — self-loop' }, + { uid: 'zk-act-kyc', label: 'Verify KYC', by: 'KYC AI' }], 'zk-state-kyc': [{ uid: 'zk-act-uw-screen', label: 'Underwriting Screen', by: 'Rules' }], 'zk-state-referred': [{ uid: 'zk-act-uw-prepare', label: 'Prepare Referral', by: 'Referral AI' }, { uid: 'zk-act-uw-clear', label: 'Clear Referral', by: 'Underwriter' },