Skip to content

chore(deps): move the objectstack pin to the 18.1.0 release commit e649c2d91e #13440

Open

Description

@objectstack-fleet

Filing gate ③ a linked chore, filed so it is not carried in memory (cross-repo rule 3). Filed by the objectui domain:ui seat 1 (seat post #5560, project run by the Sales account, session_01WJozybDmRH8z2c5SD7vJkj), with the coordinator's agreement. ⛔ Not a claim. Grade and labels are triage's.

Who acts: the domain:ui seat 1, by a sub-agent, after triage grades it.

Why

What done looks like

Related: #13407 (the previous pin move) · #13285 · #13305 · objectstack-ai/objectstack#25251.

Activity

  1. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    on Oct 24, 2026
  2. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade — dependencies · priority:p1 · domain:ui · area:devpath · pm:queue · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-24T10:54Z

    ⛔ Not a claim, ⛔ not a dispatch.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 6 · 2026-10-24T12:02Z
    Session: session_01CErMSwkRLW7c7jk23MHfVP (card thread, p1; dispatched by this project's coordinator, claim posted by domain:ui seat 1 session_01WJozybDmRH8z2c5SD7vJkj)
    Account: os-sales (the seat's linked user; the card's assignee)
    Branch: claude/issue-13440-objectstack-pin-18-1
    Worktree: objectui-issue-13440
    Domain: domain:ui
    Seat: domain:ui#1
    File surface: .objectstack-sha, .objectstack-pin/**, pnpm-lock.yaml (only if pnpm install rewrites it), written by scripts/bump-objectstack.sh e649c2d91e270e3da26820bcfe54a28445305a75 then pnpm objectstack:build and pnpm install. One named mechanical follow-on: if 18.1.0 turns the external tripwire in packages/auth/src/__tests__/org-roles.test.ts red, packages/auth/src/org-roles.ts replaces its local literal with the spec's MEMBERSHIP_ROLE_EXTERNAL, keeping the exported name ORG_ROLE_EXTERNAL and its value ('external'), together with that test's list. Any other break against 18.1.0 that is not mechanical goes on its own card (stop on breach; the card thread asks the seat first)
    Container & model: S mechanics, p1, mode:thread, effort: xhigh
    Clause-②: no (the pin carries the spec; @object-ui/auth's exported names and values stay the same. If the follow-on removes or retypes an export, the thread re-declares it on the PR)
    Metadata-protocol: none
    Responsibility: objectui builds @objectstack/* from 915e9404, one commit before objectstack#25483, so nothing published in 18.1.0 reaches it | every objectui consumer of the pin | #13285 and #13305 cannot take effect
    Serial constraints cleared: no open PR touches .objectstack-sha, .objectstack-pin/ or packages/auth/src/org-roles.ts (read in this act). Dependabot #13438 (next) and #13439 (happy-dom) touch pnpm-lock.yaml; whichever lands second merges origin/main and regenerates the lockfile with pnpm install, never by hand.

  4. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim amendment · domain:ui seat 1 · session_01WJozybDmRH8z2c5SD7vJkj · 2026-10-24T12:08Z

    File surface, widened by three files. The external tripwire went red on 18.1.0 as the claim expected. Its own failure message names these files, and each edit is mechanical:

    • packages/app-shell/src/console/organizations/__tests__/InviteMemberDialog.roleCap.test.tsx: the owner's offer list gains external, because the spec's role list now carries it. The delegate case and the not-yet-loaded case expect ['member', 'external'], and the delegate case's name becomes "offered member and external only".
    • packages/app-shell/src/console/organizations/__tests__/org-i18n-holdouts-4474.test.tsx: the zh and en role dropdowns end with 外部成员 / External.
    • .changeset/13440-objectstack-pin-e649c2d.md: '@object-ui/auth': patch. The published org-roles now imports the constant from the spec, which needs spec 18.1.0 or later; the release's floor script writes that lower bound.

    packages/auth/src/org-roles.ts re-exports MEMBERSHIP_ROLE_EXTERNAL as ORG_ROLE_EXTERNAL. The exported name and value are unchanged, and the declared type is still "external". ORG_ROLE_LABELS returns to Record<OrgRole, …>, which is the same key set now that OrgRole includes external. Clause-② stays no.

    The owner seeing external in the invite dialog follows from the spec's vocabulary at 18.1.0 (objectstack#25515, ruling B on objectstack#25233). It is not a choice made on this card. Nothing else in the claim changes.


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim amendment 2 · domain:ui seat 1 · session_01WJozybDmRH8z2c5SD7vJkj · 2026-10-24T12:15Z

    File surface, widened for the two follow-ons that every cross-version pin move owes. The manifests' version moves from 18.0.0 to 18.1.0, so two blocking gates now ask for them:

    1. check:installed-pin-claims (blocking through scripts/__tests__/check-installed-spec-pin-claims.test.ts) flags 34 present-tense "installed/pinned 18.0.0" claims in 24 files:

      • apps/console: registry-inputs-spec-parity.test.ts.
      • packages/app-shell: celAuthoring.ts and four flow tests.
      • packages/core: optionRules.ts.
      • packages/plugin-calendar (two files), packages/plugin-designer MetadataFieldsPage.tsx, packages/plugin-detail index.tsx, packages/plugin-form (two tests), packages/plugin-gantt, packages/plugin-kanban index.tsx.
      • packages/types: field-types.ts, objectql.ts, record-components.ts, zod/objectql.zod.ts, and six tests.

      Comments and test description strings only; no code changes. Each claim is re-checked before its stamp moves. Between 915e9404 and e649c2d91e, the spec source changes only:

      • flow.zod.ts (the runAs description) and object.zod.ts (membershipKeys);
      • identity/*, the execution context, explain, RLS and stack.zod.ts;
      • one semantic migration.

      None of those is the subject of the 34 claims (the ui/* schemas, FieldSchema and its options, the flow node configs, the ComponentPropsMap rows). The lint package's validate-expressions.ts and the trigger package's source are unchanged too. Each stamp becomes 18.1.0. A claim that carries a re-test list gains objectui#13440, in chore(deps): move .objectstack-sha to objectstack 18.0.0's version commit 06cab4849a — unlocks objectui#13121, #13119, #13076, #12484; ⛔ not past it until objectui 18.0.0 is published #13261's wording.

    2. scripts/__tests__/ci-cd-pipeline-doc.test.ts requires e2e/live/ci/backend.env's OBJECTSTACK_VERSION to equal the pinned spec version. It moves from 18.0.0 to 18.1.0. With the tag prefix stripped, @objectstack/cli@18.1.0 is e649c2d91e.

    Both gates and their tests are green locally. Clause-② stays no: no exported name, type or value changes. Nothing else in the claim changes.


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim amendment 3 · domain:ui seat 1 · session_01WJozybDmRH8z2c5SD7vJkj · 2026-10-24T12:27Z

    File surface, widened by two test files. Both are spec-key count guards that the new pin moves:

    • packages/app-shell/src/services/MetadataService.specKeyObjectPayload.test.ts, red on CI shard 5 at b26cfb1.
    • packages/app-shell/src/services/MetadataService.retiredObjectEnabled.test.ts, which carries the same guard.

    At e649c2d91e, ObjectSchema.shape has 47 keys, up from 46. The added key is membershipKeys (objectstack#25513). Between the two pins, the spec's own authorable-surface/data.json gains exactly one row, data/Object:membershipKeys, and loses none.

    Both files call the count "a corpus guard, not its subject" and carry no full key list. The fix is the count, 46 → 47, plus one history note in the wording the earlier pin moves used. The member assertions below the count do not change, and neither does payload behaviour. Clause-② stays no. Nothing else in the claim changes.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedependenciesdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:dispatchedpriority:p1

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions