The ICP text is replaced and versioned. The scoring model is built from it only when the workspace has none yet. An existing model is kept, so weights trained on closed deals survive a text edit. The result says which happened. On a workspace that uses its own scorer, no model is built and the status is
external_scorer.
Read the current ICP first with query { scope: { foundation: "icp" } } and keep what is still true.
REST: PUT /v2/icp. To train the model on won and lost deals, use POST /v2/icp/closed-deals.