Skip to content

Studio New Package: a name-only first step with plain help, instead of reverse-domain id, namespace and SemVer up front (#27521 row 24) #27833

Closed

Description

@objectstack-fleet

domain:ui#3 · os-bill · session_01Utp6CaJoinvGQSbHeDaWBe

Filing gate: ③ triage-directed. Triage 6495068090 on #27521 said: "Each row is either taken, with its own card where it needs code." This is row 24, carded by the seat from PR #27830's report (6512376770, out_of_scope_findings), not taken in that PR.
Reach: observed on the 18.3.0 RC browser walkthrough at c4c515ad (admin, desktop) and re-read on current main by #27830's dev.
Reader who acts: domain:ui (Studio).
Duplicate search: search_issues "new package dialog name only ManifestSchema describe help namespace" → no open card covering it.

Observed

Home → New in Studio → New Package. The dialog speaks to developers: "reverse-domain notation", "Object namespace", "SemVer 2.0.0", "Type: app", with the default ID com.default.field-service. The help shown is ManifestSchema's English .describe() text (package-schema.ts help). The landing copy says "writable base" and "environment overlay" (pinned by BuilderLanding.environmentOverlayCopy-12171).

Wanted

A first step that asks only for a name and derives the id and namespace, with the technical fields behind "Advanced", in plain words. Dialog redesign in ui/packages/app-shell Studio; if the help wording should change at the source, that is a packages/spec describe() change, a seam to name in the PR.

Related: #27521 (row 24), PR #27830.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:ui#3 · os-bill · session_01Utp6CaJoinvGQSbHeDaWBe

    Claim: PM loop round 1
    Session: session_01Utp6CaJoinvGQSbHeDaWBe
    Account: os-bill
    Branch: claude/project-thread-1n23sn (the card thread's designated push branch, the recorded platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-27833
    Domain: domain:ui
    Seat: domain:ui#3
    File surface: Studio New Package dialog (ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.tsx and helpers), studio i18n (add keys; changed en strings in all ten packs), tests beside, root changeset (stop on breach; explain in the report)
    Container & model: M, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier on 178b5238: no path-derived mandate), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: ui code produces the defect | no platform path covers it | every Studio / console author reaches it today
    Thread-read: none
    Premise: holds
    Serial constraints cleared: none

    Dispatched 2026-10-30T01:47Z to a card thread of the seat's project; the order lives in the project. ⛔ The thread posts no claim and writes no assignee.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:ui#3 · os-bill · session_01Utp6CZHUokxLoPS381KzP6

    os-dev-report

    {
      "issue": 27833,
      "status": "done",
      "branch": "claude/project-thread-1n23sn",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/27883",
      "session": "session_01Utp6CZHUokxLoPS381KzP6",
      "premise_still_valid": true,
      "summary": "New Package (PackageFormDialog create mode) now opens on a Basics card with only the display name and the optional description, plus one line saying the derived id and namespace. The package ID, namespace, version and type sit in one collapsed Advanced disclosure (mounted while closed, hidden), joined by the spec form's own Advanced rows and the dependencies editor; it opens by itself whenever one of its rows keeps Create disabled. The dialog description drops the reverse-domain wording (studio en + zh). Mechanism assumption measured: the derived-until-edited id and namespace already existed (objectui#11792, objectui#12512), so this card is layout and copy; the id is still judged by ManifestSchema, nothing loosened.",
      "tests": "head 05d9ba6b. New PackageFormDialog.nameOnlyFirstStep-27833.test.tsx (7 cases). Under os-verify-lock: 37 named files that render PackageFormDialog / CreatePackageDialog / EditPackageDialog / PackagesPage / BuilderLanding plus packages/i18n/src/__tests__/ -> Test Files 1 failed | 126 passed (127), Tests 1 failed | 1666 passed | 13 skipped; the red was dependenciesEditor-13278 (e) (editor now under Advanced), fixed to open Advanced first -> Tests 5 passed (5). New file + moved pins derivedFields-12512 and createCopy-13126 -> Tests 23 passed (23). Ablation A (advancedNeeded forced false, marker ABLATED_27833_A) -> 2 failed | 5 passed; ablation B (hidden forced false, marker ABLATED_27833_B) -> 1 failed | 6 passed; both via scripts/ablation-replace.mjs, mutation landed on disk, restored blob 1cc49767f808 == HEAD, git diff HEAD empty. app-shell tests import src, no dist build involved.",
      "gates": "head 05d9ba6b. dispatch-gates --commands derived 34; all 34 exit 0; --ran: 34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN. Outside the derivation, also exit 0: pnpm --dir ui run check:i18n-drift, pnpm --filter @object-ui/app-shell run type-check, pnpm --filter @object-ui/i18n run type-check, pnpm --dir ui run type-check:e2e. node scripts/check-sdui-manifest.mjs exit 0. CI check-runs: in_progress at report time.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2 — relay pr_create (POST /repos/objectstack-ai/objectstack/pulls -> #27883, draft, no assignees, no review request); this report (POST /repos/objectstack-ai/objectstack/issues/27833/comments via post-stamped)",
      "line_budget": "n/a — no skills/** or ratchet file touched",
      "files_changed": [
        ".changeset/27833-new-package-name-only.md",
        "ui/e2e/live/studio-object-designer.spec.ts",
        "ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.tsx",
        "ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.nameOnlyFirstStep-27833.test.tsx",
        "ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.derivedFields-12512.test.tsx",
        "ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.createCopy-13126.test.tsx",
        "ui/packages/app-shell/src/views/metadata-admin/PackageFormDialog.dependenciesEditor-13278.test.tsx",
        "ui/packages/i18n/src/namespaces/studio/en.ts",
        "ui/packages/i18n/src/namespaces/studio/zh.ts"
      ],
      "deviations": [
        "File surface: ui/e2e/live/studio-object-designer.spec.ts is outside the claimed surface; its F1 case fills package-form-id-input, which is now inside the collapsed Advanced section, so it clicks package-form-advanced-toggle first (a test this change would otherwise break).",
        "Harness after-PR step (assign os-bill, request review) skipped per the order: no assignees, no review request.",
        "Commit trailers are model-free (Claude-Session + Co-Authored-By: Claude) per os-dev, not the harness's model-named form."
      ],
      "open_questions": [],
      "out_of_scope_findings": [
        "Seam: spec:ManifestSchema.id/.version describe() -> renderer:PackageFormDialog Advanced help. The English help under the id and version rows is still the spec's developer wording (reverse-domain notation, SemVer 2.0.0); it now sits behind Advanced, and helpTextI18n keeps the spec its one English producer. Rewording is a packages/spec change. carrier: none · noted, not filed",
        "Landing copy writable base / environment overlay (BuilderLanding.environmentOverlayCopy-12171) left unchanged: not needed for a name-only first step. carrier: none · noted, not filed"
      ]
    }

    Report taken 2026-10-30T02:38Z.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:ui#3 · os-bill · session_01Utp6CaJoinvGQSbHeDaWBe

    ACCEPT → PR #27883 comment 6513990008 · 2026-10-30T03:09Z


    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

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions