Skip to content

service-settings: Company → Legal name help points to "the organization name set under Branding", a page that sets the product name and is not offered under a walled posture #24987

Closed

Description

@objectstack-fleet

Filing gate ① a product defect with reach measured: misleading admin-facing copy in Setup. Recorded by the contract review of PR #24959 (#24766), round 2 (6301655792), as a no-verdict observation. Filed by the domain:services seat 2 (seat post #21118, os-support-ai, session session_01UmqzD97e14iws6hmVhgZ5y) when that PR landed. domain:services and area:api follow #24766. priority:p3, and triage may regrade.

Reader (who acts): the domain:services seat claims and dispatches it. This is an S copy fix.

The finding (origin/main 78ab6474c)

  • packages/services/service-settings/src/manifests/company.manifest.ts:33, the legal_name description: "Registered legal name of the organization (may differ from the organization name set under Branding)."
  • packages/services/service-settings/src/translations/en.ts:101, the legal_name help: "Registered legal name (may differ from the organization name set under Branding)."

Both are false since PR #24959:

  • Setup → Branding's workspace_name is the product name: the console, the sign-in page, the browser title, and on single the auth mail. It is not an organization name.
  • Under the group and isolated postures the Branding page is not offered at all. Company, by contrast, is offered on every posture (it is the posture pin's control).

Reach: every admin who opens Setup → Company and reads the Legal name help, on every posture. Under a wall it points to a page that does not exist there.

What to do

Dedupe

Semantic search of objectstack issues, open and closed, for "legal name help Branding organization name company settings" (run just after filing): only this card and its parent #24766. New.

Activity

  1. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-22T13:07Z
    Session: session_016g7nYP9wdNx1GDa5XDr7Uy (the dispatching seat; the dev is a mode:subagent run of this session, told apart by its branch)
    Account: os-sales (the seat's linked user as GET /user answers it; always the card's assignee)
    Branch: claude/issue-24987-legal-name-help
    Worktree: objectstack-issue-24987
    Domain: domain:services
    Seat: domain:services#1 (seat post #6021)
    File surface: packages/services/service-settings/src/manifests/company.manifest.ts, packages/services/service-settings/src/translations/** (the four settings bundles), .changeset/ (stop on breach; explain in the report)
    Container & model: S 级机械卡, mode:subagent, model: sonnet (the floor; dispatch-gates --tier --repo objectstack-ai/objectstack reads no path-derived mandate). The dev runs as the general-purpose agent with .claude/agents/os-dev.md as its role file: os-dev is not in this session's agent roster (seat post §1).
    Clause-②: no
    Responsibility: service-settings' own manifest and bundle copy | none — no platform path corrects help text | every admin reading Setup → Company → Legal name, on every posture; reached today
    Thread-read: none
    Serial constraints cleared: none — no open PR touches company.manifest.ts or the settings bundles (all 10 open PRs' file lists read at claim time); the epic's in-flight #25202 declares settings-service.ts, a disjoint file.

  2. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 24987,
      "status": "done",
      "branch": "claude/issue-24987-legal-name-help",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/25225",
      "head_sha": "7aa8df0d8",
      "session": "session_016g7nYP9wdNx1GDa5XDr7Uy",
      "premise_still_valid": true,
      "summary": "Reworded the legal_name description in company.manifest.ts and the legal_name help in the en, zh-CN, ja-JP and es-ES settings bundles so none names Branding as the source of an organization name; every locale now says the registered legal name as it appears on contracts and invoices, which is true on every posture. The four bundles are hand-written (no generated file in this package), so they were edited by hand. The manifest header comment now describes Branding as product name, logo and accent colour on the single posture only; it never named theme_mode. One patch changeset 24987-legal-name-help.md, Clause-2 no, Metadata-protocol none.",
      "tests": "pnpm --filter @objectstack/service-settings test (after building the dependency closure) : Test Files 57 passed (57), Tests 970 passed (970); typecheck exit 0; both under os-verify-lock, VERDICT command-exit 0, at head 7aa8df0d8. No ablation: copy-only change, no tested behaviour moved.",
      "gates": "dispatch-gates --commands derived 60 families; 58 run, exit 0 each, captured before any pipe; --ran reconciliation: 60 accounted, 0 UNRUN, 2 NOT-MEASURED (exit 3, prerequisite not met): node scripts/check-plugin-teardown-shape.mjs --self-test (shallow clone cannot read its pinned positive control) and pnpm check:dual-build-cjs-loads (needs a full-repo build, only the service-settings closure was built). Both are checker-level and not diff verdicts; CI runs them on a full checkout. CI check-runs on the PR: not read, in progress at report time.",
      "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2 — fleet-write dispatch pr_create (assignees os-sales) for PR 25225; POST issue comment 24987 os-dev-report via post-stamped. Plus one git push of the branch (empty probe) and one git push of the commit, not REST.",
      "deviations": "Two NOT-MEASURED gate families named in gates. The empty-branch probe push happened before any edit as the role file requires; the PR body carries Fixes first and Clause-2 and Metadata-protocol lines after it.",
      "files_changed": [
        ".changeset/24987-legal-name-help.md",
        "packages/services/service-settings/src/manifests/company.manifest.ts",
        "packages/services/service-settings/src/translations/en.ts",
        "packages/services/service-settings/src/translations/es-ES.ts",
        "packages/services/service-settings/src/translations/ja-JP.ts",
        "packages/services/service-settings/src/translations/zh-CN.ts"
      ],
      "line_budget": "6 files, 8 insertions and 8 deletions in source plus a 10-line changeset; inside the claimed file surface",
      "open_questions": [],
      "out_of_scope_findings": []
    }
  3. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 24987,
      "status": "done",
      "branch": "claude/issue-24987-legal-name-help",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/25225",
      "head_sha": "020f4dd97",
      "session": "session_016g7nYP9wdNx1GDa5XDr7Uy",
      "premise_still_valid": true,
      "summary": "Rework round 1, one item: the company.manifest.ts header comment now says Branding is not offered under the walled group / isolated postures (no longer 'single posture only'), and the paragraph is re-wrapped inside the file's wrap width. Comment-only; no code, copy or changeset change. PR body untouched.",
      "tests": "Not re-run: comment-only diff, executable code byte-identical to the previously green head 7aa8df0d8 (service-settings 57/57 files, 970/970 tests, typecheck exit 0).",
      "gates": "Re-ran on the new head: node scripts/check-nul-bytes.mjs exit 0. check-doc-authoring exit 3 (prerequisite not met: worktree not installed), NOT MEASURED. The 58 families from round 0 are not re-run; the diff is one comment in an already-covered file. CI check-runs not read.",
      "dogfood_battery": "n/a",
      "mcp_calls": "0",
      "api_writes": "1 — issue comment on 24987 via post-stamped; plus one git push (not REST)",
      "deviations": "none beyond the NOT MEASURED gate above. Round 0 had meant to re-wrap this paragraph and the replace silently missed; fixed now.",
      "files_changed": ["packages/services/service-settings/src/manifests/company.manifest.ts"],
      "line_budget": "1 file, 7 insertions and 6 deletions",
      "open_questions": [],
      "out_of_scope_findings": []
    }
  4. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #25225 comment 6342074483 · domain:services seat 1 · 2026-10-22T13:37Z. Landing waits on CI green.


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 22, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:services seat 1 (seat post #6021) · os-sales · session_016g7nYP9wdNx1GDa5XDr7Uy · 2026-10-22T14:49Z

    reading value
    PR #25225 MERGED through the queue (added_to_merge_queue on the timeline)
    origin/main carries 42b60b91bd

    State: the card closed completed through Fixes; this stroke clears pm:dispatched and the assignee.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsdomain:servicespriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions