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 }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
console-starter README's "Without a backend" section describes the pre-#4042 root route: / now redirects to /login, it no longer stops at the loading screen #4102
Out-of-scope finding measured while verifying #3528. Documentation drift only; nothing is broken.
The claim
examples/console-starter/README.md, section "Without a backend":
Measured with nothing listening on :3000: /login renders in full but cannot sign in, and / stops at the branded "Initializing application… / Connecting to data source" screen — the adapter never connects, so no route below it mounts.
What it does now
Measured with nothing listening on :3000, dev server on a free port, headless Chromium on http://localhost:5231/:
HTTP status : 200
#root innerHTML len: 2506
body.innerText : "ObjectOS\nBuild powerful business applications, faster.\n\nThe universal
platform for enterprise data management, workflows, and analytics.\n\n
Sign in to your account\n\nEnter your email and password to continue\n\n
Don't have an account? Sign up"
/ renders the login screen, not the "Initializing application…" one.
Why
examples/console-starter/src/App.tsx says so itself — the root route was wrapped in AuthenticatedRoute by #4042:
{/* `RootRedirect` resolves the landing from metadata, so it needs a
* session. Guarded (not a bare `ConnectedShell`) so an
* unauthenticated visitor goes to /login instead of firing a round
* of doomed 401 `/meta/*` reads first — objectui#4042. */}
So an unauthenticated visitor is sent to /login before RootRedirect (and the loading screen behind it) ever mounts. The README paragraph was measured before that change and was not revisited with it.
The "Initializing application… / Connecting to data source" screen is presumably still what an authenticated session with a dead backend sees; that half was not re-measured here, so whoever fixes this should check it rather than assume, and consider whether the same paragraph in apps/console's docs has the same drift.
Not folded into #3528's PR: that card is about the vite alias table, and this sentence is wrong for an unrelated reason (#4042), so correcting it there would have mixed two causes under one Fixes.
Premise re-verified on origin/main @ 0af9826: examples/console-starter/README.md:106 still teaches that / stops at the "Initializing application…" screen, while App.tsx wraps the root route in AuthenticatedRoute (the objectui: 登录页在无会话时仍拉 /meta/*,登录前刷 30 条 401 报错,且日志打成 [object Object] 无法定位 #4042 guard, its comment in place) — an unauthenticated visitor gets /login, exactly as the card measured.
Why queue, not hold: user-facing documentation actively misdescribing shipped behaviour, with a fully specified one-paragraph fix — mechanical, no design content; same grading class as the truth-sweep precedents.
Scope notes for the claimer, from the card: re-measure the authenticated-with-dead-backend half rather than assuming it, and check whether apps/console docs carry the same drifted paragraph.
Claim: PM loop round 6 (develop-only window — ⛔ PRs stay draft/unmerged until the maintainer's release window reopens)
Session: session_017Qqyix2QcnpUC9XeYVDzx3 · Branch: claude/issue-4102-starter-readme-root-route · Worktree: objectui-issue-4102
File surface: examples/console-starter/README.md (the "Without a backend" section) + the same paragraph in apps/console docs IF the card's suspected twin drift is measured real. Serial constraints: PR #4103 (same README) already merged; disjoint from everything in flight.
Container & model: S, mode:subagent, model: opus
Card's own measure-don't-assume clauses, binding: (1) re-measure the unauthenticated / → /login behavior on current main before rewording; (2) the "authenticated session + dead backend still sees the Initializing screen" half was NOT measured — measure it (seeded session or the cheapest honest approximation; if genuinely unmeasurable without a backend, write the README sentence to claim only what was measured); (3) check apps/console's docs for the same stale paragraph — fix there too if present, report if absent.
All three measure-don't-assume clauses answered with probes, not prose: the old paragraph turns out to have described a real but ~200ms transient frame as the endpoint (early-sample timeline +80ms splash → +220ms /login — a more precise diagnosis than "wrong"); the unmeasured half was settled by seeding a fake session token and watching / still land on /login, with the WHY read out of AuthProvider (bearer ≠ session; both auth facts come only from the server's answer, and both failure paths return null); and the one corner that genuinely needs a live backend (in-memory session outliving a backend death until reload) is flagged in the README as unmeasured instead of guessed — the honest boundary this card family keeps rewarding. apps/console twin drift verified ABSENT repo-wide, not just eyeballed. Clean teardown recorded (child PID hunted via lsof after the wrapper left it alive).
Activity
os-zhuang commentedon Aug 10, 2026
Findings triage: promoted →
pm:queue.origin/main@0af9826:examples/console-starter/README.md:106still teaches that/stops at the "Initializing application…" screen, whileApp.tsxwraps the root route inAuthenticatedRoute(the objectui: 登录页在无会话时仍拉 /meta/*,登录前刷 30 条 401 报错,且日志打成 [object Object] 无法定位 #4042 guard, its comment in place) — an unauthenticated visitor gets/login, exactly as the card measured.apps/consoledocs carry the same drifted paragraph.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
yinlianghui commentedon Aug 10, 2026
Claim: PM loop round 6 (develop-only window — ⛔ PRs stay draft/unmerged until the maintainer's release window reopens)
Session:
session_017Qqyix2QcnpUC9XeYVDzx3· Branch:claude/issue-4102-starter-readme-root-route· Worktree:objectui-issue-4102File surface:
examples/console-starter/README.md(the "Without a backend" section) + the same paragraph in apps/console docs IF the card's suspected twin drift is measured real. Serial constraints: PR #4103 (same README) already merged; disjoint from everything in flight.Container & model: S,
mode:subagent,model: opusCard's own measure-don't-assume clauses, binding: (1) re-measure the unauthenticated
/→/loginbehavior on current main before rewording; (2) the "authenticated session + dead backend still sees the Initializing screen" half was NOT measured — measure it (seeded session or the cheapest honest approximation; if genuinely unmeasurable without a backend, write the README sentence to claim only what was measured); (3) check apps/console's docs for the same stale paragraph — fix there too if present, report if absent.Generated by Claude Code
yinlianghui commentedon Aug 10, 2026
ACCEPT (objectui seat PM, session
session_017Qqyix2QcnpUC9XeYVDzx3, review of record) — PR #4142.All three measure-don't-assume clauses answered with probes, not prose: the old paragraph turns out to have described a real but ~200ms transient frame as the endpoint (early-sample timeline +80ms splash → +220ms /login — a more precise diagnosis than "wrong"); the unmeasured half was settled by seeding a fake session token and watching
/still land on /login, with the WHY read out of AuthProvider (bearer ≠ session; both auth facts come only from the server's answer, and both failure paths return null); and the one corner that genuinely needs a live backend (in-memory session outliving a backend death until reload) is flagged in the README as unmeasured instead of guessed — the honest boundary this card family keeps rewarding. apps/console twin drift verified ABSENT repo-wide, not just eyeballed. Clean teardown recorded (child PID hunted via lsof after the wrapper left it alive).Flipping ready + auto-merge (normal mode restored).
Generated by Claude Code
docs(console-starter): correct the 'Without a backend' root-route par…