ソースを参照

fix(web): scope the no-key claim in the note's Consequences and rewrap the header

The Agent Note Consequences paragraph (en+zh) now limits the no-API-key
claim to replay/refresh modes, matching the Decision paragraph and the
record-mode key requirement; the test header is rewrapped and the
pairing sidecar re-recorded.
Chinesezjc 1 ヶ月 前
親
コミット
0ae7e81664

+ 2 - 2
.agents/notes/implemented/bug-fix/2026-08-06-plan-narrow-viewport-regression.i18n.yaml

@@ -2,5 +2,5 @@
 # side as of the last confirmed-consistent state. Both languages carry equal authority;
 # after editing either side, bring the other along and re-record with:
 #   pnpm run verify-translation-pairing --write .agents/notes/implemented/bug-fix/2026-08-06-plan-narrow-viewport-regression.md
-2026-08-06-plan-narrow-viewport-regression.md: ec001ac0d4eab311447a00a79c110804f92eb48c
-2026-08-06-plan-narrow-viewport-regression.zh.md: ad39fb78f95336649927f1ded968c2673e923fa5
+2026-08-06-plan-narrow-viewport-regression.md: a9bf0e09500a1f3d9476c262d53994a52bca1326
+2026-08-06-plan-narrow-viewport-regression.zh.md: a626872a5b99f39fda991bfefe7cccf331ba20b9

+ 1 - 1
.agents/notes/implemented/bug-fix/2026-08-06-plan-narrow-viewport-regression.md

@@ -30,4 +30,4 @@ The geometry golden records stable facts — viewport membership on both axes an
 
 ## Consequences
 
-Any future change to the control row layout — fonts, gaps, media or container queries — that re-introduces overlap or moves the chip out of the viewport on either axis fails this test. The test needs no API key: plan mode toggles through the command handler without a model round, and a providers-only replay fixture (no recorded script, consumption check skipped) mounts the model directory so the trigger renders its real long label — the width that made the reported overlap measurable; the test asserts that label before measuring. The golden is compared in replay and record modes and rewritten in refresh mode.
+Any future change to the control row layout — fonts, gaps, media or container queries — that re-introduces overlap or moves the chip out of the viewport on either axis fails this test. The test needs no API key in replay/refresh modes: plan mode toggles through the command handler without a model round, and a providers-only replay fixture (no recorded script, consumption check skipped) mounts the model directory so the trigger renders its real long label — the width that made the reported overlap measurable; the test asserts that label before measuring. The golden is compared in replay and record modes and rewritten in refresh mode.

+ 1 - 1
.agents/notes/implemented/bug-fix/2026-08-06-plan-narrow-viewport-regression.zh.md

@@ -30,4 +30,4 @@ Status: implemented
 
 ## 后果
 
-任何改变控制行布局的后续改动——字体、间距、媒体查询或容器查询——一旦重新引入重叠或把 chip 沿任一轴移出视口,本测试即失败。测试无需 API key:Plan 模式经命令 handler 切换,不经模型回合;providers-only replay fixture(无录制脚本,跳过消费检查)挂载模型目录,使触发器渲染真实的长标签——正是使报告重叠可测量的宽度;测试在测量前断言该标签。golden 在 replay 与 record 模式下比较,在 refresh 模式下重写。
+任何改变控制行布局的后续改动——字体、间距、媒体查询或容器查询——一旦重新引入重叠或把 chip 沿任一轴移出视口,本测试即失败。测试在 replay/refresh 模式下无需 API key:Plan 模式经命令 handler 切换,不经模型回合;providers-only replay fixture(无录制脚本,跳过消费检查)挂载模型目录,使触发器渲染真实的长标签——正是使报告重叠可测量的宽度;测试在测量前断言该标签。golden 在 replay 与 record 模式下比较,在 refresh 模式下重写。

+ 4 - 3
apps/web/tests/plan-control-row.e2e.ts

@@ -9,9 +9,10 @@
 // the command handler commits plan/mode active on the live agent without a
 // model round (the lifecycle-chrome precedent), so the test needs no model
 // call and no API key in replay/refresh modes; a providers-only fixture
-// mounts the model catalog without a script to consume. Plan state folds from the session log
-// (`plan/mode`, last one wins); the chip executes /plan off through
-// commands.execute, which needs the live agent connectFreshWorkspace keeps.
+// mounts the model catalog without a script to consume. Plan state folds
+// from the session log (`plan/mode`, last one wins); the chip executes
+// /plan off through commands.execute, which needs the live agent
+// connectFreshWorkspace keeps.
 //
 // The geometry golden records stable facts — viewport membership on both
 // axes for the chip and the trigger, and disjoint click areas — never