Report an OKF bundle's health
okf_health_reportAudit a documentation bundle for health issues: broken links, missing descriptions, untyped concepts, stale or aging content, unverified and deprecated items, and orphans.
Instructions
Analyze a bundle for documentation-health problems: broken links, missing descriptions, untyped concepts, staleness, unverified and deprecated content, and orphans.
Two distinct notions of "old" are reported separately, and conflating them is the mistake this guards against:
"stale" means past the author's own
stale_afterdate (spec §5.5) — an explicit expiry."aging" means not updated in over a year — a heuristic, not part of the spec. A concept can be two years old and deliberately current, or a week old and expired.
Args:
bundle_path (string): directory containing the bundle
as_of (string, optional): ISO date (YYYY-MM-DD) to evaluate staleness against, instead of today
response_format ('markdown' | 'json'): default 'markdown'
Returns: { "as_of": string, "broken_links": [{ "from": string, "target": string }], "missing_descriptions": string[], "untyped": string[], "stale": [{ "id": string, "stale_since": string }], "aging": [{ "id": string, "updated_at": string }], "undated": string[], "unverified": string[], "deprecated": string[], "orphans": string[] }
Examples:
Use when: "Is anything in this catalog out of date?"
Use when: "What still needs human review?" -> read "unverified"
Use when: auditing before relying on a bundle
Error Handling:
An invalid as_of returns a message naming the expected YYYY-MM-DD format
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | Evaluate staleness as of this date instead of today | |
| bundle_path | Yes | Path to the OKF bundle directory | |
| response_format | No | 'markdown' for reading, 'json' for machine processing | markdown |