Skip to content

Studio package-create UX dogfood follow-ups (2026-07 browser walkthrough) #2615

Description

@os-zhuang

Tracking issue for the findings of the Studio "create a package and build in it" browser dogfood — see the full audit in docs/audits/2026-07-studio-package-create-ux-dogfood.md (added by #2609). Console tested at the pinned objectui build 7782698, so none of these are stale-bundle artifacts.

The end-to-end loop (package → object → field → record → app → nav → publish → run) closes with zero code; these are the friction points found along the way, ordered by user pain.

P1

  • Read-only packages accept edit gestures client-side, fail late. "Add field" mutates the canvas (16→17 fields) and "New object" opens the create form on a Read-only package; the server rejects only at write time. Client should disable/hide edit affordances on read-only packages (courtesy gating, ADR-0057 D10). (objectui console)
  • Read-only rejection copy cites an internal ADR path ("…See docs/adr/0070-package-first-authoring.md"). Rewrite as user-facing remediation ("switch to or create a writable package"). (framework — dispatcher error message)
  • Field API name doesn't follow the label before first save. New field stays field_2 after relabeling to Status; the data column is field_2 forever. Sync API name from label until first save, then lock — matching object/app identifier behavior. (objectui console)
  • One-click Publish with no confirmation — releases all package drafts atomically straight from the button. Show the pending-changes list with a confirm step. (objectui console)
  • Changes panel has no detail — only repair_ticket · New; no field-level diff or drill-in to review before publishing. (objectui console)

P2

  • Mixed-language screens: English chrome with embedded Chinese strings (添加字段 / 未分组 / 请选择…) and a fully-Chinese Studio landing next to an English Home. Route all studio strings through the same locale resolution. (objectui console)
  • New-package wizard ergonomics: no package-ID suggestion from the name (object/app identifiers do get one); CJK names produce no suggestion at all; illegal characters silently stripped (bad id!!badid); disabled create button with no inline hint about the reverse-domain format. (objectui console)
  • New apps scaffold no navigation — freshly created app has zero nav items; offer "add existing objects as menu items" in the create-app popover. (objectui console)

P3

  • Duplicated "Actions" column in the Studio Records grid (data column + pinned row-actions column). (objectui console)
  • Record-create verb inconsistency: Studio says Create (adjacent to Create app), runtime says New. (objectui console)
  • Cold /_console load shows a bare unbranded "Loading…" for ~8s before the login redirect. (objectui console)
  • Picklist value-editor inputs truncate their own placeholders ("valu" / "Labe") and CJK labels (待处理 → 待处…). (objectui console)
  • Read-only toast can fire twice for one gesture; no "last saved" timestamp anywhere after Save draft. (objectui console)

Most items are console-side (objectui); the error-copy item is framework-side. Items landing in objectui should get mirrored issues there when picked up.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DHQc5BdGhTzPfazex3vWdt

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions