Skip to content

core: retire the unsigned-sidecar migration and its private decoder once no unsigned library remains #457

Description

@justin13888

Summary

PR #455 (S-D24) deleted the unsigned pre-signed-path sidecar type (AssetSidecar) and its reader, and replaced them with an explicit one-time migration, Workspace::migrate_unsigned_sidecars, which carries the only remaining decoder of the legacy shape as a private LegacyRecord in capsule-core/src/lifecycle/migrate_unsigned.rs, plus the LegacyUnsigned arm of the crate-private probe capsule-core/src/sidecar/shape.rs.

Both exist so that a library written before the signed path can be brought forward. Once no such library remains — every library in existence today is developer-recreated (SLICES S-D23), and the migration is idempotent — they are dead weight in a frozen crate.

Deliverable

  • Delete lifecycle/migrate_unsigned.rs's decoder and verb, the UnsignedMigrationOptions / UnsignedMigrationReport / MigrationSkip / UnmigratedShape::LegacyUnsigned public items, and SidecarShape::LegacyUnsigned; keep the open-time report of chainless sidecars (Workspace::unmigrated_sidecars) if it still earns its place, or fold it into the maintenance scrub's quarantine surface.
  • Keep reading the fold: a migrated asset's signed sidecar carries the legacy map under _unknown["legacy-unsigned-sidecar"], covered by the signature, and the never-strip rule means it stays there forever. Nothing in this retirement touches signed bytes.
  • Retire the CLI verb from the follow-up that adds it, and the maintenance-table row in design/filesystem/maintenance.md.

Precondition

A recorded decision that no unsigned library remains (or a deprecation window has elapsed). Recorded as decision 5's "Filed" line in PR #455.

Refs #412, #455.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions