BIP32 serializes the depth as one byte but does not say what happens when deriving past depth 255. Bitcoin Core refuses, while several libraries let the depth overflow (bitcoin/bitcoin#32201). In that issue @sipa said a hard limit is better for interoperability and that he would add a note to the BIP: https://github.com/bitcoin/bitcoin/issues/32201#issuecomment-3847331033
I added that note: deriving a child of a depth-255 key must fail. I also added test vector 6, with the keys at depth 255 on the chain m/0/0/.../0 (255 levels). I checked them with Bitcoin Core 31.1 and btclib-wallet, and both refuse to derive any child of them.
I left out the derivation path parsing rules raised in bitcoin/bitcoin#35306. I am happy to add them here if reviewers prefer.
Made with my usual tools: a computer, the Internet and an LLM. The mistakes, as usual, are all mine.