Skip to content

Name the priority levels Express, Priority and Best-effort - #612

Merged
jmtts merged 1 commit into
mainfrom
claude/tier-names
Oct 13, 2026
Merged

jmtts merged 1 commit into
mainfrom
claude/tier-names

Conversation

@werk24

@werk24 werk24 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

The client's docstrings described the three priority levels as "highest", "medium" and "lowest" priority, which is not how the levels are named anywhere else. The decision is one name per level, used everywhere: PRIO1 is Express (picked up within 10 seconds, p99), PRIO2 is Priority (within 1 minute, p99) and PRIO3 is Best-effort (within 10 minutes, p99). The names are product names and are not translated. This pull request brings the client's documentation in line. Nothing a program reads changes: the enum values stay PRIO1, PRIO2 and PRIO3, and validation, error codes and the request field are untouched.

What changed

  • werk24/models/v2/enums.py, Priority:
    • class docstring: "Lower numbers indicate higher priority (faster processing)" -> "The priority selects the queue a request waits in before processing starts. Each level has a name and a pickup promise: the time within which 99% of requests (p99) are picked up."
    • "PRIO1: Highest priority, fastest processing" -> "PRIO1: Express, picked up within 10 seconds (p99)."
    • "PRIO2: Medium priority" -> "PRIO2: Priority, picked up within 1 minute (p99)."
    • "PRIO3: Lowest priority, suitable for batch processing" -> "PRIO3: Best-effort, picked up within 10 minutes (p99)."
    • the three member docstrings likewise ("Express: picked up within 10 seconds (p99)." and so on).
  • werk24/techread.py (the priority argument of read_drawing, read_drawing_with_hooks and read_drawing_with_callback) and werk24/utils/priority.py: Valid values are "PRIO1", "PRIO2", "PRIO3" (case-insensitive). -> Valid values are "PRIO1" (Express), "PRIO2" (Priority) and "PRIO3" (Best-effort), case-insensitive.
  • werk24/models/v2/internal.py, the priority field description: "Valid values are PRIO1, PRIO2, PRIO3." -> "Valid values are PRIO1 (Express), PRIO2 (Priority) and PRIO3 (Best-effort)."
  • werk24/utils/exceptions.py, PriorityTooHighError:
    • docstring: "if an account has PRIO2 tier and requests PRIO1 processing" -> "if an account is on the Priority tier (PRIO2) and requests Express (PRIO1) processing".
    • CLI message: "if your account tier is PRIO2, you can request PRIO2 or PRIO3." -> "if your account tier is PRIO2 (Priority), you can request PRIO2 (Priority) or PRIO3 (Best-effort)."

Left alone on purpose: two "best effort" docstrings, in werk24/cli/commands/techread.py (showing an image) and werk24/techread.py (reading an error response body), which describe how a helper behaves and not a priority level.

Tests

.venv/bin/python -m pytest on Python 3.13, as CLAUDE.md gives it: 1023 passed, 5 skipped before the change and 1023 passed, 5 skipped after. No test pins these docstrings or the CLI message wording. The five skips are the credential-gated live tests.

Questions for the owner

None. This only renames levels in documentation and in one CLI hint; no value, behaviour or default changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GJhF9p9qA66AE7stT2YCrz

The priority docstrings described the three levels as "highest", "medium"
and "lowest" priority. Use the product names and pickup promises instead:
PRIO1 is Express (picked up within 10 seconds, p99), PRIO2 is Priority
(within 1 minute, p99) and PRIO3 is Best-effort (within 10 minutes, p99).

The enum values stay PRIO1, PRIO2 and PRIO3; only the docstrings, the field
description and the PriorityTooHighError CLI message change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GJhF9p9qA66AE7stT2YCrz
@jmtts
jmtts merged commit 69ed8dc into main Oct 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants