Skip to content

Avoid no-op Current Host catalog generations #210

Description

@ian-pascoe

Problem

The shared catalog update path validates requested IDs, clones the active snapshot, and commits a new generation even when no authority record changes. This creates needless cross-replica activation, receipts, and activity for a semantic no-op.

Acceptance criteria

  • Catalog update resolves/materializes changed bundles before commit.
  • If every requested record is unchanged, return an unchanged/current outcome without publishing a generation.
  • Changed updates still use generation CAS/idempotency and preserve staged-ID reservation.
  • Tests cover all-unchanged, mixed changed/unchanged, replay, and concurrent conflict behavior.

Evidence

Review anchor: packages/core/src/current-host/catalog-operations.ts around sharedCatalogUpdateOutcome (~267-305).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions