fix(#108): proxy workspace scaffold no longer mistaken for user project (v2.0.47)
nalayahfowlkest-ship-it / zhangzhang-bit: real Windows project at E:\Desktop\新建文件夹, model "analyzes" a non-existent empty Node template named workspace-devinxse instead. zhangzhang-bit dumped what the model actually receives — cascade upstream injects a <workspace_information>/<workspace_layout> snapshot of the proxy's seeded scaffold dir, and the model trusts that over the env-facts cwd. Two-prong fix: 1. src/client.js scaffold no longer looks like a project. package.json name is "proxy-workspace-stub", README leads with "Proxy workspace placeholder", description says "NOT the user project". src/index.js is removed entirely. Plus an isLegacyScaffold migration that rewrites old "my-project" scaffolds in place on first cascade init after upgrade (existsSync would otherwise short-circuit the rewrite). 2. src/handlers/tool-emulation.js Environment facts block now also includes a one-line precedence note pointing at workspace_information/ workspace_layout snapshots as proxy infrastructure. Wording carefully neutral — the project's banned-phrase rule (feedback_tool_preamble_rules.md) forbids "ignore"/"for this request only" because Opus' injection guard trips on them. Note only appears when env actually carries a cwd (otherwise it has no anchor to point at). Applied uniformly to all four preamble tiers (full, schema-compact, skinny, compact). Tests: 480 -> 490 (+10 / 0 fail), new test/workspace-stub-108.test.js covering all 4 preamble tiers carrying the note, the no-env skip, the banned-phrase regression guard, scaffold rebrand, migration wiring, and a defensive check that old "my-project" / "Hello, world" / "Getting Started" strings stay gone.
D
dwgx committed
dcc158da511fa842da18c04034241fa5cc035bf5
Parent: eca0908