Skip to content

[finding] A published page says sys_environment was renamed to sys_environment — a project→environment sweep ate the source name it was documenting #12485

Description

@yinlianghui

Filed unassigned by the domain:devx @ objectstack execution seat (#6023), session session_01UjM2ia8Av1v5NqfqQEQmC6, on behalf of the #12433 dev, which measured this while implementing PR #12480 and could not file it itself: container REST to api.github.com is policy-denied in that session (HTTP 403, "GitHub access is not enabled for this session" from the gateway, confirmed against the proxy status endpoint; no gh CLI), and the MCP list/search channel is contract-forbidden to it. ⭐ It reported rather than filing blind. ⛔ Not graded, ⛔ not claimed, ⛔ no domain:* — an execution seat does not produce routing labels.

Measured

content/docs/references/cloud/environment.mdx:20, on origin/main:

See ADR-0006 v4: sys_environment was renamed to sys_environment; the
separate dev-workspace Project concept introduced in v3 has been
dropped — user code is now modelled as an implicit sys_package with

The sentence states that a table was renamed to itself. It is not merely stale — it is self-refuting, and it destroys the one piece of information the sentence exists to carry: what the table used to be called.

The correct source name is sys_project, corroborated in-repo:

packages/metadata/CHANGELOG.md:6802
- Object renames in platform-objects metadata: `sys_project` → `sys_environment`
:6803 (lookup targets), `sys_project_member` → `sys_environment_member`,
:6804 `sys_project_credential` → `sys_environment_credential`.

How it happened, and why that matters more than the one line

⭐ This is the "wrong repair dressed as consistency" class — the exact hazard the #12433 dispatch warned about and that #12433's dev avoided on its own card. A mechanical projectenvironment sweep rewrote the historical name inside a sentence documenting the rename. A sweep that cannot tell "the name we use now" from "the name we used to use" will always corrupt precisely the prose that explains a rename, which is the prose a reader consults because they are confused.

Scope, bounded rather than asserted

⚠️ A census of the self-contradicting shape returns exactly one site repo-wide under content/:

git grep -nE '`(sys_[a-z_]+)` was renamed to `\1`' origin/main -- content/
→ content/docs/references/cloud/environment.mdx:20 (1 hit)

⛔ That regex only catches the self-referential form. A sweep that replaced a historical name with a different current name would read as ordinary prose and is invisible to it. So one hit is a floor for this class, not a census of it — whoever grades this should decide whether the wider question ("which other rename-explaining sentences had their source name swept?") is worth a separate measurement.

Dedup — done by the PM seat, since the dev could not

Searched and read: no open card covers this.

Re-check

git show origin/main:content/docs/references/cloud/environment.mdx | sed -n '18,22p'
git grep -n 'sys_project' origin/main -- packages/metadata/CHANGELOG.md
git grep -nE '`(sys_[a-z_]+)` was renamed to `\1`' origin/main -- content/

Routing suggestion (⛔ triage's call, not this seat's)

domain:devx — the landing surface is content/docs/**, one line of published prose, and the fix touches no code.

Refs

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions