You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(cli,examples): name the live owner-key helper in three stale comments, and converge the one bare 'global' key beside them (#14876)
* docs(cli,examples): name the live owner-key helper in three stale comments
PR #14667 (#14422) collapsed the standalone-action owner-key ladder onto one
implementation: `standaloneActionOwnerKey` in
`packages/objectql/src/action-governance.ts`, exported from
`@objectstack/objectql`. The private `ObjectQLPlugin.actionObjectKey` copy is
gone (0 occurrences in `packages/objectql/src/plugin.ts` at `origin/main`
f3ae441; positive controls on the same class hit: `standaloneActionOwnerKey` 5,
`registerAction` 4, `isArtifactShippedAction` 2, `class ObjectQLPlugin` 1).
Three comments outside that PR's face still named the deleted method. Each
explained something that still exists, so each now names its replacement rather
than dropping the sentence:
- `packages/cli/src/commands/lint.ts` — the composite-key rationale behind
`PREFIXED_TYPES`' actions entry.
- `packages/cli/test/lint-namespace-prefix.test.ts` — the same rationale for
the #5510 dedup suite.
- `examples/app-showcase/test/actions.test.ts` — the object-less specimen's
mirror of the engine key.
Also corrected in the same stroke: `standaloneActionObjectName` is no longer
"kept in lockstep with" a sibling copy — it is a delegating alias that returns
`standaloneActionOwnerKey(action)`. Comments-only; no behaviour changes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016yfqQh2dBgPAymYd7xipza
* refactor(cli): converge the action-dedup object-less key onto GLOBAL_ACTION_OBJECT_KEY
Folded in on a PM hand-off from #14678, whose seat deliberately left this one
site: it sits inside the same docblock this PR was already editing, five lines
below it, so for any other seat it is a merge conflict rather than a two-line
change.
Verified here rather than taken on report:
- the ladder is real — `PREFIXED_TYPES`' `actions` entry built its key half with
`typeof item?.objectName === 'string' && item.objectName ? item.objectName : 'global'`;
- the role is the right one — that value becomes the object half of the
`<objectName>:<name>` engine registration key `executeAction` looks up, which
is the discriminator #14678 established (626 occurrences across 160 files
share the token across at least five unrelated vocabularies; an `ownerLabel`
that becomes a handler-name prefix is NOT this class);
- the constant is reachable with no new dependency — `GLOBAL_ACTION_OBJECT_KEY`
is exported from `@objectstack/objectql`'s entry (`src/index.ts`) and
`@objectstack/cli` already declares that dependency.
No behaviour moves: the constant is `'global'`, so every key this table builds
is byte-identical. The #5510 dedup suite passes unchanged (24 tests over
lint-namespace-prefix + the validate-build-gate-parity source pin).
A changeset rides with it. The diff is no longer comments-only: it changes an
expression that compiles into the published `dist/`, so the `skip-changeset`
closed list no longer covers this shape.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016yfqQh2dBgPAymYd7xipza
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments