The key point
When materials have already been obtained, clarifying a link's purpose should not restart the import. Save the user's answer and update the draft using existing data.
A user sends a link to a cloud folder containing materials for a commercial proposal. The files enter the import, but the conversation still contains a message with the address. The system cannot decide whether it refers to source materials or belongs in the proposed document. Drafting stops over a question of meaning, even though the address and its associated source are already known.
The apparently simple workaround is to ask for the link again. Yet repeating the import may download the same files, extract their content and call a paid model. That does not necessarily help: no new information has appeared, and only one clarification from the owner is needed.
Ambiguity does not always mean missing data
An import contains operations with different purposes. Collection and extraction answer “What materials do we have?” Message interpretation answers another question: “What did the person want to do with them?” A problem in the latter does not invalidate the former.
If the source has already been registered, recognizing the same files again will not explain why the link was sent. That decision belongs to the user, not to the extracted text or another model run.
Confirmation changes interpretation, not source files
Instead of restarting, a dedicated action is enough: “This link points to source materials.” The system binds the confirmation to the original message and exact URL quote, finds an unresolved question and verifies that a corresponding source was added earlier.
After validation, the fragment becomes an instruction, the ambiguity is cleared and the saved draft is rebuilt. That transition requires neither downloading files nor rerunning paid processing. What changes is the interpretation of stored material, not the material itself.
A decision belongs to a single question and draft revision
A confirmation must apply to the exact question the person saw. While they decide, the message, source list or draft may change. Applying an old decision without checks could silently alter a different draft revision.
The request therefore carries a message identifier, an exact quote and the expected draft revision. The server validates these, rejects repeated or stale answers and updates the draft in one consistent operation. If the state changed, refreshing it is safer than guessing the person's intent.
When confirmation alone is not enough
Confirmation must not bypass source validation. If a URL is unsupported or its materials have not been added, one click cannot turn them into ready source files. Ownership, session validity, an already created document and active processing also need to be checked.
Provenance matters in particular. A link the person sent in chat is not equivalent to a link found inside an uploaded document. Document contents must not turn into owner instructions. If files are genuinely new or changed, collecting the data remains a separate necessary step.
Reprocess new data, not the same question
The general principle is to separate changes to data from changes to meaning. New materials may require a new processing pass, but clarifying the role of a stored fragment only needs an auditable, versioned decision. That preserves the draft's correctness without turning every question to the user into another paid operation.
