scripts/release/publish_strict.sh asserts [ "${#ORDER[@]}" -eq 74 ] && [ "${#EXPECT[@]}" -eq 74 ] and sort -u | wc -l = 74, and prints "74 crates" / "74/74 live". That is a 0.68.2-era constant of the same class #3618 removed for V/MS/EPIC/LAST_TAG/AP (#3655).
Measured tonight: 71 publishable packages at v0.68.2 and on origin/main (cargo metadata --no-deps); ORDER = publish-order.txt (71) + the 3 provable-contracts facades = 74; scripts/lib/cascade_universe.py on main prints 74 rows. So 0.69 does not trip it, and the check fails closed (die) if the count changes. It is still a literal that will stop a future cascade for a reason unrelated to publish safety.
What lands
- Derive the expected size from the same source that builds
publish-order.txt (cargo metadata at the tag + the facade list), and assert ORDER == universe as sets (no missing, no extra, no duplicate). The script already checks membership one way.
- Extend
scripts/check_release_scripts_derive_identity.sh (or its case table) so a bare crate-count literal in an assertion is refused, with a planted-literal row.
Not a T-4 blocker for 0.69. Refs #3618 #3655.
scripts/release/publish_strict.shasserts[ "${#ORDER[@]}" -eq 74 ] && [ "${#EXPECT[@]}" -eq 74 ]andsort -u | wc -l= 74, and prints "74 crates" / "74/74 live". That is a 0.68.2-era constant of the same class #3618 removed for V/MS/EPIC/LAST_TAG/AP (#3655).Measured tonight: 71 publishable packages at v0.68.2 and on origin/main (
cargo metadata --no-deps); ORDER =publish-order.txt(71) + the 3 provable-contracts facades = 74;scripts/lib/cascade_universe.pyon main prints 74 rows. So 0.69 does not trip it, and the check fails closed (die) if the count changes. It is still a literal that will stop a future cascade for a reason unrelated to publish safety.What lands
publish-order.txt(cargo metadataat the tag + the facade list), and assertORDER == universeas sets (no missing, no extra, no duplicate). The script already checks membership one way.scripts/check_release_scripts_derive_identity.sh(or its case table) so a bare crate-count literal in an assertion is refused, with a planted-literal row.Not a T-4 blocker for 0.69. Refs #3618 #3655.