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
Copy file name to clipboardExpand all lines: AGENTS.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -417,6 +417,16 @@ uv run hamcp-test-env --no-interactive # For automation
417
417
418
418
Test token centralized in `tests/test_constants.py`.
419
419
420
+
**Unit tests** (`tests/src/unit/`, no Docker) — run them in parallel, as CI does
421
+
(`pr.yml`); serial takes 25+ minutes for ~11k tests:
422
+
423
+
```bash
424
+
uv run pytest tests/src/unit/ -n auto --tb=short
425
+
```
426
+
427
+
`tests/pytest.ini` sets `--maxfail=3`, so a run reporting "3 failed" has stopped
428
+
early rather than finished — pass `--maxfail=0` when you need the full picture.
429
+
420
430
### Code Quality
421
431
422
432
C901 (mccabe complexity ≤10) is enforced repo-wide with zero per-file exemptions (issue #925 cleared the grandfathered list) — never reintroduce a `["C901"]` per-file-ignore; extract helpers instead.
@@ -896,7 +906,10 @@ empty, so the English a `tools` entry translates is read from the tool
896
906
definition in `src/ha_mcp/tools/` — the `title=` kwarg and the summary
897
907
paragraph of the docstring, or the `FEATURE_GATED_TOOLS` stub where a gated
898
908
tool shows one instead. Editing that summary moves the English out from under
899
-
six catalogs; the pipeline retranslates them. One deliberate exception: a
909
+
six catalogs; the pipeline retranslates them. A parameter's
910
+
`Field(description=...)` is NOT in the baseline — only the title and the
911
+
docstring summary are — so editing one owes no translation work. One
912
+
deliberate exception: a
900
913
change to a feature-gated tool's PARSED docstring (its stub unchanged) is
901
914
stub-review work, not translation work — the pipeline holds that baseline key
902
915
stale, and the locale-sync run stays red until a human confirms the stub
0 commit comments