Router surface
Every operation anshin-wiki-server declares, enumerated from its own /openapi.json and probed live from your browser.
Reachability and gate coverage, in one sweep
This page used to hold a hand-written list of seventeen TypeScript-router resources. It was written to catch a real defect — until v4.3.0 nine of those seventeen were defined but unreachable, modules that existed, looked correct, and were never dispatched — but a hand-written list cannot notice an operation the server GAINED, so its coverage shrinks silently as a proportion of the surface. And its verdict table had to score 400 and 403 as “reachable”, which meant a merely misconfigured route read as healthy.
Enumerating from the server's own schema fixes the first problem. Probing with every permission revoked fixes the second: there is now exactly one expected answer per operation — 403 if it is gated, 2xx if it is one of the six liveness/readiness probes a kubelet calls without a credential — so “reachable” and “gated” stop being separate questions you can answer one of.
The Python server had no permission gate at all before 6.1.0, so every row in this table would have read UNGATED — DEFECT. That is not a hypothetical: this demo was the first consumer to ever run that package, and standing it up is what found it.
Every operation is requested with X-Wiki-Revoke naming all nine wiki permissions. A gated operation must answer 403; a 404 means it is declared but not dispatched, and a 2xx means it is not gated. Because the refusal happens before any handler runs, this sweep writes one authorization.denied audit row per gated operation and changes no data — which is why it can safely probe DELETE as well as GET.
Not probed yet.
| dataTable.noResults | |||||