docs(B01): hand off F01 and mode confirmation fixes with test evidence
This commit is contained in:
1 parent
1ed71b63b5
commit
72bf7afd0a
3 files changed
+281
No files matched your search
@@ -0,0 +1,202 @@
|
||||
B01 delivery 02 offline evidence
|
||||
Code SHA: 1ed71b63b5af9a98b942ff47c66df5799d4d2c8a
|
||||
Base: ddd677bae3c43a5514eb40f7a1d9749fdf389115
|
||||
Linux x64; Node 24.19.0; npm 11.9.0; jsdom 30.1.3
|
||||
No model/SDK process or original app was started. Native style/layout acceptance is not claimed.
|
||||
Token failure sets before and after are equal (6 pre-existing failures); baseline unchanged.
|
||||
First intermediate build found a TS narrowing error; fixed before successful final build.
|
||||
Independent review repeated DOM tests and found no blocking production regression.
|
||||
|
||||
===== alignment.txt: exit 0 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 test:alignment
|
||||
> node scripts/run-alignment-regression.mjs
|
||||
|
||||
PASS model alignment: fresh/legacy migration, new/edit/default/delete/reload, valid selection (offline host fixtures)
|
||||
PASS model settings: deferred owner switch, rename mapping, addition selection, empty deletion, immutable history
|
||||
PASS session factory: first-send preference, mode preservation, invalid permission rejection (isolated ports)
|
||||
{"historyMessages":10000,"bytes":747781,"parseMs":3.751840999999999,"storeHydrationMs":0.13198400000000277,"note":"Node parsing/store benchmark only, not browser rendering or Windows IPC performance"}
|
||||
session-composer-alignment: loading/cache/retry/races/model/permissions/modes/SSR passed
|
||||
alignment-conversation: local groups, original expanded order, question projection and truthful status passed
|
||||
A01 native MessageBubble identity aliases, immutable inputs and ordinary raw output passed
|
||||
A01 imported native card, linked dedup and unknown-position compatibility passed
|
||||
question-answer-shell: structural and recovered CSS contracts passed
|
||||
question-answer-shell: DOM hierarchy, controls linkage, click, Enter, Space and inert contracts passed
|
||||
Runtime progress, session-grant scope and approval lifecycle regressions passed
|
||||
Permission intercept static rendering passed; interactive keyboard/focus remains UI acceptance
|
||||
Claude host approval policy unit checks passed (no SDK process/application/matching verification)
|
||||
Mock SDK replay lifecycle passed: fail closed, retry, session isolation, independent mode guard
|
||||
task popconfirm DOM regression: 34 checks passed (jsdom, not pixel validation)
|
||||
question-interaction: 24 DOM behavioral checks passed
|
||||
question-identity: 30 A01 DOM checks passed (not Electron/pixel/SDK acceptance)
|
||||
completed-fold-nested: real question/tool/thinking/local-summary remount, event, keyboard and identity contracts passed
|
||||
completed-fold-native-identity: real reducer done correction, native IDs, insertion/reorder, repeated outer toggles, message isolation and legacy fallback passed
|
||||
Permission intercept DOM: 14 checks passed (not pixel/SDK verification)
|
||||
{"checks":37,"passed":true,"scope":"Isolated React DOM and CSS contracts; no native keyboard/layout/pixel acceptance"}
|
||||
npm notice
|
||||
npm notice New major version of npm available! 11.9.0 -> 12.2.0
|
||||
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
|
||||
npm notice To update run: npm install -g npm@12.2.0
|
||||
npm notice
|
||||
|
||||
===== conversation.txt: exit 0 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 test:conversation
|
||||
> esbuild scripts/conversation-renderer-regression.tsx scripts/composer-regression.tsx scripts/completed-fold-regression.tsx scripts/streaming-footer-regression.tsx --bundle --platform=node --format=cjs --jsx=automatic --loader:.css=text --out-extension:.js=.cjs --outdir=.tmp/conversation-tests --log-level=error && node .tmp/conversation-tests/conversation-renderer-regression.cjs && node .tmp/conversation-tests/composer-regression.cjs && node .tmp/conversation-tests/streaming-footer-regression.cjs && node .tmp/conversation-tests/completed-fold-regression.cjs
|
||||
|
||||
Conversation specialized renderer SSR regression checks passed
|
||||
Composer/message action regression cases passed
|
||||
streaming-footer-regression: persistent stream status, delayed/paused rotation, brand/locale mapping, source CSS, and completed model footer passed
|
||||
Completed-fold model and SSR regression checks passed
|
||||
|
||||
===== import.txt: exit 0 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 test:workbuddy-import
|
||||
> esbuild scripts/workbuddy-import-regression.ts --bundle --platform=node --format=esm --outfile=.tmp/workbuddy-import-regression.mjs --log-level=warning && node .tmp/workbuddy-import-regression.mjs
|
||||
|
||||
WorkBuddy import regression passed
|
||||
|
||||
===== artifacts.txt: exit 0 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 test:artifacts
|
||||
> esbuild scripts/artifact-diff-regression.ts scripts/artifact-renderer-regression.tsx scripts/specialized-block-regression.tsx --bundle --platform=node --format=cjs --jsx=automatic --loader:.css=empty --out-extension:.js=.cjs --outdir=.tmp/artifact-tests --log-level=warning && node .tmp/artifact-tests/artifact-diff-regression.cjs && node .tmp/artifact-tests/artifact-renderer-regression.cjs && node .tmp/artifact-tests/specialized-block-regression.cjs
|
||||
|
||||
Artifact diff recovery regression checks passed
|
||||
Artifact routing, content loading, full write projection and renderer regressions passed
|
||||
Specialized block icon and label SSR regression checks passed
|
||||
|
||||
===== build.txt: exit 0 =====
|
||||
[Tail of successful full build; includes prior typecheck in command]
|
||||
out/renderer/assets/vue-vine-DXhYlaTf-DTauGW8s.js 201.27 kB
|
||||
out/renderer/assets/SourceSelect-DrNU8YnZ.js 203.20 kB
|
||||
out/renderer/assets/chunk-4HAMMTFA-BEFC_AJa.js 210.32 kB
|
||||
out/renderer/assets/swimlanes-42K2YHIH-Bp72q37Z.js 265.51 kB
|
||||
out/renderer/assets/wolfram-BVoTES0L-6ikJLWGF.js 267.14 kB
|
||||
out/renderer/assets/chunk-DU6HZSFF-DPu5LxXf.js 271.07 kB
|
||||
out/renderer/assets/architectureDiagram-5GKGNRK7-DAeFXfK3.js 318.23 kB
|
||||
out/renderer/assets/katex-Y9ra-ykP.js 497.35 kB
|
||||
out/renderer/assets/texmath-Bkeg3ZLn.js 594.25 kB
|
||||
out/renderer/assets/wasm-CVjZL0jK-2Bi6p3c3.js 622.62 kB
|
||||
out/renderer/assets/cpp-9jHBA231-CtHklR8a.js 626.73 kB
|
||||
out/renderer/assets/app-BYh1ERuc.js 675.57 kB
|
||||
out/renderer/assets/emacs-lisp-DjtOxg4j-CUUa7aOE.js 780.06 kB
|
||||
out/renderer/assets/cytoscape.esm-bVGYt-iW.js 869.69 kB
|
||||
out/renderer/assets/ArtifactPierreDiff-D5xhRc5y.js 1,119.58 kB
|
||||
out/renderer/assets/chunk-FOHPRMQF-BCllzKJD.js 1,154.18 kB
|
||||
out/renderer/assets/index-lmA4yj_k.js 3,760.12 kB
|
||||
out/renderer/assets/editor.api2-dPwET-7w-BYIQ9bT3.js 4,889.23 kB
|
||||
|
||||
✓ built in 2.08s
|
||||
npm notice
|
||||
npm notice New major version of npm available! 11.9.0 -> 12.2.0
|
||||
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
|
||||
npm notice To update run: npm install -g npm@12.2.0
|
||||
npm notice
|
||||
===== fold-before.txt: exit 0 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 test:fold-summary
|
||||
> node scripts/rea/recovered-fold-summary-regression.mjs
|
||||
|
||||
Recovered fold-summary closure regression passed (descriptor aliases, object selection, states, topics and labels).
|
||||
|
||||
===== tokens-before.txt: exit 1 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 check:tokens
|
||||
> node scripts/check-design-tokens.mjs
|
||||
|
||||
设计 token 漂移检查(静态)
|
||||
扫描:src/renderer/src 共 367 个文件(用时 49 ms)
|
||||
baseline:scripts/design-token-baseline.json(334 个文件)
|
||||
门禁分类:adapter 8 | core 6 | local 279(合计 293 个文件)
|
||||
合计:裸 hex=611 裸 px=2682 !important=6 --wb-* 定义=525 var(--yc-*) 使用=1642 var(--wb-*) 使用=1203
|
||||
非门禁分类:vendor 2 | recovered 22 | source 47 | tokenSource 3(合计 74 个文件,仅记录不阻塞)
|
||||
合计:裸 hex=10642 裸 px=13642 !important=920 --wb-* 定义=17966 var(--yc-*) 使用=77 var(--wb-*) 使用=19638
|
||||
非门禁相对 baseline:文件 +0;裸 hex +78 裸 px +64 !important +0 --wb-* 定义 +0 var(--yc-*) 使用 +22 var(--wb-*) 使用 -120
|
||||
|
||||
结果:失败,共 6 项:
|
||||
[新增门禁文件] src/renderer/src/capabilities/recommended-flow.css(local):裸 px=22
|
||||
[新增门禁文件] src/renderer/src/capabilities/skill-detail-shell.css(local):裸 px=21
|
||||
[回归] src/renderer/src/capabilities/skills-host.css(local):裸 px 25 → 46(+21)
|
||||
[新增门禁文件] src/renderer/src/workbuddy/composer/capability-picker.css(local):裸 hex=26,裸 px=48
|
||||
[回归] src/renderer/src/workbuddy/composer/composer.css(local):裸 hex 23 → 38(+15);裸 px 83 → 139(+56)
|
||||
[新增门禁文件] src/renderer/src/workbuddy/composer/prompt-queue.css(local):裸 hex=8,裸 px=35
|
||||
|
||||
提示:确认变更符合预期后运行 `node scripts/check-design-tokens.mjs --update-baseline` 刷新 baseline;
|
||||
否则请改用 --yc-* token、复用现有值,或去掉重复的 --wb-* 定义。
|
||||
提示(不失败,仅记录):3 个门禁文件 token 使用数上升:
|
||||
src/renderer/src/capabilities/skills-host.css(local):var(--wb-*) 使用 12 → 19(+7)
|
||||
src/renderer/src/workbuddy/composer/composer.css(local):var(--yc-*) 使用 35 → 47(+12);var(--wb-*) 使用 0 → 1(+1)
|
||||
src/renderer/src/workbuddy/conversation/conversation.css(local):var(--yc-*) 使用 0 → 4(+4)
|
||||
提示(不失败):baseline 中 8 个文件已不存在:src/renderer/src/components/ReportedRunUsage.tsx;src/renderer/src/workbuddy/subagents/SourceMemberIcon.tsx;src/renderer/src/workbuddy/subagents/SubagentCollaboration.tsx;src/renderer/src/workbuddy/subagents/SubagentDetailPanel.tsx;src/renderer/src/workbuddy/subagents/adapters.css;src/renderer/src/workbuddy/subagents/member-view.ts;src/renderer/src/workbuddy/subagents/source.css;src/renderer/src/workbuddy/subagents/theme.css
|
||||
提示:新增门禁文件 36 个且无受控计数(允许):src/renderer/src/capabilities/CapabilityMaintenance.tsx(local);src/renderer/src/capabilities/RecommendedSkills.tsx(local);src/renderer/src/capabilities/SkillAvatar.tsx(local);src/renderer/src/capabilities/SkillDetailShell.tsx(local);src/renderer/src/capabilities/SkillModalPortal.tsx(local);src/renderer/src/capabilities/skill-modal-focus.ts(local);src/renderer/src/components/SessionLoading.tsx(local);src/renderer/src/components/TaskPopconfirm.tsx(local);src/renderer/src/components/session-loading.css(local);src/renderer/src/components/task-popconfirm.css(local);src/renderer/src/components/updates/UpdateSidebarCard.tsx(local);src/renderer/src/components/updates/update-ui-model.ts(local);src/renderer/src/components/updates/update-ui-store.ts(local);src/renderer/src/components/updates/updates-ui.css(local);src/renderer/src/ui/Button.tsx(local);src/renderer/src/ui/IconButton.tsx(local);src/renderer/src/ui/Input.tsx(local);src/renderer/src/ui/Popover.tsx(local);src/renderer/src/ui/Select.tsx(local);src/renderer/src/ui/Switch.tsx(local);…(还有 16 项,详见 --json)
|
||||
|
||||
===== tokens-after.txt: exit 1 =====
|
||||
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
||||
|
||||
> ycode@0.0.7 check:tokens
|
||||
> node scripts/check-design-tokens.mjs
|
||||
|
||||
设计 token 漂移检查(静态)
|
||||
扫描:src/renderer/src 共 367 个文件(用时 48 ms)
|
||||
baseline:scripts/design-token-baseline.json(334 个文件)
|
||||
门禁分类:adapter 8 | core 6 | local 279(合计 293 个文件)
|
||||
合计:裸 hex=611 裸 px=2682 !important=6 --wb-* 定义=525 var(--yc-*) 使用=1642 var(--wb-*) 使用=1201
|
||||
非门禁分类:vendor 2 | recovered 22 | source 47 | tokenSource 3(合计 74 个文件,仅记录不阻塞)
|
||||
合计:裸 hex=10642 裸 px=13642 !important=920 --wb-* 定义=17966 var(--yc-*) 使用=77 var(--wb-*) 使用=19638
|
||||
非门禁相对 baseline:文件 +0;裸 hex +78 裸 px +64 !important +0 --wb-* 定义 +0 var(--yc-*) 使用 +22 var(--wb-*) 使用 -120
|
||||
|
||||
结果:失败,共 6 项:
|
||||
[新增门禁文件] src/renderer/src/capabilities/recommended-flow.css(local):裸 px=22
|
||||
[新增门禁文件] src/renderer/src/capabilities/skill-detail-shell.css(local):裸 px=21
|
||||
[回归] src/renderer/src/capabilities/skills-host.css(local):裸 px 25 → 46(+21)
|
||||
[新增门禁文件] src/renderer/src/workbuddy/composer/capability-picker.css(local):裸 hex=26,裸 px=48
|
||||
[回归] src/renderer/src/workbuddy/composer/composer.css(local):裸 hex 23 → 38(+15);裸 px 83 → 139(+56)
|
||||
[新增门禁文件] src/renderer/src/workbuddy/composer/prompt-queue.css(local):裸 hex=8,裸 px=35
|
||||
|
||||
提示:确认变更符合预期后运行 `node scripts/check-design-tokens.mjs --update-baseline` 刷新 baseline;
|
||||
否则请改用 --yc-* token、复用现有值,或去掉重复的 --wb-* 定义。
|
||||
提示(不失败,仅记录):3 个门禁文件 token 使用数上升:
|
||||
src/renderer/src/capabilities/skills-host.css(local):var(--wb-*) 使用 12 → 19(+7)
|
||||
src/renderer/src/workbuddy/composer/composer.css(local):var(--yc-*) 使用 35 → 47(+12);var(--wb-*) 使用 0 → 1(+1)
|
||||
src/renderer/src/workbuddy/conversation/conversation.css(local):var(--yc-*) 使用 0 → 4(+4)
|
||||
提示(不失败):baseline 中 8 个文件已不存在:src/renderer/src/components/ReportedRunUsage.tsx;src/renderer/src/workbuddy/subagents/SourceMemberIcon.tsx;src/renderer/src/workbuddy/subagents/SubagentCollaboration.tsx;src/renderer/src/workbuddy/subagents/SubagentDetailPanel.tsx;src/renderer/src/workbuddy/subagents/adapters.css;src/renderer/src/workbuddy/subagents/member-view.ts;src/renderer/src/workbuddy/subagents/source.css;src/renderer/src/workbuddy/subagents/theme.css
|
||||
提示:新增门禁文件 36 个且无受控计数(允许):src/renderer/src/capabilities/CapabilityMaintenance.tsx(local);src/renderer/src/capabilities/RecommendedSkills.tsx(local);src/renderer/src/capabilities/SkillAvatar.tsx(local);src/renderer/src/capabilities/SkillDetailShell.tsx(local);src/renderer/src/capabilities/SkillModalPortal.tsx(local);src/renderer/src/capabilities/skill-modal-focus.ts(local);src/renderer/src/components/SessionLoading.tsx(local);src/renderer/src/components/TaskPopconfirm.tsx(local);src/renderer/src/components/session-loading.css(local);src/renderer/src/components/task-popconfirm.css(local);src/renderer/src/components/updates/UpdateSidebarCard.tsx(local);src/renderer/src/components/updates/update-ui-model.ts(local);src/renderer/src/components/updates/update-ui-store.ts(local);src/renderer/src/components/updates/updates-ui.css(local);src/renderer/src/ui/Button.tsx(local);src/renderer/src/ui/IconButton.tsx(local);src/renderer/src/ui/Input.tsx(local);src/renderer/src/ui/Popover.tsx(local);src/renderer/src/ui/Select.tsx(local);src/renderer/src/ui/Switch.tsx(local);…(还有 16 项,详见 --json)
|
||||
|
||||
===== mode-fixture-build.txt: exit 0 =====
|
||||
{"output":"/workspace/scratch/0aaa9774aecc/single-package-staging/ycode/.tmp/mode-chip-native-ZJMFra","fixtureBuilt":true,"nativeExecuted":false}
|
||||
|
||||
===== popconfirm-fixture-build.txt: exit 0 =====
|
||||
Browser fixture: /workspace/scratch/0aaa9774aecc/single-package-staging/ycode/.tmp/task-popconfirm-browser-RoVW4H/index.html
|
||||
|
||||
===== identity-baseline-negative-control.txt: exit 1 =====
|
||||
AssertionError [ERR_ASSERTION]: terminal correction preserves choices
|
||||
+ actual - expected
|
||||
|
||||
{
|
||||
plan: [
|
||||
+ 'true'
|
||||
- 'false'
|
||||
],
|
||||
task: [
|
||||
+ 'true'
|
||||
- 'false'
|
||||
]
|
||||
}
|
||||
|
||||
at main2 (/workspace/scratch/0aaa9774aecc/single-package-staging/ycode/.tmp/f01-baseline-check.cjs:293667:25) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: [Object],
|
||||
expected: [Object],
|
||||
operator: 'deepStrictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
Baseline negative control reproduced exact terminal correction failure (expected exit 1).
|
||||
|
||||
Reference in new issue
Block a user