Skip to content

Commit 589758d

Browse files
os-steveclaude
andauthored
docs(protocol): name the exception path's "health-check" check entry (#11851)
The `checks[].name` enumeration under the `PluginHealthReport` block named two of the three names `PluginHealthMonitor` can push, presenting itself as exhaustive. The third is the fixed `'health-check'` on the `catch` path, which is what a throwing check — and a `timeout` overrun, which `raceCheckTimeout` surfaces as a rejection — produces. A reader debugging that report found an entry name the page said could not occur. Replace the two-clause sentence with a three-row table, and correct the `"plugin-loaded"` condition while rewriting it: the default entry is also pushed when a `checkMethod` IS configured but does not resolve to a function on the plugin, not only when none is configured. The `PluginHealthReport` JSON block above is untouched. Claude-Session: https://claude.ai/code/session_015ahemw8RcTgqtxrj15PEZx Co-authored-by: Claude <noreply@anthropic.com>
1 parent a6eca92 commit 589758d

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

content/docs/protocol/kernel/lifecycle.mdx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -741,9 +741,15 @@ this shape over HTTP — it is an in-process model, not a wire body.
741741
`checks` is an **array**, and a check's `status` is `"passed" | "failed" |
742742
"warning"` — the six-value `"healthy" | "degraded" | "unhealthy" | "failed" |
743743
"recovering" | "unknown"` vocabulary belongs to the report's own top-level
744-
`status`, never to an entry inside `checks`. Each entry is named after the
745-
plugin's configured `checkMethod`, or `"plugin-loaded"` when a plugin configures
746-
none. `metrics.uptime` is in **milliseconds** (`Date.now() - startTime`), unlike
744+
`status`, never to an entry inside `checks`. An entry's `name` is one of three:
745+
746+
| Entry `name` | Pushed when |
747+
| :--- | :--- |
748+
| the plugin's configured `checkMethod` | the custom check ran and returned — `"passed"`, or `"failed"` for the two failing shapes above |
749+
| `"plugin-loaded"` | no `checkMethod` is configured, **or** the configured name does not resolve to a function on the plugin |
750+
| `"health-check"` | the check **threw** — a `timeout` overrun included, since the race surfaces it as a rejection. A fixed name, neither the method's nor the default's, and always `status: "failed"` |
751+
752+
`metrics.uptime` is in **milliseconds** (`Date.now() - startTime`), unlike
747753
the seconds-valued `uptime` of `GET /health` above, and the report carries no
748754
`version` field — it identifies its plugin by the key it is stored under. The
749755
optional `message` is set only when a check fails; the schema's remaining

0 commit comments

Comments
 (0)