Repository navigation
Commit cf540a7
fix(engine): six user-facing strings say "authored in this system", not "this environment" (#24401)
Fixes #24360
Clause-②: no (copy only: no accept set or public surface moves; owes the
seat's review of record at `TIER_DEFAULT` before the queue)
## What changed
objectstack-ai/cloud#3002 ruling A, read per string as triage 6250167038
does: inside the running system, a user-facing string names the system
the user is in as "this system". A string that means "made here, not
from a package" reads "authored in this system". Six strings in the
`domain:engine` lane said "authored in this environment":
| package | site (by symbol) | now reads |
|:--|:--|:--|
| `@objectstack/objectql` | `describeDefaultRecordPageHolder`
(`default-record-page.ts`) | `page "NAME", authored in this system` |
| `@objectstack/objectql` | `describeSecurityCatalogHolder`, the
`environment` case (`security-catalog-namespace.ts`) | `the environment
catalog (an item authored in this system, not shipped by a package)` |
| `@objectstack/metadata-protocol` | `protectionBlockRefusal`
(`protocol.ts`) | "... is authored in this system (ADR-0010 §3.5) ..." |
| `@objectstack/metadata-protocol` | the lock-family-key refusal
(`protocol.ts`) | "an item saved here is authored in this system
(ADR-0010 §3.5) ..." |
| `@objectstack/metadata-protocol` | the default-record-page conflict's
`describe` holder text (`protocol.ts`) | `page 'NAME', authored in this
system` |
| `@objectstack/platform-objects` | `sys_metadata_activation`,
`package_id` field description | "... Empty when no package ships it: an
item authored in this system." |
Also `sys_metadata_activation`'s object description (the claim's
optional line, about `:75`): "Packaged artifacts and positions or
permission sets authored in this system are both recorded here." It is
user-facing: it is the object's schema text shown wherever the object is
described, and the comment above it (ADR-0126 §4) already treats it as
copy, not reference. The phrase means "made here, not from a package",
so it follows row 1.
**"The environment catalog" stays.** It is the documented name of that
holder: ADR-0048 lists it as a holder by that name, the namespace's own
docblock names it, the published `@objectstack/objectql` changelog uses
it, and the envelope's `existingHolder.kind` is `'environment'`. Only
the parenthesis changes, per triage row 6.
No code, status, error code or envelope field changes. Three `patch`
changesets, one per published package.
## Pins
- `default-record-page-save-door.test.ts` (two assertions) and
`registry-default-record-page.test.ts` (one helper) pin the refusal's
first sentence, on top of `code` + `status` + the structured `existing`
/ `incoming` holders. That sentence names both holders, which is the
refusal's stated contract, so the pins move with the text rather than
being loosened.
- The flipped pins carry weight. Reverse verification on the committed
fix 2c06b1a, each leg a mutation through
`scripts/ablation-replace.mjs` that put "authored in this environment"
back:
- `default-record-page.ts` (src-resolved):
`registry-default-record-page.test.ts` went `1 failed | 21 passed`;
restored blob equals the HEAD blob (`508f9a49e1ef`).
- `protocol.ts` (resolved through `@objectstack/metadata-protocol`'s
`dist/`): rebuilt, `ablation-dist-preflight` confirmed the marker in
`dist/`, `default-record-page-save-door.test.ts` went `4 failed | 30
passed`; restored (blob `6abd847e4dfa` equals HEAD), rebuilt, preflight
`--absent` exit 0, `34 passed`.
- No test, fixture, platform-checklist item or docs page pins or quotes
the other four strings. The lock-refusal tests pin substrings that
survive (`Remove the \`protection\` block`, `code package's source`,
`They would ...`). No i18n bundle or reference page carries any of the
six, so nothing was regenerated.
## Verification (head 6ec1757, after merging origin/main d8e11b5)
- Build: `--filter` closure of the three packages, `VERDICT command-exit
0`, on the pre-merge head and again on the merged head. Full `pnpm build
--concurrency=2`: `76 successful, 76 total`.
- Typecheck, merged head: `@objectstack/objectql` exit 0
(`check:test-typecheck: OK`), `@objectstack/metadata-protocol` exit 0,
`@objectstack/platform-objects` exit 0 (`check:test-typecheck: OK`).
- Tests, on 2c06b1a (the merge brought no file in these packages or
`packages/spec`):
- `@objectstack/platform-objects`: `Test Files 76 passed (76)`, `Tests
1176 passed (1176)`.
- `@objectstack/metadata-protocol`: `Test Files 246 passed | 3 skipped
(249)`, `Tests 20655 passed | 19 skipped (20674)`.
- `@objectstack/objectql` (all vitest projects): `Test Files 445 passed
(445)`, `Tests 8359 passed (8359)`.
- Gates: `node scripts/pm/dispatch-gates.mjs --commands` (no paths) on
6ec1757 derived 71 commands; all 71 exit 0.
`check:dual-build-cjs-loads` and `check:i18n` first exited 3
(PREREQUISITE NOT MET, unbuilt packages) and exit 0 after the full
build. `--ran`: `Run reconciliation — 71 derived, 71 run, 0
NOT-MEASURED, 0 UNRUN` (all 71 carry a recorded exit code).
- `pnpm exec eslint --no-inline-config` over the six changed `.ts`
files: exit 0. `check-nul-bytes`: exit 0.
- `test:repo` not run locally (CI `Test Core`).
## Acceptance notes
- `protocol.ts`'s uninstall refusal ("An uninstall is environment-wide —
it removes every row bound to the package in this environment — ...") is
a client-visible string outside this card's table, split across a string
concatenation. It contrasts the deployment with an organization scope,
so its reading is a call for the family card #24368, which carries the
rest of the family. Left as is.
- `protocol.ts`'s `reassignOrphanedMetadata` `console.error` ("this
environment has NOT converged ...") is an operator log, not a
user-facing string. Left as is.
- The docblocks of `default-record-page.ts` and
`security-catalog-namespace.ts` still say "authored in this
environment". They are code comments, ruled out of this card.
- `packages/runtime` is #24327's, and `protocol.ts`'s `duplicatePackage`
region is #23561's; neither is touched.
Durable attribution: os-dev run for #24360, cloud session
`session_01Vp3Ze7Vv9L1PuejcRQC2bK`, dispatched by the `domain:engine`
seat 1 PM (`session_01JtSQQ3EWsbNPzyYMug1tXy`).
---
_Generated by [Claude
Code](https://claude.ai/code/session_01Vp3Ze7Vv9L1PuejcRQC2bK)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 2a1e48a commit cf540a7
9 files changed
Lines changed: 40 additions & 10 deletions
File tree
- .changeset
- packages
- metadata-protocol/src
- objectql/src
- platform-objects/src/system
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1140 | 1140 | | |
1141 | 1141 | | |
1142 | 1142 | | |
1143 | | - | |
| 1143 | + | |
1144 | 1144 | | |
1145 | 1145 | | |
1146 | 1146 | | |
| |||
1244 | 1244 | | |
1245 | 1245 | | |
1246 | 1246 | | |
1247 | | - | |
| 1247 | + | |
1248 | 1248 | | |
1249 | 1249 | | |
1250 | 1250 | | |
| |||
22212 | 22212 | | |
22213 | 22213 | | |
22214 | 22214 | | |
22215 | | - | |
| 22215 | + | |
22216 | 22216 | | |
22217 | 22217 | | |
22218 | 22218 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
| 211 | + | |
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
235 | | - | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
| 163 | + | |
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
| 212 | + | |
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
0 commit comments