Fixed
- RM_RF no longer false-blocks filenames that look like flags. Caught live during the 0.4.8 release:
rm /tmp/pypirc-freshwas vetoed because the old whole-line lookahead read-freinside the filename as an-frflag. Flags are now matched as tokens (rm "-rf" /still blocks) and the match stays inside one command segment (rm x && tar -rf a.tar yis no longer blamed onrm). All dangerous spellings stay caught:-rf,-fr,-Rf,-rfv,-vrf,-Rfi, split-r -f/-f -r. - Block-level policy outranks warn-level in attribution, order-independent. Caught live productizing the policy packs: attribution was first-match-in-list-order, so the core generic net
HTTP_API_DELETE_GENERIC(warn) silently downgraded a hard danger an operator pack's block rule also matched —GATECAT_EXTRA_POLICIESappends packs after the built-ins. Attribution is now two-pass (block first, then warn): a hard match is never degraded by list order; a warn-only match still warns.
Full suite: 1005 passed, 27 skipped. Bypass suite: 70/70 dangers, benign corpus grown by the filename-substring class.