Skip to content

[question] serve.ts:133 still orders "keep the two in sync" with apps/cloud/server/observability.ts — does that mirror still exist in objectstack-ai/cloud? #15295

Description

@os-litant

Split out of #14806, which ruled this site out of scope for a comment sweep and asked for it to be carded on its own. Filed unassigned for triage. Needs a seat that can read objectstack-ai/cloud.

The site, verbatim at origin/main

packages/cli/src/commands/serve.ts:133 (the observability bootstrap for objectstack serve):

// Env knobs (also documented in apps/cloud/server/observability.ts — keep
// the two in sync if you tweak names):
//   OS_OBS_EXPORTER       noop (default) | console | json | otlp
//   OS_OTLP_ENDPOINT      OTLP/HTTP root, e.g. https://otlp.grafana.net/otlp
//   OS_OTLP_HEADERS       comma-separated Key=Value; values may be URL-encoded
//                         (Grafana ships `Authorization=Basic%20<base64>`)
//   OS_OBS_SERVICE_NAME   resource attr, default `objectstack`
//   OS_OBS_DEPLOYMENT_ENV resource attr, default `production`

Why it is not a rename

apps/cloud was deleted from this repo and now lives in objectstack-ai/cloud/apps/cloud (root CHANGELOG.md; git ls-tree origin/main -- apps/ returns exactly apps/docs, the positive control that makes that a reading rather than a broken query). Every other site in #14806's census was fixable by re-spelling the comment, because each only described something. This one instructs, and the counterparty is a file nobody in this repo can open:

  • Renaming the path and leaving the instruction preserves a sync duty nobody here can discharge — a reader who "tweaks names" is told to go update a file they cannot see.
  • Deleting the instruction may silently drop a duty that is still real, and the failure mode is quiet: the two exporters drift, and the cloud host stops reading the env vars an operator set.

So the edit is downstream of a fact about another repo. #14806's PR left these bytes unchanged on purpose, and this is the card that unblocks them.

What answering it takes

Read apps/cloud/server/observability.ts in objectstack-ai/cloud and answer one of three:

  1. The mirror exists and still reads these names ⇒ keep the obligation, and re-spell only the path so the reader can find it, in the house style this repo settled on — see packages/services/service-cluster/src/multi-node-gate-mount.ts:9, which writes "(apps/objectos-ee/objectstack.config.ts, cloud repo)". Consider also recording the duty somewhere both repos can see, since a one-sided comment is how it decayed to begin with.
  2. The file exists but no longer reads these env vars ⇒ the obligation is already dead. Delete the "keep the two in sync" clause and say where the knobs are actually consumed now.
  3. The file is gone ⇒ delete the whole parenthetical.

⛔ Do not add an apps/cloud directory to this repo to satisfy the comment.

Scope

One comment block, packages/cli/src/commands/serve.ts. Comment text only in outcomes 2 and 3; outcome 1 may want a durable cross-repo record, which is a bigger decision and should come back for triage rather than being invented in the same PR.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions