PR #420 #1270
codeql
on: dynamic
Matrix: analyze
Annotations
5 errors and 14 warnings
|
MAC_OS_X_PRODUCT_BUILD_VERSION and MAC_OS_X_VERSION_* hardcoded instead of normalized:
src/snapshot-tests/__fixtures__/mcp/json/project-discovery/show-build-settings--success.json#L1401
The four `MAC_OS_X_*` host-OS build-settings keys (`MAC_OS_X_PRODUCT_BUILD_VERSION`, `MAC_OS_X_VERSION_ACTUAL`, `MAC_OS_X_VERSION_MAJOR`, `MAC_OS_X_VERSION_MINOR`) are hardcoded with runtime-specific values (`25D2128`, `260301`, `260000`, `260300`) in the fixture instead of being normalized in code — any macOS update on the CI runner will break these snapshots. Add them to `normalizeBuildSettingsEntryValue` in `json-normalize.ts` (parallel to `SDK_PRODUCT_BUILD_VERSION`→`<SDK_BUILD_VERSION>` / `SDK_VERSION_*`→`<SDK_VERSION>`) and add the corresponding regex to `normalize.ts` for text fixtures, then regenerate all four affected surfaces.
|
|
[TNG-GZN] MAC_OS_X_PRODUCT_BUILD_VERSION and MAC_OS_X_VERSION_* hardcoded instead of normalized (additional location):
src/snapshot-tests/__fixtures__/mcp/json/project-discovery/show-build-settings--success.json#L133
The four `MAC_OS_X_*` host-OS build-settings keys (`MAC_OS_X_PRODUCT_BUILD_VERSION`, `MAC_OS_X_VERSION_ACTUAL`, `MAC_OS_X_VERSION_MAJOR`, `MAC_OS_X_VERSION_MINOR`) are hardcoded with runtime-specific values (`25D2128`, `260301`, `260000`, `260300`) in the fixture instead of being normalized in code — any macOS update on the CI runner will break these snapshots. Add them to `normalizeBuildSettingsEntryValue` in `json-normalize.ts` (parallel to `SDK_PRODUCT_BUILD_VERSION`→`<SDK_BUILD_VERSION>` / `SDK_VERSION_*`→`<SDK_VERSION>`) and add the corresponding regex to `normalize.ts` for text fixtures, then regenerate all four affected surfaces.
|
|
[TNG-GZN] MAC_OS_X_PRODUCT_BUILD_VERSION and MAC_OS_X_VERSION_* hardcoded instead of normalized (additional location):
src/snapshot-tests/__fixtures__/mcp/json/project-discovery/show-build-settings--success.json#L549
The four `MAC_OS_X_*` host-OS build-settings keys (`MAC_OS_X_PRODUCT_BUILD_VERSION`, `MAC_OS_X_VERSION_ACTUAL`, `MAC_OS_X_VERSION_MAJOR`, `MAC_OS_X_VERSION_MINOR`) are hardcoded with runtime-specific values (`25D2128`, `260301`, `260000`, `260300`) in the fixture instead of being normalized in code — any macOS update on the CI runner will break these snapshots. Add them to `normalizeBuildSettingsEntryValue` in `json-normalize.ts` (parallel to `SDK_PRODUCT_BUILD_VERSION`→`<SDK_BUILD_VERSION>` / `SDK_VERSION_*`→`<SDK_VERSION>`) and add the corresponding regex to `normalize.ts` for text fixtures, then regenerate all four affected surfaces.
|
|
[TNG-GZN] MAC_OS_X_PRODUCT_BUILD_VERSION and MAC_OS_X_VERSION_* hardcoded instead of normalized (additional location):
src/snapshot-tests/__fixtures__/mcp/json/project-discovery/show-build-settings--success.json#L1057
The four `MAC_OS_X_*` host-OS build-settings keys (`MAC_OS_X_PRODUCT_BUILD_VERSION`, `MAC_OS_X_VERSION_ACTUAL`, `MAC_OS_X_VERSION_MAJOR`, `MAC_OS_X_VERSION_MINOR`) are hardcoded with runtime-specific values (`25D2128`, `260301`, `260000`, `260300`) in the fixture instead of being normalized in code — any macOS update on the CI runner will break these snapshots. Add them to `normalizeBuildSettingsEntryValue` in `json-normalize.ts` (parallel to `SDK_PRODUCT_BUILD_VERSION`→`<SDK_BUILD_VERSION>` / `SDK_VERSION_*`→`<SDK_VERSION>`) and add the corresponding regex to `normalize.ts` for text fixtures, then regenerate all four affected surfaces.
|
|
[TNG-GZN] MAC_OS_X_PRODUCT_BUILD_VERSION and MAC_OS_X_VERSION_* hardcoded instead of normalized (additional location):
src/snapshot-tests/__fixtures__/mcp/json/project-discovery/show-build-settings--success.json#L2341
The four `MAC_OS_X_*` host-OS build-settings keys (`MAC_OS_X_PRODUCT_BUILD_VERSION`, `MAC_OS_X_VERSION_ACTUAL`, `MAC_OS_X_VERSION_MAJOR`, `MAC_OS_X_VERSION_MINOR`) are hardcoded with runtime-specific values (`25D2128`, `260301`, `260000`, `260300`) in the fixture instead of being normalized in code — any macOS update on the CI runner will break these snapshots. Add them to `normalizeBuildSettingsEntryValue` in `json-normalize.ts` (parallel to `SDK_PRODUCT_BUILD_VERSION`→`<SDK_BUILD_VERSION>` / `SDK_VERSION_*`→`<SDK_VERSION>`) and add the corresponding regex to `normalize.ts` for text fixtures, then regenerate all four affected surfaces.
|
|
Analyze (actions)
Cannot retrieve the full diff because there are too many (300) changed files in the pull request.
|
|
Analyze (python)
Cannot retrieve the full diff because there are too many (300) changed files in the pull request.
|
|
Analyze (javascript-typescript)
Cannot retrieve the full diff because there are too many (300) changed files in the pull request.
|
|
compactFrameObjects regex expects x-first key order but runtime emits y-first, so frame objects are never compacted in UI fixtures:
src/snapshot-tests/__fixtures__/cli/json/ui-automation/snapshot-ui--success.json#L21
The `frame` objects in this fixture (e.g. lines 21–26) appear in expanded multi-line form because `compactFrameObjects` in `json-normalize.ts` matches `"x"` before `"y"`, but `JSON.stringify` serialises the actual data with `"y"` first — the regex never fires, silently defeating the intended compact format.
|
|
MCP JSON swift-package run--success fixture missing `nextSteps` that the MCP text fixture and all peer build-and-run fixtures include:
src/snapshot-tests/__fixtures__/mcp/json/swift-package/run--success.json#L37
The `nextSteps` array is absent from this MCP JSON fixture while the parallel MCP text fixture (`mcp/text/swift-package/run--success.txt`) explicitly records `"Stop Swift package run: swift_package_stop()"`, and every other MCP JSON build-run-result success fixture (`simulator/build-and-run`, `macos/build-and-run`, `device/build-and-run`) carries a `nextSteps` field at the envelope root. This misalignment leaves the JSON contract understating what the runtime actually emits.
|
|
[S2N-G2V] MCP JSON swift-package run--success fixture missing `nextSteps` that the MCP text fixture and all peer build-and-run fixtures include (additional location):
src/snapshot-tests/__fixtures__/mcp/text/swift-package/run--success.txt#L13
The `nextSteps` array is absent from this MCP JSON fixture while the parallel MCP text fixture (`mcp/text/swift-package/run--success.txt`) explicitly records `"Stop Swift package run: swift_package_stop()"`, and every other MCP JSON build-run-result success fixture (`simulator/build-and-run`, `macos/build-and-run`, `device/build-and-run`) carries a `nextSteps` field at the envelope root. This misalignment leaves the JSON contract understating what the runtime actually emits.
|
|
[S2N-G2V] MCP JSON swift-package run--success fixture missing `nextSteps` that the MCP text fixture and all peer build-and-run fixtures include (additional location):
src/snapshot-tests/__fixtures__/mcp/json/device/install--success.json#L3
The `nextSteps` array is absent from this MCP JSON fixture while the parallel MCP text fixture (`mcp/text/swift-package/run--success.txt`) explicitly records `"Stop Swift package run: swift_package_stop()"`, and every other MCP JSON build-run-result success fixture (`simulator/build-and-run`, `macos/build-and-run`, `device/build-and-run`) carries a `nextSteps` field at the envelope root. This misalignment leaves the JSON contract understating what the runtime actually emits.
|
|
MCP JSON clean fixture is identical to CLI JSON, inconsistent with surface differentiation pattern:
src/snapshot-tests/__fixtures__/mcp/json/utilities/clean--success.json#L6
The new `mcp/json/utilities/clean--success.json` is byte-for-byte identical to `cli/json/utilities/clean--success.json`, but for all build operations the MCP JSON fixture omits `data.request` that the CLI JSON fixture includes — and the text fixtures for clean correctly show this same minimal-vs-normal split. If the runtime applies surface differentiation to clean's JSON output (as it does for builds), the MCP fixture should reflect that; if not, the envelope's `data.artifacts` is misclassifying input parameters (workspacePath, scheme, configuration, platform) as output artifacts rather than omitting them on the minimal (MCP) surface.
|
|
New snapshot fixture encodes `nextSteps` as a structured-output contract addition (schemaVersion bumped to "2"):
src/snapshot-tests/__fixtures__/cli/json/simulator-management/list--success.json#L1
This new `cli/json` fixture locks in `nextSteps` as a required field of the `xcodebuildmcp.output.simulator-list` envelope and advances `schemaVersion` to `"2"`; any consumers parsing the structured envelope by schema or version must be updated, and the fixture itself must be deliberately regenerated when the next-step copy changes.
|
|
`stopAllRunningSwiftPackageProcesses` parses normalized fixture text for real process IDs, always getting 99999:
src/snapshot-tests/suites/swift-package-suite.ts#L17
`JSON.parse(text)` on line 22 operates on `formatStructuredEnvelopeFixture` output, which replaces every `processId` with `99999` (see `json-normalize.ts` line 53). The loop will always try to stop PID 99999, fail silently (no such process), then loop forever since `activeProcesses` still holds the real PIDs. Use `structuredEnvelope.data.processes` instead — it carries the unnormalized envelope.
|
|
Schema version bump is a breaking API contract change for structured-output consumers:
src/mcp/tools/simulator-management/set_sim_location.ts#L61
The `schemaVersion` change from `'1'` to `'2'` is a breaking change for any downstream consumer that validates or discriminates on the schema version field — they will now receive `"2"` where they expected `"1"`. Have you considered publishing a migration guide or changelog entry for integrators?
|
|
[JM4-DYC] Schema version bump is a breaking API contract change for structured-output consumers (additional location):
src/mcp/tools/simulator/record_sim_video.ts#L96
The `schemaVersion` change from `'1'` to `'2'` is a breaking change for any downstream consumer that validates or discriminates on the schema version field — they will now receive `"2"` where they expected `"1"`. Have you considered publishing a migration guide or changelog entry for integrators?
|
|
[JM4-DYC] Schema version bump is a breaking API contract change for structured-output consumers (additional location):
src/mcp/tools/swift-package/swift_package_list.ts#L27
The `schemaVersion` change from `'1'` to `'2'` is a breaking change for any downstream consumer that validates or discriminates on the schema version field — they will now receive `"2"` where they expected `"1"`. Have you considered publishing a migration guide or changelog entry for integrators?
|
|
[JM4-DYC] Schema version bump is a breaking API contract change for structured-output consumers (additional location):
src/mcp/tools/debugging/debug_lldb_command.ts#L56
The `schemaVersion` change from `'1'` to `'2'` is a breaking change for any downstream consumer that validates or discriminates on the schema version field — they will now receive `"2"` where they expected `"1"`. Have you considered publishing a migration guide or changelog entry for integrators?
|