v3.23.8: the command-grouped TERMINAL RESPONSE result list

The step editor's result select offers the full TS 102 223 8.12.0 list; the
spec's applicability table (Tables 6.1/6.2/6.3, "Proactive commands versus
possible terminal response") now groups it by the selected command: the
command-relevant values first (an <optgroup> "relevant for <command>"), the
rest after ("all other results").

The grouping is ordering-only - nothing is hidden, the manual hex entry
covers everything, and ANY (the drain's respond/first too) stays a flat list,
so a stored result always matches an option and real-card deviations remain
reachable.

TR_RESULT_BY_COMMAND is parsed from the pinned PDF (41 commands) and pinned
by frontend/tests/tr_result_by_command.json; trCommandCode() resolves the
editor's command names to their type codes (the first code per name,
matching testCommandOptions) and testFormSelect gained the optgroup support.

Tests: the map vs the parsed fixture, the grouping and the union (nothing
lost), the optgroup rendering and the call-site pin.  861 frontend + 842
Python; sw cache simple-v421.
This commit is contained in:
2026-10-08 21:55:57 +03:00
parent c9ab15c392
commit 2b994a7a89
8 changed files with 220 additions and 17 deletions
+5 -1
View File
@@ -473,7 +473,11 @@ identities, **Result**, Duration, Text string, Item identifier, …):
- `result` - a script alias or the two-digit hex value. The editor offers
the **full TS 102 223 §8.12.0 list** (`00`–`3F`), labelled
`<hex> - <alias>` where an alias exists, else `<hex> - <name>`, plus a
**manual** hex entry for any other value. The aliases:
**manual** hex entry for any other value. With a command selected (other
than `ANY`) the list is **grouped** by the spec's applicability table
(TS 102 223 Tables 6.1/6.2/6.3, "proactive commands versus possible terminal
response"): the command-relevant values first, the rest after - nothing is
hidden, the manual entry covers everything. The aliases:
`ok`=00, `partial`=01, `missing`=02, `modified`=07, `cancel`=10,
`back`=11, `timeout`=12, `refused`=22, `not_understood`=32 (and
`no_response`=12, kept for compatibility only).