Skip to content

Align public entry with goal-first onboarding - #8578

Merged
cocolord merged 1 commit into
mainfrom
codex/external-entry-default-20261111
Nov 11, 2026
Merged

cocolord merged 1 commit into
mainfrom
codex/external-entry-default-20261111

Conversation

@cocolord

Copy link
Copy Markdown
Member

Goal

Align LoopX's public/default entry with the zero-ritual experience: first contact should start from one natural-language goal, while deeper control-plane language stays in advanced/developer surfaces.

Changes

  • Reframe the README and Chinese README first screen and Quick Start around "start with one goal".
  • Update the public homepage hero, setup prompt, proof strip, lifecycle, capability copy, quickstart fallback, footer, and home SEO metadata in English and Chinese.
  • Preserve the deeper developer-book/control-plane path for readers who choose to go further.

Visual evidence

  • Browser preview at tested head a06afca223b23da3536cb2a299192c6ffcf62115.
  • Desktop 1440x1000 English first screen: no overlap; headline, CTA row, workflow illustration, and proof strip all fit; first-screen positioning is goal-first.
  • Narrow 390x844 English first screen: headline, body, CTAs, setup note, and integration chips fit without clipping or overlap.
  • Narrow 390x844 Chinese first screen: localized headline/body and CTA stack fit; next section remains hinted below the fold.
  • Boundary: preview used the packaged Vite production build served locally; no private data or local paths are present in the rendered page.

Validation

  • npm run build
  • npm run smoke:seo
  • npm run smoke:seo:bases
  • npm run test:delegation
  • uv run --extra test loopx canary premerge --from-git-diff --git-diff-base origin/main -> passed, merge_gate_passed=true

Signed-off-by: lusendong.6789 <lusendong.6789@bytedance.com>
Co-authored-by: TRAE CLI <traecli@bytedance.com>

@cocolord cocolord left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Reviewer: model_agent · TRAE GPT-5 family · TRAE · self_reported

动机 / Motivation

这次复审的 exact head 是 a06afca。问题是 LoopX 的公开默认入口仍容易让第一次接触的用户先看到 control-plane 叙事;对只想让 Codex、Claude Code 或其他 Agent 继续做一件长程工作的用户来说,这会把学习内部机制放在第一个有用动作之前。

Problem context readback: affected_caller_or_operator: First-time LoopX users and reviewers reading the public README, homepage, setup dialog or search/social metadata. before_after_scenario: Before, a user scanning the first screen saw long-running agents and control-plane positioning; after, the same user sees one goal, visible progress and a setup prompt that asks for a natural-language goal. observable_outcome: Rendered homepage, README Quick Start and metadata all present a goal-first entry while developer-book/kernel paths remain reachable. non_goals: This PR does not change CLI/runtime behavior, merge authority, scheduler/quota semantics, or the complete product onboarding journey beyond public entry copy and metadata. remaining_gap: The deeper installed-product onboarding flow still needs later product work to fully match the zero-ritual promise.

该 PR 的边界是公开 README、中文 README、首页默认文案、setup prompt 和 SEO metadata,不改变 CLI/runtime 的执行协议,也不声称完成整个 onboarding 产品闭环。这个 bounded increment 有用的原因是:默认入口先让用户表达一个自然语言目标,再把持久状态、证据和高级内核说明放到需要时展开。

改动思路 / Approach

改动保留现有 Vite public site 和 README 结构,不新增第二个产品入口 owner。入口文案的 authoritative state 仍是 content、setupPrompts 与 pageMetadata,渲染路径仍由现有 React 页面和静态 prerender 消费;README 继续作为 GitHub 首屏和 Quick Start 来源。

Architecture readback: The existing README and public site content owners are the right boundary; this PR changes projection text only, not authority or provider IO. current_pr_boundary: public default entry copy plus metadata, no runtime authority change

高级 developer book 仍保留 control-plane 学习路径,setup prompt 只要求把 LoopX internal terms 放到 advanced/debugging explanation,避免把内部术语从首页换到弹窗里继续成为默认负担。

具体改动 / Changes

本次按 AGENTS.md#first-screen-review-evidence 在 beff0f3 的要求检查,映射的验收点是 FSR-1, ENTRY-1, ADV-1。FSR-1 要求首屏变化有浏览器首屏证据;当前 head 已用 production build 本地预览检查 1440x1000 英文、390x844 英文和 390x844 中文首屏。ENTRY-1 要求默认路径从一个自然语言目标开始;README.md:7、README.zh-CN.md:7、apps/presentation/site/src/App.tsx:73 和 apps/presentation/site/src/App.tsx:192 都把 first contact 改为 one goal/一个目标。ADV-1 要求高级控制面语言仍可到达但不压在默认入口;apps/presentation/site/src/App.tsx:155 到 164 与 274 到 282 保留 developer book/kernel 学习路径,默认 hero/setup/capabilities 则使用 LoopX internals、durable state 和 advanced surfaces 的表达。

关键代码讲解:apps/presentation/site/src/App.tsx:34 的 setupPrompts 是用户点击 Get started 后会复制给 Agent 的真实提示。它现在先检查项目连接,再要求用户给一个自然语言 goal,最后才说明 LoopX internal terms 只在 advanced/debugging explanation 中出现。apps/presentation/site/src/App.tsx:70 的 content 对象是首页 hero、proof strip、lifecycle、capabilities、quickstart 和 footer 的单一文案来源;本 PR 同步英文和中文,让默认阅读路径从 outcome/目标进入,同时保持 advanced developer book 可达。apps/presentation/site/src/page-metadata.ts:26 的 pageMetadata.home 影响 prerendered title、description、OG 和 Twitter metadata;这里从 stateful control plane 改为 one natural-language goal,避免搜索和分享预览仍显示旧定位。README.md:26 与 README.zh-CN.md:25 的 Quick Start 从两步安装加具体任务,改成安装一次后给 Agent 一个自然语言目标,并说明 LoopX 会按需变成任务、gate 与证据。

对主干的风险 / Risks

主要风险不是运行时兼容,而是公开承诺漂移:如果首页说“零仪式感”,但 setup prompt 或 Quick Start 仍要求用户先理解内部机制,就会扩大产品承诺和实际路径之间的落差。负向 walkthrough 检查的是一个只想开始任务的新用户:旧文案会把 control-plane-first 定位放到首屏,新 head 的 hero、README 和 metadata 都先讲 goal;高级路径仍通过 developer book 和后半部架构内容保留,不把内部学习完全移除。

验证覆盖了 production build、SEO smoke、两个 SEO base、delegation test、premerge canary 和 public/private boundary scan;远端 GitHub CI 在 review 时仍有 queued/pending job,作为 merge-readiness hold 记录,不作为 changed invariant 的唯一证据。没有新增 schema、权限、调度或默认自动执行路径,所以 default-off isolation 对此 PR 判为 not_applicable。

语义与 CI 对齐

本 PR 复用既有 public site/README 入口,没有新增 enum、Literal、protocol id 或 shared typed vocabulary。semantic_alignment 判为 not_applicable,因为它调整的是 public copy 和 metadata,不扩展控制面协议;guidance_vs_obligation 的机器后果也未变化。CI 方面,本地 uv run --extra test loopx canary premerge --from-git-diff --git-diff-base origin/main 已通过并包含 rfc_bilingual_diff 与 public boundary;GitHub queued checks 需要 merge-readiness 再读,不改变本 review 的 APPROVE 结论。

我的整体评价 / Verdict

APPROVE。problem_context 的 long_horizon 和 user_experience 都是 improved:用户现在能从一个目标进入,下一轮延续、证据和恢复仍作为 LoopX 承诺保留。visual_review: Desktop English, narrow English and narrow Chinese first screens were inspected from the packaged Vite build; headline, body, CTAs and next-section hints fit without overlap. visual_unverified_scope: Remote deployment preview and GitHub-hosted screenshot attachment were not exercised; the rendered packaged local build was inspected.

code_volume 判为 necessary:四个公开入口文件是同一叙事面,未引入新 abstraction;change_proportionality 判为 proportionate,current_pr_boundary: public default entry copy plus metadata, no runtime authority change。剩余风险是文案承诺需要后续真实 onboarding flow 继续兑现,但这个 exact head 对当前 bounded slice 已经足够完整。

English verdict: APPROVE - exact head a06afca aligns the public default entry with goal-first onboarding, keeps advanced kernel language reachable, and passes local build, SEO smoke, delegation test, visual first-screen inspection, and LoopX premerge canary; remote CI remains a merge-readiness hold, not a review blocker.

@cocolord

Copy link
Copy Markdown
Member Author

Merge decision for exact head a06afca.

Authority: maintainer/user authorization in this task allowed merging clearly positive work after normal quality gates. This uses admin bypass only for the current GitHub status-check policy hold; it does not bypass review evidence, local validation, head matching, mergeability, or review-thread checks.

Changed surfaces: public README, Chinese README, presentation-site home copy/setup prompt, and home SEO metadata. No runtime authority, scheduler/quota, schema, provider IO, or persisted-state semantics changed.

Exact-head review: COMMENTED approval conclusion was published and read back on the same head. GitHub reviewDecision now reads APPROVED and there are no unresolved review threads.

Validation run before merge: npm ci, npm run build, npm run smoke:seo, npm run smoke:seo:bases, npm run test:delegation, git diff --check, and uv run --extra test loopx canary premerge --from-git-diff --git-diff-base origin/main all passed for the reviewed diff. The premerge gate reported merge_gate_passed=true with selected=13 and failures=0.

Remote CI status at decision time: prepare and Summary passed, cancel-obsolete-pr skipped, and the remaining checks were still queued/pending after a bounded wait. No remote failure was observed. The queued Sign-off check is covered by the exact commit body carrying Signed-off-by: lusendong.6789 lusendong.6789@bytedance.com.

Why coverage is sufficient: the changed invariant is public entry copy/metadata and first-screen presentation. The packaged Vite build, SEO smokes, delegation test, visual first-screen inspection, public/private boundary premerge, and exact-head review cover that invariant directly. The remaining queued checks are a merge-readiness hold, not missing evidence for this bounded change.

@cocolord
cocolord merged commit 172fe40 into main Nov 11, 2026
8 of 11 checks passed
@cocolord
cocolord deleted the codex/external-entry-default-20261111 branch November 11, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants