pub struct Ppnum(/* private fields */);Expand description
Validated Ppoppo Number (≥11 digits, ASCII digits only).
Format matches PAS DB CHECK constraint ^[0-9]{11,}$. Variable
length (11/15/19/…): 11 digits = independent ppnum, 15+ digits =
dependent (sub-agent hierarchy, +4 digits per nesting level).
Wire form (this type’s Display impl) is the raw digit string
(12312345678). UI layers may render with hyphen grouping
(123-1234-5678); that formatting is the consumer’s choice and
is NOT performed by Display or as_str(). The validator also
rejects hyphenated input on parse — only the wire form is accepted.
Prefix is band-allocated and carries no semantic meaning — class
is decided by ppnums.entity_type / ppnums.number_class columns
server-side, never by leading digits (PAS Constitution Principle III).
No upper length bound is enforced; trust PAS issuance.
Guaranteed valid by construction: holding a Ppnum proves the format is correct.
Use "12312345678".parse::<Ppnum>() or Ppnum::try_from(string) to create.