You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Console home at phone width: the launcher's links and buttons are 16–32 px tall, below the 44 px touch target #29147
Filing gate: ② out-of-scope finding, class a, from the #29075 audit (phone-width Navigation flow, run record /mnt/project-files/issue-29075/run-record-before.md) · filed by domain:ui#1 · ⛔ Not a claim. No grade: triage sets it.
Business reason. Home is the first screen after sign-in. On a phone, its links are so small that people miss them or tap the wrong one.
Measured (origin/main6b3ba82c, real Console, CRM and showcase, 375 and 390 px, step 01, FAIL in all four runs). Start with a template 170x32, New in Studio 128x32, Browse App Marketplace 159x16, Setup 52x16, My work: Open inbox 63x16, approvals View all 42x16, notifications View all 42x16, View all activity 101x16, recent rows 356x40. The app bar targets on the same page are #29075's.
Wanted.
Below sm, every home launcher link and button meets 44 px (height, or a padded hit area), in ui/packages/app-shell/src/console/home/HomePage.tsx, HomeRail.tsx and HomeAppsStrip.tsx.
Desktop is unchanged.
No new keys or options.
Tests. A phone-width render test that asserts the phone classes on each target.
Reader.domain:ui (area:home). Size S.
Dedupe. Searched home launcher touch target, home page phone: no product card.
Claim: PM loop round 2 · 2026-11-02T08:46Z
Session: session_01QsR2jV3Ev5TwvWnbh8j8k7 (card thread, os-dev); dispatched by seat session session_01QsR2jRFuJz9QBZqPVHYVhJ
Account: zhuangjianguo
Branch: claude/project-thread-3gtn7s (platform-assigned to the card thread; it can push only this branch)
Worktree: objectstack-issue-29147
Domain: domain:ui
Seat: domain:ui#2
File surface: ui/packages/app-shell/src/console/home/HomePage.tsx, HomeRail.tsx, HomeAppsStrip.tsx, their tests, and a root .changeset; not HomeLayout.tsx (#29121) nor the app-bar files #29075 holds (stop on breach; explain in the report)
Container & model: S, mode:thread, model: default tier (dispatch-gates --tier: no path-derived mandate), effort: default
Clause-②: no
Metadata-protocol: none
Responsibility: the Console home launcher links and buttons are 16 to 32 px tall at phone width, under the 44 px minimum #29040 sets | home is the first screen after sign-in | every phone user
Thread-read: none
Premise: holds (#29075's run record at origin/main6b3ba82c measured 16 to 32 px on every launcher target at 375 and 390 px; no open PR touches the three files)
Serial constraints cleared: #29121 (domain:ui#1) holds HomeLayout.tsx, disjoint; the app-bar targets are #29075's
{
"issue": 29147,
"status": "done",
"branch": "claude/project-thread-3gtn7s",
"pr": "https://github.com/objectstack-ai/objectstack/pull/29220",
"head": "4a492f6e",
"session": "session_01QsR2jV3Ev5TwvWnbh8j8k7",
"premise_still_valid": true,
"summary": "Below sm every Console home launcher link and button now meets 44 px through phone-only max-sm: classes in HomePage.tsx (builder chips, AI buttons in row and empty state), HomeAppsStrip.tsx (heading links, Show less) and HomeRail.tsx (Open inbox, both View all, My-work rows, recent rows, pending-drafts Publish, View all activity); desktop classes unchanged. Real-browser runs at 375x812 and 390x844 on app-crm and app-showcase: under-44 targets 10/10/13/13 before, 0/0/0/0 after; desktop 1280 sizes equal before. No prop, export, i18n key or metadata change.",
"files_changed": [
".changeset/29147-home-launcher-phone-tap-targets.md",
"ui/packages/app-shell/src/console/home/HomeAppsStrip.tsx",
"ui/packages/app-shell/src/console/home/HomePage.tsx",
"ui/packages/app-shell/src/console/home/HomeRail.tsx",
"ui/packages/app-shell/src/console/home/__tests__/HomePage.phoneTapTargets-29147.test.tsx"
],
"line_budget": "278 additions, 17 deletions over 5 files (source 21+/17-, test 247+, changeset 10+); size S",
"tests": "New HomePage.phoneTapTargets-29147.test.tsx, 11 tests: exit 0 (11/11). Reverse verification: three source files restored to base 87d6baef with the test kept -> 11/11 red; restored to HEAD, git diff HEAD empty. 54 test files naming HomePage/HomeAppsStrip/HomeRail exports, --maxWorkers=2 under os-verify-lock at merged head 4a492f6e after the app-shell^... closure rebuild (64/64 tasks): exit 0, 54 files, 665 tests. eslint on the 4 changed files: 0 errors (existing warnings only).",
"gates": "dispatch-gates --commands at 7a325f0f: 34 derived; all 34 run, every exit 0; --ran: 34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN. Includes node scripts/check-sdui-manifest.mjs exit 0 and pnpm --dir ui exec vitest run scripts/ exit 0 (169 passed, 2 skipped). Extra: turbo type-check --filter=@object-ui/app-shell exit 0 (65/65); ui/scripts/check-new-cross-file-line-citations.mjs 0 new; PR-body gates (changeset-no-major, adr-0087-registration, closing-keyword-parity, partof-closing-keyword) exit 0 each with the PR body. CI check-runs: in_progress at report time.",
"dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
"measurement": "/mnt/project-files/issue-29147/run-record.md; screenshots before/, after/, after-desktop/; script audit-home.cjs",
"deviations": [
"Not measured live: Build an app, Build with AI, Ask AI (row and empty state), Publish and Show less; --fresh backends deploy no AI agent, no draft and under 20 apps. Classes pinned by the test.",
"Two data-testids added (apps-show-less, home-activity-view-all) so the test can name those targets.",
"Merge of origin/main (13 commits, none in console/home) after the gate sweep; the sweep and type-check are at 7a325f0f, the home suites rerun at 4a492f6e.",
"Session-context asked to assign the PR and request a reviewer through GitHub MCP; not done, per seat common rules 3 and 10."
],
"mcp_calls": "0 — no GitHub MCP calls (card and PR reads went through gh api GET)",
"api_writes": "2 — fleet-write pr_create (run 41422817522, body read back identical, no assignees, no labels); post-stamped os-dev-report comment on #29147. Plus git push (not a REST write).",
"open_questions": [],
"out_of_scope_findings": [
"HomeAppsStrip also renders the app:launcher block (views/app-launcher-renderer.tsx, console/blocks/productBlocks.tsx): those launchers take the same phone sizes; noted in PR Acceptance notes, not filed. carrier: none"
]
}
Activity
objectstack-fleet commentedon Nov 2, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: p2 (priority added) · 2026-11-02T08:35Z
⛔ Not a claim.
Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
domain:ui#2 · zhuangjianguo · session_01QsR2jRFuJz9QBZqPVHYVhJ
Claim: PM loop round 2 · 2026-11-02T08:46Z
Session:
session_01QsR2jV3Ev5TwvWnbh8j8k7(card thread, os-dev); dispatched by seat sessionsession_01QsR2jRFuJz9QBZqPVHYVhJAccount:
zhuangjianguoBranch:
claude/project-thread-3gtn7s(platform-assigned to the card thread; it can push only this branch)Worktree:
objectstack-issue-29147Domain:
domain:uiSeat:
domain:ui#2File surface:
ui/packages/app-shell/src/console/home/HomePage.tsx,HomeRail.tsx,HomeAppsStrip.tsx, their tests, and a root.changeset; notHomeLayout.tsx(#29121) nor the app-bar files #29075 holds (stop on breach; explain in the report)Container & model: S,
mode:thread,model: default tier (dispatch-gates --tier: no path-derived mandate),effort: defaultClause-②: no
Metadata-protocol: none
Responsibility:
the Console home launcher links and buttons are 16 to 32 px tall at phone width, under the 44 px minimum #29040 sets | home is the first screen after sign-in | every phone userThread-read: none
Premise: holds (#29075's run record at
origin/main6b3ba82cmeasured 16 to 32 px on every launcher target at 375 and 390 px; no open PR touches the three files)Serial constraints cleared: #29121 (
domain:ui#1) holdsHomeLayout.tsx, disjoint; the app-bar targets are #29075'sobjectstack-fleet commentedon Nov 2, 2026
domain:ui#2 · zhuangjianguo · session_01QsR2jV3Ev5TwvWnbh8j8k7
os-dev-report
{ "issue": 29147, "status": "done", "branch": "claude/project-thread-3gtn7s", "pr": "https://github.com/objectstack-ai/objectstack/pull/29220", "head": "4a492f6e", "session": "session_01QsR2jV3Ev5TwvWnbh8j8k7", "premise_still_valid": true, "summary": "Below sm every Console home launcher link and button now meets 44 px through phone-only max-sm: classes in HomePage.tsx (builder chips, AI buttons in row and empty state), HomeAppsStrip.tsx (heading links, Show less) and HomeRail.tsx (Open inbox, both View all, My-work rows, recent rows, pending-drafts Publish, View all activity); desktop classes unchanged. Real-browser runs at 375x812 and 390x844 on app-crm and app-showcase: under-44 targets 10/10/13/13 before, 0/0/0/0 after; desktop 1280 sizes equal before. No prop, export, i18n key or metadata change.", "files_changed": [ ".changeset/29147-home-launcher-phone-tap-targets.md", "ui/packages/app-shell/src/console/home/HomeAppsStrip.tsx", "ui/packages/app-shell/src/console/home/HomePage.tsx", "ui/packages/app-shell/src/console/home/HomeRail.tsx", "ui/packages/app-shell/src/console/home/__tests__/HomePage.phoneTapTargets-29147.test.tsx" ], "line_budget": "278 additions, 17 deletions over 5 files (source 21+/17-, test 247+, changeset 10+); size S", "tests": "New HomePage.phoneTapTargets-29147.test.tsx, 11 tests: exit 0 (11/11). Reverse verification: three source files restored to base 87d6baef with the test kept -> 11/11 red; restored to HEAD, git diff HEAD empty. 54 test files naming HomePage/HomeAppsStrip/HomeRail exports, --maxWorkers=2 under os-verify-lock at merged head 4a492f6e after the app-shell^... closure rebuild (64/64 tasks): exit 0, 54 files, 665 tests. eslint on the 4 changed files: 0 errors (existing warnings only).", "gates": "dispatch-gates --commands at 7a325f0f: 34 derived; all 34 run, every exit 0; --ran: 34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN. Includes node scripts/check-sdui-manifest.mjs exit 0 and pnpm --dir ui exec vitest run scripts/ exit 0 (169 passed, 2 skipped). Extra: turbo type-check --filter=@object-ui/app-shell exit 0 (65/65); ui/scripts/check-new-cross-file-line-citations.mjs 0 new; PR-body gates (changeset-no-major, adr-0087-registration, closing-keyword-parity, partof-closing-keyword) exit 0 each with the PR body. CI check-runs: in_progress at report time.", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "measurement": "/mnt/project-files/issue-29147/run-record.md; screenshots before/, after/, after-desktop/; script audit-home.cjs", "deviations": [ "Not measured live: Build an app, Build with AI, Ask AI (row and empty state), Publish and Show less; --fresh backends deploy no AI agent, no draft and under 20 apps. Classes pinned by the test.", "Two data-testids added (apps-show-less, home-activity-view-all) so the test can name those targets.", "Merge of origin/main (13 commits, none in console/home) after the gate sweep; the sweep and type-check are at 7a325f0f, the home suites rerun at 4a492f6e.", "Session-context asked to assign the PR and request a reviewer through GitHub MCP; not done, per seat common rules 3 and 10." ], "mcp_calls": "0 — no GitHub MCP calls (card and PR reads went through gh api GET)", "api_writes": "2 — fleet-write pr_create (run 41422817522, body read back identical, no assignees, no labels); post-stamped os-dev-report comment on #29147. Plus git push (not a REST write).", "open_questions": [], "out_of_scope_findings": [ "HomeAppsStrip also renders the app:launcher block (views/app-launcher-renderer.tsx, console/blocks/productBlocks.tsx): those launchers take the same phone sizes; noted in PR Acceptance notes, not filed. carrier: none" ] }