feat: Workspace filesystem cleanup #391
2 issues
xcodebuildmcp-snapshot-fixture-review: Found 3 issues (2 medium, 1 low)
Medium
Build Logs path not updated to workspace-scoped layout - `src/snapshot-tests/__fixtures__/cli/device/build--error-wrong-scheme.txt:8`
The Derived Data path was updated to the new workspace-keyed location (workspaces/XcodeBuildMCP-<HASH>/DerivedData/...), but the Build Logs path on line 15 still points to the old top-level logs/ directory. Per the PR description, XcodeBuildMCP-owned logs are now moved into workspace-keyed paths under shared application support. If the rendered output now writes logs under a workspace-scoped path, this fixture would be inconsistent with actual output and CLI/MCP/JSON fixtures may diverge.
Also found at:
src/snapshot-tests/__fixtures__/mcp/simulator/test--failure.txt:36
New 'Running tests' progress lines may be volatile and should be normalized - `src/snapshot-tests/__fixtures__/cli/swift-package/test--failure.txt:8-14`
The fixture now includes seven sequential 'Running tests (N completed, M failure, ...)' progress lines that were previously absent. These progress counters depend on test execution order and timing, which is typically volatile across runs. Per the skill's guardrails, volatile values should be normalized in code rather than baked into fixtures; otherwise this snapshot will become flaky on re-runs. Confirm whether these progress lines are deterministic for this fixture's input or whether normalization in fixture-io / contracts is needed.
Low
New JSON fixture entry has empty test name and uses description as suite - `src/snapshot-tests/__fixtures__/json/simulator/test--failure.json:370-375`
The added entry uses 'Decimal point at start creates 0' as the suite and an empty string for test. If this reflects a real change in structured output (e.g., Swift Testing free-function tests), the fixture update is intentional and aligned. If the normalization layer should split or relabel such entries, this fixture may be encoding volatile/ad-hoc data rather than a normalized envelope. Verify that the JSON envelope shape here is produced by the normalizer and matches MCP/CLI fixtures for the same run.
Duration: 5m 23s · Tokens: 1.6M in / 3.6k out · Cost: $2.71 (+merge: $0.00)
Annotations
Check warning on line 8 in src/snapshot-tests/__fixtures__/cli/device/build--error-wrong-scheme.txt
github-actions / warden: xcodebuildmcp-snapshot-fixture-review
Build Logs path not updated to workspace-scoped layout
The Derived Data path was updated to the new workspace-keyed location (`workspaces/XcodeBuildMCP-<HASH>/DerivedData/...`), but the Build Logs path on line 15 still points to the old top-level `logs/` directory. Per the PR description, XcodeBuildMCP-owned logs are now moved into workspace-keyed paths under shared application support. If the rendered output now writes logs under a workspace-scoped path, this fixture would be inconsistent with actual output and CLI/MCP/JSON fixtures may diverge.
Check warning on line 36 in src/snapshot-tests/__fixtures__/mcp/simulator/test--failure.txt
github-actions / warden: xcodebuildmcp-snapshot-fixture-review
[5AX-QC4] Build Logs path not updated to workspace-scoped layout (additional location)
The Derived Data path was updated to the new workspace-keyed location (`workspaces/XcodeBuildMCP-<HASH>/DerivedData/...`), but the Build Logs path on line 15 still points to the old top-level `logs/` directory. Per the PR description, XcodeBuildMCP-owned logs are now moved into workspace-keyed paths under shared application support. If the rendered output now writes logs under a workspace-scoped path, this fixture would be inconsistent with actual output and CLI/MCP/JSON fixtures may diverge.
Check warning on line 14 in src/snapshot-tests/__fixtures__/cli/swift-package/test--failure.txt
github-actions / warden: xcodebuildmcp-snapshot-fixture-review
New 'Running tests' progress lines may be volatile and should be normalized
The fixture now includes seven sequential 'Running tests (N completed, M failure, ...)' progress lines that were previously absent. These progress counters depend on test execution order and timing, which is typically volatile across runs. Per the skill's guardrails, volatile values should be normalized in code rather than baked into fixtures; otherwise this snapshot will become flaky on re-runs. Confirm whether these progress lines are deterministic for this fixture's input or whether normalization in fixture-io / contracts is needed.