Enforce 2-letter-then-2-digit shape on channel ids #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
channels/src/otel_a2a_relay_channels/ids.pygenerates a 4-character channel id by drawing each position uniformly from the full dictatable alphabet (ABCDEFGHJKMPQRSTUVWXYZ456789), so ids end up in arbitrary letter/digit orders. Kai wants channel ids to share one shape with the Claude session tag in agentic-osscripts/agent-name.sh: two letters then two digits (e.g.AB45,HJ59). The letter-then-digit split keeps the spoken form predictable when channel ids get dictated across hosts.Change
new_id(): draw 2 chars from the dictatable letter subset (ABCDEFGHJKMPQRSTUVWXYZ) then 2 chars from the dictatable digit subset (456789).norm_id(): reject ids whose first two chars are not letters or whose last two chars are not digits.ID_LETTERS,ID_DIGITS,ID_LETTER_LENfor tests.tests/test_ids.pywith positional shape assertions and new rejection cases (ABCD,4567,45AB,A4B5).Companion change for the agent-name tag and dictatable-id doc lands in agentic-os.