---
{
  "n": 35,
  "title": "Viewer polls stay at a second or slower and have a budget",
  "abstract": "",
  "refs": [],
  "seen": [
    "agent"
  ],
  "data": {
    "command": ".venv/bin/python scripts/checks/pollers.py",
    "environment": "main-hedy-lockwell",
    "buttons": [
      {
        "label": "Run",
        "type": "check",
        "action": "run",
        "n": 35,
        "again": true
      }
    ],
    "running": {},
    "last": {
      "ok": false,
      "code": 2,
      "at": 1791694327.169718,
      "took": 0.11,
      "steps": 0,
      "output": "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/Resources/Python.app/Contents/MacOS/Python: can't open file '/Users/jessegall/projects/agent-journal/scripts/checks/pollers.py': [Errno 2] No such file or directory",
      "report": null
    },
    "runs": [
      {
        "ok": false,
        "code": 2,
        "at": 1791694327.169718,
        "took": 0.11
      }
    ]
  },
  "created": 1791599935.096171,
  "updated": 1791694391.99679,
  "deleted": 0.0,
  "completed": 1791694391.996564,
  "outcome": "Retired with its reason on the record. This check ran scripts/checks/pollers.py, which refused any viewer poll under a second or without a budget in tests/test_the_budgets.py. Both the script and that test are gone - the test had to go, since tests/ holds only the generated runs and scripts/checks/test_shape.py enforces it - but the check's command was left pointing at the deleted script. So it has been failing on a missing file rather than checking anything, and running the restored script today reports 42 pollers with no budget: every one of them, because the file it compares against no longer exists.\n\nWhat replaced it is better and already works: dev_faults carries one budget of 50ms of working time for every request, hook and command and reports anything over it, which produced every performance finding of 2026-10-11. A per-route budget list in a test file would have told us less and gone stale, as this one did.\n\nRefusing a poll interval under a second is still worth doing, and belongs in its own small check over the viewer's sources with no dependence on a test file. Filed as its own row.",
  "type": "check"
}
---

