Repository navigation
Commit 9e9e6f9
Part of #15204
Clause-②: yes (narrowing)
**6b-2a of stage 6b-2**: `os meta resync` is deleted (Q2 → A,
6109520247), along with the two example binders (E4 → A, 6110777865). It
does not depend on T1 or T2 and can land first. It must land before the
6b-2 code PR #22900, which stays under 3,000 changed lines only once
this PR is on `main` (seat notes 6114241228, 6114456408). **Tier H**:
the diff touches `skills/objectstack-platform/references/operations.md`.
## What changes
| Surface | Before | Now |
|:--|:--|:--|
| `os meta resync` (`packages/cli/src/commands/meta/resync.ts`) |
reconciled the platform-default `sys_permission_set` rows to the shipped
declaration | deleted. The resolver reads sets from the catalog
(ADR-0131 D3), so an edited default is served from its declaration at
the next boot. A script that calls it gets oclif's unknown-command error
|
| `skills/objectstack-platform/references/operations.md` | listed `os
meta resync` | the row now names `os meta register` |
| `examples/app-crm/src/security/bind-position-sets.ts`,
`examples/app-showcase/src/security/bind-position-sets.ts` | wrote
`sys_position_permission_set` rows at enable or seed | deleted with
their registrations. The positions declare their sets
(`PositionSchema.permissionSets`), and the resolver reads those. The
examples' tests pin the declared pairs literally: crm 3, showcase 8 |
| CLI internals, `driver-sql`, `runtime`, plugin-security comments and
one warning sentence | named the command | no longer do. Behaviour
unchanged |
| `resync-skip-explanation.test.ts` | pinned the command's skip line |
deleted with the command |
| `bootstrap-platform-admin.test.ts`,
`bootstrap-platform-admin-seeded-provenance.test.ts` | pin the
platform-default seeding and its `resync` option | **kept**,
byte-identical to `main`: that code runs on `main` until #22900 deletes
it, so the suites leave with T2 (#22898), directly before #22900 |
| `scripts/docs-audit/affected-docs.mjs`,
`scripts/check-cli-command-ids.mjs` | self-test specimens named `meta
resync` | they name `meta register`, a command that exists |
## Changeset
`@objectstack/cli` **minor**, BREAKING. `plugin-security`, `driver-sql`
and `runtime` are patch (comments and one warning sentence). `Clause-②:
yes (narrowing)`, ADR-0087 `not-required (no-migration-prescription)`.
## Size
31 files, +94 / −659 (753 changed lines).
## Verification
On this branch: CLI typecheck green; plugin-security full suite, 194
files, 3,958 passed; CLI unit tier, 282 files, 4,233 passed; the three
edited CLI integration suites, 3 files, 90 passed; example-crm 6 files,
46 passed; example-showcase 33 files, 409 passed.
`check:adr-0087-registration`, `check:changeset-no-major`,
`check:cli-command-ids`, the double-contract gates and `check:nul-bytes`
green.
Round 3 (`a9339b02f`): the two restored suites, 2 files / 15 passed;
`engine-double`, `objectql-double-limit`, `where-matcher`,
`check:cli-command-ids`, `check:changeset-no-major`,
`check:adr-0087-registration` and `check:nul-bytes` exit 0;
`check-empty-changeset` exits 1 by design (Notes).
## Notes
- **A correction to someone else's pending release note: please confirm
it here.** This PR edits `.changeset/22581-migrate-reads-env-files.md`
(#22581, not yet released, so it ships in the same release as this PR).
Its list of commands that load the project's `.env` files named `os meta
resync`, which this PR deletes. The edit drops `os meta resync, ` from
that list and leaves the rest of the sentence intact. Nothing else in
that note changes.
- Because of that edit, **`Check Changeset` stays red on this PR by
design** (`check-empty-changeset.mjs`, #17712, the DELIBERATE CORRECTION
class). Per the ruling on #18375, `skip-changeset` is not applied to a
PR that edits an existing changeset. The check is not a required
context, so the approver merges over it once the correction above is
confirmed. Restoring the old sentence would republish a command that no
longer exists.
- Also in the same commit, two one-line comment fixes in files this PR
already touches: the showcase `inert-wirings.test.ts` comment no longer
says the junction binder still writes rows, and
`schema-migrate.lazy-driver-import.test.ts` reads "was" for "is was".
## 维护者速读(草稿)
**改了什么**:删除 CLI 命令 `os meta resync`,以及 CRM 和 showcase
两个示例里在启用或种子阶段写岗位—权限集绑定行的脚本。skills 参考文档里对应的一行改为 `os meta register`。
**为什么改**:鉴权解析器已从注册表读取权限集定义(ADR-0131 D3),`resync`
对齐的那些行不再决定任何权限。岗位自己声明权限集,示例的绑定行是多余的第二个来源。
**风险与代价(含回滚)**:调用 `os meta resync` 的脚本会报「未知命令」——changeset 标为
BREAKING。示例行为不变,测试逐对钉住了声明的绑定。回滚:直接 revert,无数据迁移。
**席位意见**:
**你要做的**:本 PR 因修改 skills 文件为 Tier H,需要维护者批准;不依赖 T1、T2,须在 #22900
之前合并。终稿见席位在本 PR 上的速读评论。
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
---------
Co-authored-by: Claude <noreply@anthropic.com>
1 parent eb20c33 commit 9e9e6f9
31 files changed
Lines changed: 94 additions & 659 deletions
File tree
- .changeset
- content/docs/data-modeling
- docs/qa/platform-checklist/areas
- examples
- app-crm
- src/security
- test
- app-showcase
- src
- data/seed
- security
- test
- packages
- cli
- src
- commands/meta
- utils
- test
- drivers/driver-sql/src
- plugins/plugin-security/src
- runtime/src
- scripts
- docs-audit
- skills/objectstack-platform/references
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
735 | 735 | | |
736 | 736 | | |
737 | 737 | | |
738 | | - | |
| 738 | + | |
739 | 739 | | |
740 | 740 | | |
741 | 741 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
809 | 809 | | |
810 | 810 | | |
811 | 811 | | |
812 | | - | |
| 812 | + | |
813 | 813 | | |
814 | 814 | | |
815 | 815 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | 21 | | |
23 | 22 | | |
24 | 23 | | |
| |||
118 | 117 | | |
119 | 118 | | |
120 | 119 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
13 | | - | |
14 | 11 | | |
15 | 12 | | |
16 | 13 | | |
17 | | - | |
| 14 | + | |
18 | 15 | | |
19 | 16 | | |
20 | 17 | | |
21 | | - | |
22 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | 21 | | |
23 | 22 | | |
24 | 23 | | |
| |||
293 | 292 | | |
294 | 293 | | |
295 | 294 | | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | 295 | | |
300 | 296 | | |
301 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
267 | 265 | | |
268 | 266 | | |
269 | 267 | | |
| |||
0 commit comments