返回 CodeWhale
structcopy_baseline.README.md
根目录 / crates / tui / src / commands / fixtures / structcopy_baseline.README.md
1 # Structcopy preservation fixture
2
3 Captured through the real public command dispatcher at upstream commit
4 `6ce2d2e245fd89b93c232fbdf2ac3d6b6b8c12a5`, before FEAT-026 production edits,
5 on Linux with stable Rust 1.98.0 and nextest CI profile, hermetic HOME and
6 RUST_MIN_STACK=16777216. Source: session_structcopy_host_tests.rs fixture.
7 The temporary capture entry point was removed; ordinary assertions only read
8 this file. It must never be regenerated from the migrated implementation.
9
10 Only object.started_at_ms in the owned-workflow JSON string is normalized to
11 1700000000000, preserving its original 13-byte width and receipt byte counts.
12 Other values, full canonical JSON strings and localized receipts compare exactly.
13 The fixture also records clipboard contents and result error flags; test assertions
14 independently verify no actions, unchanged session/transcript/plan, duplicate-last
15 selection, busy-plan no-write and missing workflow journal non-creation.
16
17 Capture command and original source/log hashes are retained in the external
18 FEAT-026 MemoryBank evidence/P2 directory. Numeric test counts do not substitute
19 for these comparisons. A modified expected receipt is used as a negative control
20 and then restored byte-for-byte; ordinary tests never write their expectations.
21
22 ## Current-main reconciliation (2026-09-30)
23
24 Upstream added explicit host execution identities and rejects duplicate or
25 inconsistent tool-call matches. The original fixture remains byte-identical.
26 The assertion replaces only the historical `tool_duplicate_last` expectation
27 with the existing tool-unavailable receipt. Tri-state fixtures now contain one
28 result each, rather than accumulating duplicates. The upstream tests
29 `tool_copy_selects_execution_when_provider_reuses_wire_id` and
30 `tool_copy_refuses_ambiguous_or_inconsistent_identity` move unchanged into
31 `session_structcopy_regression_tests.rs` and protect the new identity rules.
32
33 ## Localization audit reconciliation (2026-10-01)
34
35 The integrated Chinese localization audit changed the turn label from `轮次`
36 to `回合` in three receipts and shortened the command description to
37 `将一个会话对象复制为已脱敏的 JSON;不是模型工具`. The assertion applies exactly
38 these four textual updates to the preserved capture. The fixture itself,
39 canonical JSON payloads, byte counts, English receipts, authority checks and
40 transport outcomes remain unchanged.
41
41 lines MARKDOWN