UX-08 review: tighter notification texts, and two meaning fixes
- not delivering: the body said control keeps running and then "start
control"; clearing it takes stop then start, and it now says so.
- peak reserve: the "reserve not set" branch is really soc_floor None,
i.e. an inverter's cut-out level missing; it now names that. The title
is true on all three branches ("Battery stopped limiting the peak").
- no semicolon run-ons in bodies (STYLE.md + test); loop-bound, circulating,
meter-frozen and multi-unit over-rating bodies rewritten to match.
- allowlist cap is now exact, so a shrink cannot leave room to regrow.
- DOCS names the settings behind "peak reserve" and "cut-out level";
DECISIONS no longer states the HA anchor behaviour as fact.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,8 @@ def body_problems(body, severity):
|
||||
out.append(f"{severity} body over 1 sentence ({n_s})")
|
||||
if n_w > 25:
|
||||
out.append(f"{severity} body over 25 words ({n_w})")
|
||||
if ";" in body:
|
||||
out.append("semicolon: split it into sentences or drop a clause")
|
||||
return out + text_problems(body, keys=False, entities=False)
|
||||
|
||||
|
||||
@@ -297,7 +299,9 @@ def key_of(kind, text):
|
||||
|
||||
|
||||
ALLOW_FILE = HERE / "ux08_allowlist.txt"
|
||||
# The allowlist may never grow: lower this number when you delete lines.
|
||||
# The allowlist may never grow. The test demands the list be exactly this long,
|
||||
# so deleting lines means lowering this number in the same change, and adding
|
||||
# one means raising it where a reviewer sees it.
|
||||
ALLOWLIST_MAX = 200
|
||||
|
||||
|
||||
@@ -340,8 +344,9 @@ for k in stale:
|
||||
f"delete its line from ux08_allowlist.txt")
|
||||
check(f"no allowlist entry is stale, so the list only shrinks "
|
||||
f"({len(stale)} stale)", not stale)
|
||||
check(f"the allowlist has not grown ({len(allow)} entries, cap {ALLOWLIST_MAX})",
|
||||
len(allow) <= ALLOWLIST_MAX)
|
||||
check(f"the allowlist is exactly its cap ({len(allow)} entries, cap "
|
||||
f"{ALLOWLIST_MAX}): lower the cap when you delete lines",
|
||||
len(allow) == ALLOWLIST_MAX)
|
||||
print(f"CI: UX-08 allowlist {len(allow)} entries "
|
||||
+ ", ".join(f"{k} {sum(1 for x in allow if x.startswith(k + ' '))}"
|
||||
for k in LIMITS))
|
||||
@@ -366,6 +371,8 @@ check("a six-word title is refused",
|
||||
check("a GoodWe prefix is refused", bool(title_problems("GoodWe: meter stuck")))
|
||||
check("a second sentence in a warning is refused",
|
||||
bool(body_problems("The battery lags. Check it.", messages.WARNING)))
|
||||
check("a semicolon run-on is refused, in an alarm too",
|
||||
bool(body_problems("It stopped; check it.", messages.ALARM)))
|
||||
check("a fourth sentence in an alarm is refused",
|
||||
bool(body_problems("One. Two. Three. Four.", messages.ALARM)))
|
||||
check("an internal name is refused", bool(body_problems(
|
||||
|
||||
Reference in New Issue
Block a user