Task identifiers are used as raw values for filesystem paths and regex operations in multiple paths, enabling malformed or special-char IDs to bypass expected separation.
Apply one canonical task ID validator at creation and all lifecycle call sites, and replace regex-based registry deletion/comparison with literal parsed-record comparisons.
Please add tests for separators and regex metacharacters across brief creation, promote, merge-local, and teardown paths (local and remote).
Task identifiers are used as raw values for filesystem paths and regex operations in multiple paths, enabling malformed or special-char IDs to bypass expected separation.
Apply one canonical task ID validator at creation and all lifecycle call sites, and replace regex-based registry deletion/comparison with literal parsed-record comparisons.
Please add tests for separators and regex metacharacters across brief creation, promote, merge-local, and teardown paths (local and remote).