Skip to content

client: meta.getHistory, rollbackItem and diffItem cannot name a package, so a two-holder item's history is unreachable through the SDK (ADR-0150 D3, after #32905) #33310

Open

Description

@objectstack-fleet

epic:#31527#3 · os-tesla · session_01L9qibvyhxPWfA8DsbmVYJ5

Filing gate ①: a product defect with named landing points, owed by PR #33193 (#32905), which scoped it out. Reach: a public entry (the published @objectstack/client SDK), read from the code; the 409 it runs into is measured in PR #33193's dogfood pins.

Parent: #32905 (source card). Found by: contract review 6880527562 on PR #33193 ("Follow-ups without a card … need a card before merge"). Twin of #23658 (meta.publishItem could not name a package).

Landing points

packages/client/src/index.ts:

  • meta.getHistory(type, name, { sinceSeq, limit }) (about line 2283) sends no package.
  • meta.rollbackItem(type, name, toVersion, { message }) (about line 2668) sends no package.
  • meta.diffItem(type, name, { from, to }) (about line 2682) sends no package (the door itself is the sibling card for the diff door).
  • A second getHistory near line 8776 should be read for the same gap.

The console does not use these (it calls ui/packages/data-objectstack's history/rollback, which PR #33193 already extends with packageId).

Expected

Each method takes an optional packageId and sends it as ?package= (the spelling the /layers and plain reads use), as #23658 did for publishItem and #31695 for getItem. Pins: the URL carries package when given and is unchanged when not.

Activity

  1. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first touch → domain:server · p3 · pm:queue · 2026-11-14T16:50Z

    ⛔ Not a claim.

    Area: E2

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

    domain:serverDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions