agate
x 1.00 · purpose 0.20 · t 5 h · scope 0.60
from 2026-10
API Routing · Docker · Authorization · Logging
Agate is an API router for autonomous agents operating across my own systems. Instead of each agent calling model providers and managing permissions independently, requests pass through one point where routing, cost accounting and audit records can be handled consistently.
- requests
- 4,194
- completed
- 97.0%
- recovered reroutes
- 102
through the gate
Requests from 6 agents cross a policy stage and a router to one of 3 upstreams (share of completions: anthropic 29.9%, openai 35.0%, deepseek 35.1%); the router writes every outcome to the log. Over the week, 4,194 requests: 4,070 completed, 43 were blocked at admission, 102 were rerouted after an upstream error and 81 failed upstream. The figure replays 13 real requests one at a time; the table lists them.
data
| request | agent | tool check | upstream | latency | result |
|---|---|---|---|---|---|
| direct | C | — | anthropic | 18.14 s | ok |
| direct | B | — | openai | 5.26 s | ok |
| direct | A | — | deepseek | 4.10 s | ok |
| rerouted after 429 | D | read: allowed | openai → anthropic | 11.37 s | ok |
| rerouted after 502 | B | routine write: allowed | openai → anthropic | 7.29 s | ok |
| rerouted after timeout | D | — | anthropic → openai | 14.77 s | ok |
| tool allowed | A | read: allowed | openai | 4.21 s | ok |
| tool held for approval | B | high-impact change: held | anthropic | 12.16 s | ok |
| tool blocked | D | high-impact change: blocked | anthropic | 22.34 s | ok |
| blocked at admission | F | admission: blocked | — | 0.01 s | policy denied (403) |
| upstream 429 | C | — | openai | 0.09 s | upstream 429 (429) |
| upstream 502 | A | — | deepseek | 0.40 s | upstream 502 (502) |
| upstream timeout | A | — | openai | 29.59 s | timeout (504) |
A request enters from the left, passes a compact policy stage and follows one thin line toward its selected upstream. Some paths are held or denied before reaching a provider; others reroute after an upstream error. One request at a time is highlighted, while dimmed parallel lines carry the background load.
seven days of traffic
Requests per hour across 7 days, as a heat strip, with request volume, p50 and p95 latency and estimated spend traced beneath it. Requests per day: 702, 383, 388, 620, 710, 671, 720. Busiest hour: fri oct 16 13:00, 57 requests. Week: 4,194 requests, p50 latency 6.7 s, p95 19.9 s, estimated spend $29.33 from configured token pricing (not a bill). Hourly values are in the table.
data
| hour | requests | ok | failed upstream | blocked | rerouted | p50 s | p95 s | spend $ |
|---|---|---|---|---|---|---|---|---|
| fri oct 16 00:00 | 19 | 18 | 1 | 0 | 0 | 5.3 | 18.1 | 0.1150 |
| fri oct 16 01:00 | 20 | 18 | 2 | 0 | 1 | 7.3 | 22.8 | 0.1381 |
| fri oct 16 02:00 | 11 | 11 | 0 | 0 | 0 | 9.5 | 21.1 | 0.0729 |
| fri oct 16 03:00 | 7 | 7 | 0 | 0 | 1 | 5.7 | 19.2 | 0.0440 |
| fri oct 16 04:00 | 7 | 7 | 0 | 0 | 0 | 2.8 | 24.2 | 0.0104 |
| fri oct 16 05:00 | 10 | 10 | 0 | 0 | 0 | 4.3 | 22.3 | 0.0397 |
| fri oct 16 06:00 | 27 | 26 | 1 | 0 | 0 | 8.0 | 21.7 | 0.2225 |
| fri oct 16 07:00 | 23 | 23 | 0 | 0 | 0 | 5.8 | 21.1 | 0.0757 |
| fri oct 16 08:00 | 49 | 49 | 0 | 0 | 1 | 7.3 | 15.8 | 0.3482 |
| fri oct 16 09:00 | 37 | 34 | 1 | 2 | 1 | 7.0 | 26.3 | 0.1789 |
| fri oct 16 10:00 | 37 | 34 | 2 | 1 | 0 | 4.8 | 22.0 | 0.1956 |
| fri oct 16 11:00 | 39 | 37 | 2 | 0 | 4 | 7.6 | 25.4 | 0.2779 |
| fri oct 16 12:00 | 36 | 36 | 0 | 0 | 0 | 7.9 | 16.9 | 0.2780 |
| fri oct 16 13:00 | 57 | 56 | 1 | 0 | 2 | 7.8 | 19.3 | 0.4418 |
| fri oct 16 14:00 | 33 | 31 | 1 | 1 | 1 | 5.5 | 21.1 | 0.2126 |
| fri oct 16 15:00 | 50 | 49 | 1 | 0 | 1 | 8.1 | 18.3 | 0.3418 |
| fri oct 16 16:00 | 36 | 35 | 1 | 0 | 1 | 6.5 | 12.8 | 0.1352 |
| fri oct 16 17:00 | 38 | 35 | 2 | 1 | 1 | 6.3 | 18.7 | 0.2021 |
| fri oct 16 18:00 | 34 | 34 | 0 | 0 | 0 | 5.8 | 25.6 | 0.2438 |
| fri oct 16 19:00 | 37 | 34 | 3 | 0 | 1 | 6.8 | 16.7 | 0.1970 |
| fri oct 16 20:00 | 33 | 32 | 1 | 0 | 1 | 6.4 | 18.7 | 0.2554 |
| fri oct 16 21:00 | 25 | 25 | 0 | 0 | 0 | 7.2 | 17.4 | 0.2005 |
| fri oct 16 22:00 | 16 | 15 | 1 | 0 | 1 | 10.8 | 23.3 | 0.1357 |
| fri oct 16 23:00 | 21 | 20 | 1 | 0 | 0 | 4.8 | 18.8 | 0.0885 |
| sat oct 17 00:00 | 10 | 10 | 0 | 0 | 0 | 4.7 | 7.2 | 0.0473 |
| sat oct 17 01:00 | 5 | 5 | 0 | 0 | 0 | 4.4 | 8.0 | 0.0315 |
| sat oct 17 02:00 | 3 | 3 | 0 | 0 | 0 | 10.1 | 15.4 | 0.0433 |
| sat oct 17 03:00 | 3 | 3 | 0 | 0 | 0 | 5.1 | 8.5 | 0.0047 |
| sat oct 17 04:00 | 10 | 9 | 0 | 1 | 1 | 4.1 | 17.2 | 0.0594 |
| sat oct 17 05:00 | 5 | 5 | 0 | 0 | 0 | 14.2 | 56.0 | 0.0848 |
| sat oct 17 06:00 | 14 | 14 | 0 | 0 | 0 | 6.6 | 19.8 | 0.0879 |
| sat oct 17 07:00 | 16 | 15 | 0 | 1 | 0 | 5.8 | 14.8 | 0.0395 |
| sat oct 17 08:00 | 27 | 26 | 1 | 0 | 1 | 6.4 | 19.4 | 0.2122 |
| sat oct 17 09:00 | 12 | 11 | 1 | 0 | 0 | 7.0 | 21.5 | 0.0718 |
| sat oct 17 10:00 | 17 | 17 | 0 | 0 | 0 | 9.4 | 24.1 | 0.2038 |
| sat oct 17 11:00 | 26 | 25 | 1 | 0 | 1 | 6.6 | 12.6 | 0.1786 |
| sat oct 17 12:00 | 24 | 24 | 0 | 0 | 0 | 6.0 | 16.7 | 0.1278 |
| sat oct 17 13:00 | 21 | 20 | 0 | 1 | 1 | 6.3 | 15.9 | 0.0988 |
| sat oct 17 14:00 | 34 | 33 | 1 | 0 | 1 | 5.5 | 17.9 | 0.2479 |
| sat oct 17 15:00 | 28 | 28 | 0 | 0 | 0 | 8.6 | 15.1 | 0.3159 |
| sat oct 17 16:00 | 22 | 22 | 0 | 0 | 1 | 7.5 | 18.8 | 0.1888 |
| sat oct 17 17:00 | 18 | 18 | 0 | 0 | 0 | 8.9 | 41.6 | 0.2323 |
| sat oct 17 18:00 | 21 | 20 | 1 | 0 | 0 | 4.7 | 13.6 | 0.1298 |
| sat oct 17 19:00 | 19 | 19 | 0 | 0 | 1 | 5.4 | 29.4 | 0.1769 |
| sat oct 17 20:00 | 15 | 15 | 0 | 0 | 0 | 4.7 | 9.8 | 0.0820 |
| sat oct 17 21:00 | 19 | 18 | 1 | 0 | 0 | 5.0 | 19.0 | 0.1431 |
| sat oct 17 22:00 | 5 | 5 | 0 | 0 | 0 | 4.2 | 8.4 | 0.0296 |
| sat oct 17 23:00 | 9 | 9 | 0 | 0 | 1 | 8.5 | 17.4 | 0.1053 |
| sun oct 18 00:00 | 6 | 6 | 0 | 0 | 0 | 3.6 | 8.6 | 0.0422 |
| sun oct 18 01:00 | 6 | 5 | 0 | 1 | 0 | 18.6 | 25.5 | 0.1280 |
| sun oct 18 02:00 | 10 | 10 | 0 | 0 | 1 | 9.5 | 62.7 | 0.1514 |
| sun oct 18 03:00 | 9 | 9 | 0 | 0 | 0 | 5.8 | 16.4 | 0.0167 |
| sun oct 18 04:00 | 5 | 5 | 0 | 0 | 0 | 7.0 | 10.3 | 0.0607 |
| sun oct 18 05:00 | 16 | 15 | 1 | 0 | 0 | 8.9 | 44.4 | 0.1408 |
| sun oct 18 06:00 | 10 | 10 | 0 | 0 | 0 | 5.8 | 11.6 | 0.0473 |
| sun oct 18 07:00 | 10 | 9 | 0 | 1 | 1 | 7.8 | 11.9 | 0.0317 |
| sun oct 18 08:00 | 5 | 5 | 0 | 0 | 0 | 4.6 | 37.2 | 0.0692 |
| sun oct 18 09:00 | 7 | 7 | 0 | 0 | 0 | 8.2 | 22.8 | 0.0784 |
| sun oct 18 10:00 | 22 | 22 | 0 | 0 | 0 | 6.7 | 26.5 | 0.1155 |
| sun oct 18 11:00 | 28 | 26 | 1 | 1 | 2 | 5.5 | 12.7 | 0.1114 |
| sun oct 18 12:00 | 24 | 23 | 1 | 0 | 1 | 6.8 | 17.5 | 0.1681 |
| sun oct 18 13:00 | 32 | 31 | 1 | 0 | 0 | 7.3 | 28.1 | 0.2843 |
| sun oct 18 14:00 | 29 | 28 | 0 | 1 | 0 | 7.5 | 19.6 | 0.1768 |
| sun oct 18 15:00 | 21 | 21 | 0 | 0 | 0 | 6.7 | 13.4 | 0.0668 |
| sun oct 18 16:00 | 21 | 18 | 1 | 2 | 0 | 7.2 | 28.0 | 0.1400 |
| sun oct 18 17:00 | 22 | 21 | 1 | 0 | 0 | 4.4 | 17.8 | 0.1230 |
| sun oct 18 18:00 | 19 | 19 | 0 | 0 | 0 | 6.4 | 20.5 | 0.1418 |
| sun oct 18 19:00 | 14 | 13 | 1 | 0 | 1 | 7.1 | 32.6 | 0.0695 |
| sun oct 18 20:00 | 18 | 18 | 0 | 0 | 0 | 4.3 | 23.5 | 0.1084 |
| sun oct 18 21:00 | 32 | 32 | 0 | 0 | 1 | 7.3 | 24.0 | 0.2263 |
| sun oct 18 22:00 | 9 | 9 | 0 | 0 | 1 | 8.0 | 22.6 | 0.0706 |
| sun oct 18 23:00 | 13 | 12 | 1 | 0 | 0 | 6.8 | 16.2 | 0.0769 |
| mon oct 19 00:00 | 3 | 3 | 0 | 0 | 0 | 7.0 | 8.6 | 0.0205 |
| mon oct 19 01:00 | 3 | 3 | 0 | 0 | 0 | 9.0 | 10.8 | 0.0235 |
| mon oct 19 02:00 | 5 | 5 | 0 | 0 | 0 | 7.3 | 9.0 | 0.0071 |
| mon oct 19 03:00 | 13 | 13 | 0 | 0 | 0 | 6.6 | 26.3 | 0.0684 |
| mon oct 19 04:00 | 8 | 8 | 0 | 0 | 0 | 8.7 | 20.5 | 0.1154 |
| mon oct 19 05:00 | 17 | 17 | 0 | 0 | 2 | 6.9 | 31.3 | 0.1384 |
| mon oct 19 06:00 | 25 | 25 | 0 | 0 | 0 | 8.6 | 14.6 | 0.1636 |
| mon oct 19 07:00 | 27 | 27 | 0 | 0 | 0 | 6.2 | 27.4 | 0.1020 |
| mon oct 19 08:00 | 27 | 27 | 0 | 0 | 0 | 6.0 | 17.7 | 0.1713 |
| mon oct 19 09:00 | 47 | 44 | 2 | 1 | 1 | 5.5 | 17.3 | 0.2712 |
| mon oct 19 10:00 | 33 | 33 | 0 | 0 | 1 | 5.7 | 19.9 | 0.1643 |
| mon oct 19 11:00 | 37 | 34 | 2 | 1 | 1 | 7.0 | 15.1 | 0.2535 |
| mon oct 19 12:00 | 32 | 32 | 0 | 0 | 0 | 6.1 | 20.2 | 0.3174 |
| mon oct 19 13:00 | 35 | 33 | 1 | 1 | 0 | 7.3 | 18.5 | 0.2453 |
| mon oct 19 14:00 | 21 | 20 | 1 | 0 | 1 | 4.8 | 16.1 | 0.1312 |
| mon oct 19 15:00 | 42 | 42 | 0 | 0 | 2 | 6.4 | 19.0 | 0.2307 |
| mon oct 19 16:00 | 36 | 35 | 1 | 0 | 2 | 5.6 | 18.2 | 0.1735 |
| mon oct 19 17:00 | 33 | 31 | 1 | 1 | 1 | 7.5 | 24.5 | 0.2359 |
| mon oct 19 18:00 | 27 | 25 | 1 | 1 | 2 | 6.1 | 17.0 | 0.1194 |
| mon oct 19 19:00 | 31 | 29 | 1 | 1 | 1 | 6.0 | 25.0 | 0.2318 |
| mon oct 19 20:00 | 35 | 34 | 1 | 0 | 1 | 5.0 | 17.6 | 0.2272 |
| mon oct 19 21:00 | 39 | 38 | 1 | 0 | 1 | 5.1 | 23.8 | 0.1603 |
| mon oct 19 22:00 | 18 | 17 | 1 | 0 | 0 | 8.6 | 15.6 | 0.1178 |
| mon oct 19 23:00 | 26 | 25 | 1 | 0 | 1 | 7.1 | 15.2 | 0.2529 |
| tue oct 20 00:00 | 19 | 18 | 1 | 0 | 0 | 5.1 | 21.1 | 0.1062 |
| tue oct 20 01:00 | 8 | 7 | 1 | 0 | 0 | 6.9 | 27.9 | 0.0838 |
| tue oct 20 02:00 | 15 | 14 | 0 | 1 | 0 | 6.7 | 18.1 | 0.1040 |
| tue oct 20 03:00 | 13 | 13 | 0 | 0 | 1 | 7.1 | 20.7 | 0.0685 |
| tue oct 20 04:00 | 19 | 19 | 0 | 0 | 0 | 7.2 | 18.2 | 0.1036 |
| tue oct 20 05:00 | 17 | 16 | 0 | 1 | 0 | 4.6 | 15.6 | 0.0639 |
| tue oct 20 06:00 | 30 | 29 | 0 | 1 | 0 | 7.2 | 17.0 | 0.1504 |
| tue oct 20 07:00 | 32 | 30 | 1 | 1 | 2 | 4.5 | 15.8 | 0.1287 |
| tue oct 20 08:00 | 45 | 44 | 0 | 1 | 1 | 6.0 | 17.2 | 0.4132 |
| tue oct 20 09:00 | 26 | 26 | 0 | 0 | 0 | 7.4 | 18.2 | 0.3097 |
| tue oct 20 10:00 | 26 | 26 | 0 | 0 | 0 | 7.2 | 19.3 | 0.2583 |
| tue oct 20 11:00 | 46 | 44 | 2 | 0 | 3 | 6.6 | 20.6 | 0.4177 |
| tue oct 20 12:00 | 43 | 42 | 1 | 0 | 1 | 4.9 | 18.3 | 0.3316 |
| tue oct 20 13:00 | 46 | 44 | 0 | 2 | 0 | 6.4 | 21.8 | 0.3094 |
| tue oct 20 14:00 | 36 | 36 | 0 | 0 | 0 | 8.3 | 33.8 | 0.4513 |
| tue oct 20 15:00 | 53 | 53 | 0 | 0 | 0 | 6.2 | 19.0 | 0.4467 |
| tue oct 20 16:00 | 28 | 28 | 0 | 0 | 0 | 6.4 | 25.0 | 0.3029 |
| tue oct 20 17:00 | 53 | 51 | 1 | 1 | 2 | 7.0 | 16.6 | 0.3388 |
| tue oct 20 18:00 | 28 | 28 | 0 | 0 | 0 | 7.4 | 15.2 | 0.3031 |
| tue oct 20 19:00 | 38 | 36 | 2 | 0 | 0 | 6.0 | 21.5 | 0.1740 |
| tue oct 20 20:00 | 37 | 36 | 1 | 0 | 2 | 8.3 | 31.6 | 0.3870 |
| tue oct 20 21:00 | 28 | 27 | 1 | 0 | 1 | 8.1 | 18.1 | 0.1487 |
| tue oct 20 22:00 | 15 | 14 | 1 | 0 | 0 | 6.0 | 13.4 | 0.1592 |
| tue oct 20 23:00 | 9 | 9 | 0 | 0 | 1 | 9.8 | 25.7 | 0.0780 |
| wed oct 21 00:00 | 8 | 8 | 0 | 0 | 0 | 4.6 | 28.3 | 0.0760 |
| wed oct 21 01:00 | 19 | 19 | 0 | 0 | 2 | 5.3 | 19.1 | 0.1435 |
| wed oct 21 02:00 | 18 | 18 | 0 | 0 | 0 | 7.3 | 32.3 | 0.1505 |
| wed oct 21 03:00 | 18 | 18 | 0 | 0 | 1 | 7.8 | 24.2 | 0.1362 |
| wed oct 21 04:00 | 4 | 4 | 0 | 0 | 0 | 2.9 | 8.1 | 0.0035 |
| wed oct 21 05:00 | 24 | 23 | 1 | 0 | 1 | 7.7 | 15.4 | 0.1317 |
| wed oct 21 06:00 | 23 | 22 | 1 | 0 | 0 | 10.1 | 25.3 | 0.2698 |
| wed oct 21 07:00 | 17 | 17 | 0 | 0 | 0 | 7.5 | 28.2 | 0.1714 |
| wed oct 21 08:00 | 26 | 26 | 0 | 0 | 1 | 7.5 | 19.9 | 0.2609 |
| wed oct 21 09:00 | 44 | 43 | 0 | 1 | 2 | 6.2 | 21.3 | 0.3476 |
| wed oct 21 10:00 | 25 | 25 | 0 | 0 | 3 | 5.3 | 16.1 | 0.1807 |
| wed oct 21 11:00 | 51 | 49 | 2 | 0 | 0 | 5.5 | 14.6 | 0.3521 |
| wed oct 21 12:00 | 28 | 28 | 0 | 0 | 1 | 9.8 | 29.4 | 0.2865 |
| wed oct 21 13:00 | 30 | 30 | 0 | 0 | 0 | 7.3 | 23.8 | 0.2407 |
| wed oct 21 14:00 | 36 | 33 | 2 | 1 | 0 | 7.1 | 17.8 | 0.1719 |
| wed oct 21 15:00 | 36 | 35 | 0 | 1 | 2 | 6.3 | 20.3 | 0.2218 |
| wed oct 21 16:00 | 51 | 48 | 0 | 3 | 1 | 8.4 | 21.5 | 0.2955 |
| wed oct 21 17:00 | 43 | 42 | 0 | 1 | 1 | 6.7 | 19.7 | 0.2856 |
| wed oct 21 18:00 | 35 | 35 | 0 | 0 | 0 | 7.5 | 28.7 | 0.2583 |
| wed oct 21 19:00 | 36 | 36 | 0 | 0 | 0 | 6.6 | 21.4 | 0.3493 |
| wed oct 21 20:00 | 27 | 27 | 0 | 0 | 1 | 6.8 | 17.0 | 0.1720 |
| wed oct 21 21:00 | 38 | 37 | 1 | 0 | 1 | 7.9 | 37.3 | 0.3739 |
| wed oct 21 22:00 | 20 | 20 | 0 | 0 | 1 | 6.6 | 13.4 | 0.1307 |
| wed oct 21 23:00 | 14 | 14 | 0 | 0 | 0 | 6.2 | 57.1 | 0.1282 |
| thu oct 22 00:00 | 23 | 21 | 1 | 1 | 0 | 7.3 | 17.3 | 0.2080 |
| thu oct 22 01:00 | 11 | 11 | 0 | 0 | 1 | 4.6 | 24.8 | 0.0904 |
| thu oct 22 02:00 | 20 | 20 | 0 | 0 | 1 | 6.6 | 15.2 | 0.1550 |
| thu oct 22 03:00 | 17 | 15 | 2 | 0 | 0 | 7.6 | 13.2 | 0.0989 |
| thu oct 22 04:00 | 6 | 6 | 0 | 0 | 0 | 4.8 | 15.5 | 0.0395 |
| thu oct 22 05:00 | 12 | 12 | 0 | 0 | 0 | 7.4 | 18.6 | 0.0562 |
| thu oct 22 06:00 | 31 | 30 | 1 | 0 | 0 | 5.9 | 18.6 | 0.1224 |
| thu oct 22 07:00 | 26 | 25 | 1 | 0 | 0 | 8.2 | 17.9 | 0.1805 |
| thu oct 22 08:00 | 41 | 41 | 0 | 0 | 2 | 7.7 | 21.0 | 0.4058 |
| thu oct 22 09:00 | 19 | 19 | 0 | 0 | 1 | 5.7 | 36.0 | 0.1182 |
| thu oct 22 10:00 | 40 | 40 | 0 | 0 | 2 | 6.6 | 19.8 | 0.2274 |
| thu oct 22 11:00 | 46 | 45 | 1 | 0 | 1 | 5.0 | 14.7 | 0.1631 |
| thu oct 22 12:00 | 40 | 37 | 2 | 1 | 1 | 6.8 | 18.3 | 0.2110 |
| thu oct 22 13:00 | 28 | 27 | 0 | 1 | 0 | 6.9 | 23.0 | 0.1843 |
| thu oct 22 14:00 | 39 | 38 | 1 | 0 | 0 | 6.0 | 19.9 | 0.2999 |
| thu oct 22 15:00 | 36 | 34 | 2 | 0 | 0 | 7.0 | 14.5 | 0.3064 |
| thu oct 22 16:00 | 55 | 52 | 0 | 3 | 1 | 5.8 | 16.6 | 0.2799 |
| thu oct 22 17:00 | 40 | 40 | 0 | 0 | 1 | 6.1 | 18.1 | 0.2502 |
| thu oct 22 18:00 | 43 | 42 | 1 | 0 | 2 | 5.6 | 16.0 | 0.2768 |
| thu oct 22 19:00 | 31 | 29 | 1 | 1 | 3 | 6.2 | 15.6 | 0.2094 |
| thu oct 22 20:00 | 41 | 41 | 0 | 0 | 2 | 6.2 | 19.5 | 0.1658 |
| thu oct 22 21:00 | 31 | 31 | 0 | 0 | 1 | 8.8 | 19.9 | 0.2647 |
| thu oct 22 22:00 | 26 | 25 | 0 | 1 | 1 | 7.3 | 22.2 | 0.1724 |
| thu oct 22 23:00 | 18 | 18 | 0 | 0 | 0 | 6.2 | 14.5 | 0.0809 |
A narrow heat strip and small time-series traces show changes in request volume, completion status, latency and spend across a week. Selected points open a small record rather than a full administrative dashboard. Cost is an estimate based on configured token pricing, not a billing statement.
what was permitted
Every policy check of the week as an audit mark: 1,084 checks, 843 allowed, 68 held for approval and 173 blocked (43 of them refused at admission, before any upstream call), decided in 7 ms at the median. 102 requests were rerouted to a second upstream: 48 after 429, 35 after 502, 19 after timeout. The table breaks the checks down by category and by day.
data
| allowed | held | blocked | rerouted | |
|---|---|---|---|---|
| read | 673 | 0 | 7 | |
| routine write | 170 | 0 | 20 | |
| high-impact change | 0 | 68 | 60 | |
| secret access | 0 | 0 | 43 | |
| model admission | 0 | 0 | 43 | |
| all checks | 843 | 68 | 173 | 102 |
| oct 16 | 144 | 13 | 27 | 17 |
| oct 17 | 76 | 10 | 12 | 8 |
| oct 18 | 82 | 6 | 20 | 8 |
| oct 19 | 133 | 10 | 21 | 17 |
| oct 20 | 156 | 9 | 31 | 14 |
| oct 21 | 121 | 11 | 31 | 18 |
| oct 22 | 131 | 9 | 31 | 20 |
The router also collects authorization results and records why an action proceeded, waited for approval or was blocked: a small procession of audit marks feeding into a stable log column, consistent observability without publishing internal resource names or agent identities.