Skip to content

Run on @objectstack 18.2.0, with the positions and permission sets translated - #155

Merged
zhuangjianguo merged 1 commit into
mainfrom
claude/project-thread-900k0g
Oct 27, 2026
Merged

zhuangjianguo merged 1 commit into
mainfrom
claude/project-thread-900k0g

Conversation

@zhuangjianguo

@zhuangjianguo zhuangjianguo commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Requested by Steedos · project thread

What changes

  • @objectstack/spec, runtime, plugin-hono-server and cli move from 18.1.0 to 18.2.0 (exact pins, as the 18.1 upgrade Upgrade the @objectstack/* dependencies from 17.7.0 to 18.1.0, walking the official upgrade checklists of 18.0 and 18.1 #110 set them), with the eight CLI overrides in pnpm-workspace.yaml moved together. The lockfile resolves every @objectstack/* package to 18.2.0 (no 18.1.0 left).
  • 18.2 makes a position's and a permission set's label / description translatable, and objectstack lint / the i18n gate now count them (24 missing zh-CN keys after the bump). New src/translations/{en,zh-CN}/security.ts carries the 7 positions and 5 permission sets; the zh-CN position names follow DESIGN.md §04 (法务经办, 法务负责人, 财务负责人, 分管领导, 总经理, 档案与记录管理员, CLM 管理员).

No metadata is reshaped: none of the 18.2 breaking changes (action copy templates, allowDelete:false beside modifyAllRecords, escalateTo addresses, locale tags, node visibleOn…) hits hotclm's sources.

Gates (on this branch)

pnpm validate        ✓ Validation passed
pnpm lint            exit 0
pnpm typecheck       exit 0
pnpm lint:i18n-gate  ✓ COVERAGE: 0 missing keys across 2 locale(s)

New 18.2 lint warning, not fixed here

18.2's lint adds one warning that 18.1 did not have: security-controlled-by-parent-owner-policy-without-opt-in on clm_requester's obligation_requester_own policy (clm_obligation is controlled_by_parent, so the owner-scoped update never admits a requester who cannot edit the contract). That is the existing card #64, and 18.2's sharing.controlledByParent.ownerMayEdit is the capability #64 waits on. It is a security-posture change, so it stays on #64 rather than in the version bump.

Browser verification of the main flows: see the comment below — every main flow passes.


Generated by Claude Code

…anslated

- Pin the four @objectstack/* packages and the eight CLI overrides to 18.2.0.
- 18.2 makes a position's and a permission set's label and description
  translatable, and the i18n gate counts them: add src/translations/*/security.ts
  (7 positions, 5 permission sets; zh-CN names follow DESIGN.md §04).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsR2jQozKyfQfrxKZRDPf2
@objectstack-fleet

Copy link
Copy Markdown
Contributor

Browser verification on 18.2.0 (fresh pnpm demo:zh, zh-CN, 11 README-made personas)

Main flows pass for every persona:

New cards from this pass: #156 #157 #158 #159, objectstack#26562 #26563. Still reproducing, already carded: #139, #140.

18.2 also ships what nine pm:blocked cards wait on: #134, #43, #64, #127, #99, #41, #31, #28, #19 (only #134 measured; the rest matched against the 18.2 CHANGELOG).

Full report and screenshots: project files hotclm-objectstack-18-2-upgrade/.


Generated by Claude Code

@objectstack-fleet

Copy link
Copy Markdown
Contributor

席位核对 — ACCEPT · head 0b2622f · 2026-10-27T08:36Z

check reading
shape draft → main, on top of main 3b7364f; assignee zhuangjianguo; mergeable clean. The maintainer asked for it in the project thread: 「hotclm 升级到 objectstack 18.2」
CI on the head both Validate check-runs success on 0b2622f = PR head.sha
pins package.json 4 exact pins and the 8 pnpm-workspace.yaml overrides go from 18.1.0 to 18.2.0. The lockfile has 0 @objectstack/*@18.1 entries, and every @objectstack/* resolves to 18.2.0
translations src/translations/{en,zh-CN}/security.ts: 7 positions and 5 permission sets. The en strings are verbatim from src/sharing/positions.ts and src/profiles/*.profile.ts. The zh-CN position names match DESIGN.md §04 (法务经办 · 法务负责人 · 财务负责人 · 分管领导 · 总经理 · 档案与记录管理员). This closes 18.2's 24 new i18n-gate keys
scope 7 files, nothing governed (no DESIGN / AGENTS / CLAUDE / CHANGELOG / docs/design). No metadata reshaped
browser the dev's pass with 11 README-made personas on a fresh demo:zh (comment 6437265614): every main flow passes
known, not here one new 18.2 lint warning, security-controlled-by-parent-owner-policy-without-opt-in on obligation_requester_own. It belongs to #64, which waits on exactly the ownerMayEdit capability 18.2 ships. Unblocking #64 and the other cards 18.2 unlocks is the seat's next step after landing
observation the finance position's description predates #153 (the routed read during approval). This is source-string drift, not a translation issue. It is noted for the #134 follow-up, no card

Landing: under the maintainer's merge authorization (project thread: 「你可以自己审核的就自己合并」).


Generated by Claude Code

@zhuangjianguo
zhuangjianguo marked this pull request as ready for review October 27, 2026 08:37
@zhuangjianguo
zhuangjianguo merged commit 21f2319 into main Oct 27, 2026
2 checks passed
This was referenced Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants