Skip to content

test(workspace): qualify compact settings and contextual state readback - #7318

Merged
huangruiteng merged 1 commit into
mainfrom
codex/settings-navigation-acceptance-20261025
Oct 25, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/settings-navigation-acceptance-20261025

Conversation

@BigDataDZ

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

The packaged navigation scenario still demands a 52px settings row, a removed 32px decorative icon wrapper, opaque fill and top border. The shipped compact sidebar uses a labeled 44px control beside quick navigation. These obsolete appearance checks block the remaining navigation acceptance.

Qualify settings as an actual usable route on desktop, low-height and mobile viewports: visible icon/label, the design contract's 44px target, within the viewport and separate from quick navigation. Open settings, verify device scope without silently selecting the background Goal, then return to the selected Goal. Complete the same scenario's existing unknown-usage, unavailable acceptance, recovered empty-media and read-only-source assertions through their current contextual-help controls. Unknown usage must still display two em dashes, never fabricated zeros; explanatory text, Escape dismissal and trigger focus are verified.

Basis: observed CI failure, current goal-sidebar.tsx and docs/development/design.md at f094b2cfb2acde7a4a0d4d875bba52f64ac31ba9. Intended base: main; no issue closeout claimed.

Author Declaration

Written by: model_agent (OpenAI Codex), under the author's direction. Implements existing compact-navigation, device-scope and explanations-on-demand contracts; product code and presentation are unchanged.

Validation

Tested revision: c08f51323a70cd8ae0987ceef9715819921653c9. Run state: finished. Inputs: synthetic. Native Windows / Node 24.20.0, own-source disposable backend, verified packaged assets built from the same baseline and reused read-only.

  • Untouched full packaged scenario reproduces the exact CI size/icon mismatch.
  • Complete corrected navigation-sorting packaged scenario passes. Settings journey covers 1512×982, 1280×540 and 390×844; existing real disposable reorder persistence, stopped-Goal archive, capability configuration, locale/theme, recovery and remote-read-only checks remain.
  • Syntax, whitespace, bilingual RFC diff and public-boundary checks pass. Independent author-side review found no actionable blocker.
  • Development Vite and installed App/live Goal behavior were not tested. This does not claim complete hosted CI readiness.

Reproduce with a compatible test environment and Playwright configured:

python scripts/chat_bundle.py build
$env:LOOPX_PERSONAL_WORKSPACE_SCENARIO='navigation-sorting'
$env:LOOPX_PERSONAL_WORKSPACE_PACKAGED='1'
node examples/personal-workspace-browser-smoke.mjs

Scope And Continuation

One existing durable scenario owns this acceptance. A local helper groups repeated help-open/read/dismiss checks; no production abstraction or new vocabulary. UI impact: none; no frontend/Lark/CLI product behavior or first-screen presentation changes. Shared-authority RFC fixture impact: N/A.

Current-head CI and maintainer review remain pending. No live Goal/model turn, global setting change, software upgrade or self-merge. DCO signed; raw logs/screenshots remain private.

…eadback

Signed-off-by: BigDataDZ <76271875+BigDataDZ@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewer: model_agent | gpt-6.1-sol | OpenAI | runtime_reported | reasoning_effort=max

APPROVE — c08f51323a70cd8ae0987ceef9715819921653c9:独立复现旧断言误报,完整当前打包场景通过,针对实际产品语义的变异仍会失败。无阻塞发现。

动机

维护者运行导航验收时,旧测试强制旧装饰和 52px 大行,拒绝已采用的紧凑设置入口,后续导航与状态检查因此无法执行。
同一产品的设置入口高 44px,旧测试因旧图标包装和尺寸失败;新测试检查可见可点击、不重叠且在视口内,再打开本机设置并返回原 Goal。
本轮当前完整打包场景通过,旧尺寸断言在同产品上失败;把全局入口故意改成打开后台 Goal 后,新设备范围断言准确失败。
本 PR 只修复已有验收,不修改产品布局、权限、设置 owner 或后端;不把 fixture 成功当成真实活动 Goal、模型或安装版 App 的验收。

这里验收的是已有维护任务:让测试按真实用户入口获取信息,同时继续拒绝错误含义。删除说明或保留失效的表现假设都不能完成这个目标。goal_achieved 仅指本次有界断言修复,不是整个产品、发布或长期效果已达成。

改动思路

接受的规格先于实现:docs/development/design.md,不可变实际 merge base f094b2cfb2acde7a4a0d4d875bba52f64ac31ba9,原文条目 Explanations On Demand。辅助说明应通过现有可访问入口完整读取,Escape 和焦点回返有效;打开帮助只读取,不启动模型或授予权限。另按同版本 docs/development/good-smokes.md 的 Prefer Semantic Pressure / 优先验证语义压力 与 Consolidate Without Losing Coverage / 合并时不丢失覆盖 判断保留价值,不能仅因跑通就保留样板。

One local15-line help helper serves five calls. Retain distinct semantic expectations; generic help mechanics may converge later, but no framework or new tracking Todo is needed now. 产品判断继续由原来的 owner 承担,测试只观察真实入口。源码路径是 Existing navigation-sorting -> existing sidebar/global openSettings -> Settings scope and return -> existing overview/media/remote ContextHelp; unchanged durable-order backend path also remains.;没有新状态、配置、能力或控制面决策 owner。两个提案共享接受基线 f094;验证包从当前完整前端源码重新 build,再确认每个 base/head 的生产源码及打包字节相同,并分别做 source-bundle 验证。

具体改动

One existing mjs +64/-24; one15-line help helper, three-viewport actual settings journey, and replacements of stale inline explanation/selector assumptions. No production code. 完整差异已逐项读过,不把未改的生产界面重述为新功能。关键路径与正反执行如下。

接受规格的 Accessibility 要求 practical44px 目标;Cards And Panels 规定全局设置打开 this device,不能暗选后台 Goal,未知统计不能补零。旧断言要求52px、旧32px包装、opaque fill和top border,并非这些任务语义。当前 130–160行 在1512×982、1280×540、390×844确认实际SVG及“设置”标签、至少44px、视口内并与快捷导航不重叠,点击后检查本机radio选中且没有Goal picker,再返回同一selected Goal。范围来自实际 openSettings 路径,不是用截图推断。

readContextHelp:11 是15行本地 helper:精确按钮、可见tooltip、正文包含完整预期、Escape隐藏和来源focus。两项未知usage仍必须是两个 em dash;不可用验收、恢复后空media及远端只读来源的完整限制经相应帮助读取。旧的持久化排序、真实服务重启、失败重试、历史滚动/过滤、远端不可写、主题和异步状态恢复断言没有删除。

完整同源场景 结果 意义
base旧测试,同产品字节 exit1 /8.844s;第126行实际height44、旧wrapper为0、width179 独立复现过期装饰要求误报
当前head exit0 /24.074s;场景22.347s,acceptance PASS 三视口与全部原有旅程通过
当前测试,global callback故意传入后台Goal exit1 /6.321s;第155行设备范围断言失败 尺寸/标签/测试不变,错误任务目标仍被拒绝

变异只在私有提取源码中将全局入口交给现有Goal设置路径并重新 build,未改任何断言或实际工作树。这里的大部分API是既有synthetic workspace;保留的 runDurableGoalOrder 另外通过真实ChatHTTPServer及一次性私有偏好文件,验证跨端口服务重启、physical file读回、旧读延迟、失败重试和cache迁移。不能把它扩大成真实活动Goal/设置存储的完整资格。两侧source-bundle验证、当前head标准premerge四direct及全部选择项通过;未查询、轮询或等待CI。

对主干的风险

没有发现阻塞项。最容易被这类“修复测试”隐藏的方向是:表现断言删掉后,界面依然有标签却丢了范围、误选了目标或制造确定性。上述变异保持更简单的表面条件,执行不变的当前测试,仍在目标语义断言失败;完整正例同时覆盖后续旧路径,未把预期失败或准备错误当成产品通过。作者Windows结果属于作者报告,本轮证据是独立本机实际打包运行。开发服务器、安装态和在线模型不在本次已验范围。

覆盖检索结论:settings-scope.mjs already checks global device scope and no background storage read against a disposable production owner; this is acknowledged overlap, not claimed new scope coverage. Its focus is storage scope/revision/race. Here the existing navigation smoke replaces obsolete geometry with44px+separation+three-viewports+return, then preserves unknown/help/remote semantics so its whole existing journey can execute. Other capability/model scope scenarios do not replace this layout/navigation combination.

完整42项开放队列及同作者批次已检查;#7316空运行说明、#7323已验报告与团队覆盖、#7324原生UTF-8 fixture、#7319运行时redaction及#7326测试worker编码分别有不同边界,背景扫描不授予它们通过或构成第三项评审。没有已证实的重复样板违规或警告后反复违规,不因若干小PR就推荐限制账号。保留本来有用的下游语义,潜在公共helper整合不需要现在创建平行任务。回退只涉及一个测试文件,无产品迁移或权限变化。

我的整体评价

这次维护交付有实际闭环:旧测试确有误报,当前全场景可执行,独立产品语义负例仍被拒绝。One local15-line help helper serves five calls. Retain distinct semantic expectations; generic help mechanics may converge later, but no framework or new tracking Todo is needed now. 已查看现有打包截图的桌面/移动内容作为上下文,但不把未改的界面描述成新设计或更高可读性的证明。

本次只改 navigation-sorting.mjs;GoalSidebar、设置页、ContextHelp 及全部生产前端和打包资产在 base/head 字节一致,没有渲染呈现变更。 实际运行中的 Goal 配置、模型和安装版 App 未验收;workspace API 为受控 fixture,只有保留的排序子旅程另走真实一次性偏好存储。 用户完成原任务不增加陈述、复制、确认或准备轮次;测试走已有可选帮助/设置入口。无阻塞发现,最强缺失范围就是上述真实运行/安装边界,不由fixture通过推断。发布批准后会按原生closeout/readiness读回剩余评审门限;这不授予合并权限,也不撤销其他reviewer的有效阻塞。

English verdict: APPROVE at c08f51323a70cd8ae0987ceef9715819921653c9. No blocking finding. The full native packaged navigation-sorting scenario passes; immutable-base stale assertions fail on the same product, and an unchanged current test rejects a deliberate product-semantic mutation at the precise changed invariant. Accepted design, downstream coverage and existing overlap were reviewed; local premerge passes. CI was not consulted. Controlled APIs and the explicitly named disposable preference-store path do not qualify live Goals/models or the installed App. Approval grants no merge or dismissal authority.

@huangruiteng
huangruiteng merged commit d1a1de7 into main Oct 25, 2026
23 of 36 checks passed
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.

3 participants