Back to Downloads

Nightly update: we broke cartridge manifests, and this fixes it

The previous nightly introduced the new effect axis for cap URNs and made cap:effect=none the only legal identity cap. That part was intentional. What we broke was the migration around it: some cartridge manifests were still being published with the old vacuous identity forms such as cap: or cap:in=media:;out=media:.

This nightly is the fix.

What changed

  • Cartridge identity handling was tightened so published manifests now use the new legal identity form consistently:
    • cap:effect=none
  • The app and engine now fail on the old vacuous top-cap identity forms instead of quietly treating them as valid.
  • Runtime output inference continues to respect the new effect axis, so broad declared out= values no longer incorrectly drive file extension and persistence decisions when a cap actually preserves the concrete runtime media type.
  • Manifest/test coverage around cartridge identity was tightened so this regression is less likely to slip back in unnoticed.

What was broken

  • Some cartridges were still advertising old identity caps in their manifests.
  • That caused registry indexing failures such as:
    • invalid cap URN cap:
    • invalid cap URN cap:in=media:;out=media:
  • In practice, that could prevent cartridges from being indexed or discovered correctly even though the fabric registry itself had been updated.

Why it matters

  • The new cap-URN regime only works if the cartridge registry and the fabric registry agree on what a legal identity cap is.
  • cap:effect=none is now the explicit identity morphism across the stack. This nightly closes the gap between the new rules and the cartridge manifests being published in the wild.

Notes

  • This is a nightly build intended for testing and feedback.
  • The main purpose of this build is to repair the cartridge-manifest breakage introduced during the effect migration.

Feedback