propose_context_record
Save a draft of a client project's Context record with cited sources for consultant review; use it to add or update positioning, ICP, or competitor context without altering published data.
Instructions
Save a draft of one of a client project's Context records (for example the company's positioning, an ICP or the competitors), with the sources it comes from. The draft waits on the project's Context page, where the consultant publishes or discards it; the published Context, and what get_project_context returns, stay unchanged until then. This tool doesn't publish, discard or delete.
Use when the user asks to add something to a client's Context, or to update a Context record.
Every draft cites at least one source: Knowledge Base documents (`kb_sources`, each with the content_hash
kb_get_document returned, which is refused once the document has changed) and/or the user's own words
(`user_statements`, recorded as quotes reported by the AI, not verified). A record that already has a draft
waiting for review takes no new draft, except one that replaces this connection's own earlier draft.
Args:
project_id: The project (from list_projects()).
context_type: The record: a context type such as "positioning" or "icp", or its path such as
"company/positioning.md", as get_project_context lists them.
body: The record's full text, in Markdown. It replaces the record's text in the draft.
based_on_revision: The published revision_number get_project_context returned for this record, or null when
it listed the record under `missing` (never published). A record published again since is refused.
title: Optional record title. Default: the current title, or the context type's name for a new record.
kb_sources: Knowledge Base documents the text comes from: [{document_id, content_hash}].
user_statements: The user's own words the text comes from, quoted exactly.
replace_draft_number: The draft_number an earlier call returned, to replace that draft with this one.
proposal_id: Optional UUID for this proposal. A repeat with the same proposal_id and arguments returns the
saved draft instead of saving another; an OUTCOME_UNKNOWN error names the one it used.
[Provider: Unilytics]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| title | No | ||
| kb_sources | No | ||
| project_id | Yes | ||
| proposal_id | No | ||
| context_type | Yes | ||
| user_statements | No | ||
| based_on_revision | Yes | ||
| replace_draft_number | No |