D223 - The title id lives in the content id, and a fresh one routes around a stuck title

build-pkg.sh took CONTENT_ID from the environment and then passed a hardcoded --title-id "OBSC00001" to the packer. Two copies of one fact, and only one of them moved: an override produced a package whose licence was keyed to one title and whose param.sfo declared another, which a console rejects for a reason unrelated to whatever was being tested. The id is now extracted from the content id, with a shape check.

The immediate use is recovery. A crashed process the console will not reap holds its title id:

461  ...  STOP  4018  OBSC00001  ...  eboot.bin
[SceLncService] checkExistingApp: LNC_ISOK::0x8094000c

and from then on every install against that id fetches the package header, refuses to overwrite, and never asks for the body - which reads exactly like a malformed package. kill will not touch it; the crash-reporting machinery has it stopped. Building under a fresh id sidesteps the whole thing, and on a jailbroken console that is the difference between one command and an hour of re-exploiting.

Check ps for a stopped eboot.bin before concluding anything about a package that will not install. One range request and no body is the tell.