Skip to main content

knowledge_status

Reports whether a project's knowledge has been indexed and is retrievable by you — the precondition for retrieve_knowledge. Call it when a retrieval comes back with no citations, to tell "this project was never analysed for me" apart from "this query has no match".

Tool name: knowledge_status

Parameters

ParameterTypeRequiredDefaultDescription
projectIdstringYesProject (map) id to report indexing status for.

Returns

{
"projectId": "a1b2c3d4-...",
"tenantId": "4",
"indexed": true,
"chunkCount": 412,
"itemCount": 37,
"importedItemIds": ["11aa22bb-...", "33cc44dd-..._page_1"],
"registeredInUserIndex": true
}

indexed is the authoritative flag: true means content exists that a retrieval by you, for this project, under your currently selected tenant could match.

When indexed is false the result also carries a hint explaining what to do. registeredInUserIndex says which of the two causes applies:

indexedregisteredInUserIndexMeaning
truetrueRetrievable. An empty retrieval means the query genuinely has no match.
falsetrueAnalysed, but under a different tenant than the one you have selected.
falsefalseNever analysed by you.

Scoping

Indexed knowledge is stored per user and per tenant, as stamped when the project was analysed — see retrieve_knowledge. This tool resolves the same user and tenant a retrieval would, so its answer is exactly the precondition a retrieval is subject to, not an approximation of it.

Example

"Why doesn't the assistant know anything about this project?"

{
"projectId": "a1b2c3d4-..."
}
{
"projectId": "a1b2c3d4-...",
"tenantId": "4",
"indexed": false,
"chunkCount": 0,
"itemCount": 0,
"importedItemIds": [],
"registeredInUserIndex": true,
"hint": "This project was analysed, but not under your currently selected tenant, so none of its knowledge is retrievable for you. Switch to the tenant it was analysed under, or re-run the analysis in this one."
}