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
packages/cli: the os environments family's own --help text and console output still call the entity a "project" (21 sites, v5.0 rename has no aliases) #12153
Found while implementing #11465 (four documented os … invocations in packages/cli that do not resolve). Out of that card's scope — it is fenced to comment/docblock text in four named files, and every site below is a user-visible string literal. No assignee.
#10967 (closed, PR #11227) fixed the same five files, but for a different thing: the command nameos projects … in static override examples, JSDoc headers and class names. That is done — a grep for os projects across packages/cli/src/** now matches only two test files, and in both it is a negative assertion or prose about one (auth-config.test.ts:176 asserts namesARegisteredCommand('os projects switch') is false).
What #11227 did not touch is the entity noun in the strings oclif prints. Per ADR-0006 the v5.0 rename project → environment has no aliases, and AGENTS.md states "Project now only means the npm/monorepo sense" — but the os environments commands still describe what they operate on as a project.
Measured on origin/main @ a11c1a57, packages/cli/src/commands/environments/**
A. static override description — printed by os environments --help (5)
list.ts:16 'List projects visible to the current session'
bind.ts:24 'Bind a local objectstack artifact to an existing project'
create.ts:18 'Provision a new project'
show.ts:15 'Show detailed information for a project'
switch.ts:18 'Activate a project for subsequent CLI calls'
B. flag/arg description — printed by each command's own --help (7)
list.ts:28 'Filter by project status (active|provisioning|failed|…)'
bind.ts:34 'Target project id (UUID)'
create.ts:42 'Path to a locally-compiled objectstack.json artifact to bind into this project'
create.ts:44 'Clone schema from an existing project id'
create.ts:46 'Activate the new project for subsequent CLI calls'
show.ts:23 'Project id'
switch.ts:26 'Project id to activate'
C. runtime console output — what the command prints on success (9)
list.ts:60/62 `Projects (N):` · ` (no projects)`
bind.ts:142/144 `✓ Project bound to artifact` · `The next request to this project will load the new bundle.`
create.ts:114/116 `✓ Project created: …` · `active project set to …`
show.ts:52 `Project: …`
switch.ts:62/63 `✓ Active project: …`
So a user runs os environments switch <id>, and the tool answers ✓ Active project: …. The command name was renamed; its vocabulary was not.
Out of scope for the noun swap:client.projects.* (the @objectstack/client SDK method names) and res.project.id (the control-plane response field). Those are API surface in other packages, not CLI wording, and each would need its own card.
Found while implementing #11465 (four documented
os …invocations inpackages/clithat do not resolve). Out of that card's scope — it is fenced to comment/docblock text in four named files, and every site below is a user-visible string literal. No assignee.Not a duplicate of #10967
#10967 (closed, PR #11227) fixed the same five files, but for a different thing: the command name
os projects …instatic override examples, JSDoc headers and class names. That is done — a grep foros projectsacrosspackages/cli/src/**now matches only two test files, and in both it is a negative assertion or prose about one (auth-config.test.ts:176assertsnamesARegisteredCommand('os projects switch')isfalse).What #11227 did not touch is the entity noun in the strings oclif prints. Per ADR-0006 the v5.0 rename
project→environmenthas no aliases, and AGENTS.md states "Project now only means the npm/monorepo sense" — but theos environmentscommands still describe what they operate on as a project.Measured on
origin/main@a11c1a57,packages/cli/src/commands/environments/**A.
static override description— printed byos environments --help(5)B. flag/arg
description— printed by each command's own--help(7)C. runtime console output — what the command prints on success (9)
So a user runs
os environments switch <id>, and the tool answers✓ Active project: …. The command name was renamed; its vocabulary was not.Notes for whoever picks this up
os projectsin examples, class names, and docstrings — leaks into live--helpoutput #10967 was graded on. C is the same noun but on the output path, where a test may pin the wording (environments.test.tsshould be checked before editing, and [finding] packages/cli: four more documentedos …invocations that do not resolve — two stale, two deliberate, and no gate over the class #11465's dispatch fenced it for unrelated reasons).client.projects.*(the@objectstack/clientSDK method names) andres.project.id(the control-plane response field). Those are API surface in other packages, not CLI wording, and each would need its own card.packages/cli/src/utils/api-client.ts:19carries the same drift in a docblock (Explicit project iddescribing a field namedenvironmentId). Left alone by [finding] packages/cli: four more documentedos …invocations that do not resolve — two stale, two deliberate, and no gate over the class #11465 for the same scope reason.Generated by Claude Code