You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Closes the 58 issues + 9 hotspots flagged on PR #194. Categorised:
BLOCKERs (real fixes):
- .github/workflows/action-json-lint.yml: pipe ``inputs.autocontrol_ref``
and ``inputs.files`` through env vars so script injection via
workflow_call dispatch is no longer possible (S7630, 3 occurrences).
CRITICALs (real refactors):
- agent_loop._run_loop: extracted ``_take_one_step`` + ``_dispatch_tool``
so cognitive complexity drops from 17 → ≤10 (S3776).
- action_lint.linter._check_required: extracted ``_scan_signature``
helper, complexity 19 → ≤10 (S3776).
- test_acme_v2._install_stub: extracted ``_stub_response`` URL table,
complexity 20 → ≤10 (S3776).
BUGs (test correctness):
- float-equality across test_observability, test_time_travel,
test_config_sync, test_resource_profiler, test_visual_regression
switched to ``pytest.approx`` (S1244, 13 occurrences).
K8s (security defaults):
- All three deployments now set ``automountServiceAccountToken: false``
(S6865), use ``Chart.AppVersion`` as the image-tag default instead of
``latest`` (S6596), and the resources block now requests
``ephemeral-storage`` alongside cpu/memory (S6897).
Docker:
- Dockerfile drops root after the apt + pip layers — adds a system
``autocontrol`` user (uid 1001) and ``USER autocontrol`` directive
(S6471 hotspot).
Cleanups:
- Removed redundant ``TimeoutError`` from an exception tuple in
admin_client (S5713) — already a subclass of OSError.
- Dropped the unused ``list()`` wrapper + ``version`` local in
usbip/server (S7504 / S1481).
- Reformatted multi-line struct-format comments in usbip/protocol so
Sonar stops misreading them as commented-out code (S125 ×2).
- Renamed unused locals to ``_`` in test_usbip,
test_admin_console_thumbnails_gui (S1481 ×3).
- Removed the always-shadowed ``text`` assignment in
test_observability (S1854).
- Documented the empty ``encode(None)`` flush loop in video_codec so
Sonar stops flagging it as an empty block (S108).
- Wrapped the LSP ``run`` loop in try/except + transport-error path so
it no longer always returns the same value (S3516).
- Split the ``isinstance(...) and len(...) > 0`` asserts in
test_acme_v2 into separate statements (S2589 ×3).
NOSONAR with documented reasons (legitimate use that Sonar misreads):
- USB 2.0 spec field names ``bmRequestType`` / ``bRequest`` / ``wValue``
/ ``wIndex`` / ``wLength`` and the dataclass interface fields
``bInterfaceClass`` etc.: snake-case rename would diverge from libusb
and the USB spec (S117 / S116, 8 markers total).
- ``PaddleOCR`` local var: matches the upstream library class name.
- Localhost HTTP in ``examples/15_rest_api.py`` (×2) plus the two
admin-thumbnail test fixtures (×4): demo / fixture URLs, no real
network exposure (S5332 hotspots).
- The fake RBAC test token in test_rbac (S6418), the example-only
vault passphrase in examples/16_secrets (S2068), and the ``/tmp``
literals embedded in JSON payloads / fake echoes in test_action_lint
and test_tool_use_schema (S5443 ×3 / S2083 ×1).
Out of scope for this commit:
- autocontrol-lsp/vscode/package.json missing package-lock.json
(text:S8564) — scaffold not yet published; lockfile will be added
in the same change that wires the publish CI.
0 commit comments