check_freshness
Check freshness. Concepts that need attention: stale (past stale_after), draft, unverified, and deprecated, across every tree or some. Read-only.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
trees |
list of strings | No | The trees’ slugs, as list_trees gives them (not their names). Only these trees; omit for every tree. |
Returns
Section titled “Returns”One JSON object (see All tools):
| Field | Type | Always | Description |
|---|---|---|---|
asOf |
string | Yes | When staleness was judged. |
concepts |
number | Yes | How many concepts were checked. |
stale |
list of Concept summary | Yes | Concepts past their stale_after date; each also gives it, as staleAfter. |
draft |
list of Concept summary | Yes | Concepts whose status is draft. |
unverified |
list of Concept summary | Yes | Concepts with no verified entry. |
deprecated |
list of Concept summary | Yes | Concepts whose status is deprecated. |
unreadTrees |
list of strings | Yes | The slugs of trees that couldn’t be read, so their concepts are missing. |
Example
Section titled “Example”Asked “What in the company tree needs attention?”, an assistant might call check_freshness with:
{ "trees": [ "company" ]}On OKForest’s test Forest (Acme’s made-up company knowledge), it returns:
{ "asOf": "2026-10-01T00:00:00.000Z", "concepts": 3, "stale": [ { "id": "company:competitors/rival-co", "path": "competitors/rival-co.md", "type": "Competitor", "title": "Rival Co", "description": "A lower-priced competitor.", "tags": [ "competitor" ], "status": "draft", "trustTier": "unverified", "stale": true, "staleAfter": "2026-01-01T00:00:00Z", "tree": "company", "url": "https://app.okforest.ai/@/3f2b8c1e-9a4d-4c7b-8e2f-6d1a0b5c9e7f/company/competitors/rival-co" } ], "draft": [ { "id": "company:competitors/rival-co", "path": "competitors/rival-co.md", "type": "Competitor", "title": "Rival Co", "description": "A lower-priced competitor.", "tags": [ "competitor" ], "status": "draft", "trustTier": "unverified", "stale": true, "tree": "company", "url": "https://app.okforest.ai/@/3f2b8c1e-9a4d-4c7b-8e2f-6d1a0b5c9e7f/company/competitors/rival-co" } ], "unverified": [ { "id": "company:competitors/rival-co", "path": "competitors/rival-co.md", "type": "Competitor", "title": "Rival Co", "description": "A lower-priced competitor.", "tags": [ "competitor" ], "status": "draft", "trustTier": "unverified", "stale": true, "tree": "company", "url": "https://app.okforest.ai/@/3f2b8c1e-9a4d-4c7b-8e2f-6d1a0b5c9e7f/company/competitors/rival-co" } ], "deprecated": [ { "id": "company:policies/refunds", "path": "policies/refunds.md", "type": "Policy", "title": "Refund policy", "tags": [], "status": "deprecated", "trustTier": "machine-confirmed", "stale": false, "tree": "company", "url": "https://app.okforest.ai/@/3f2b8c1e-9a4d-4c7b-8e2f-6d1a0b5c9e7f/company/policies/refunds" } ], "unreadTrees": []}