refactor(11/12): update manifests, config, docs, and example projects#329
refactor(11/12): update manifests, config, docs, and example projects#329cameroncooke wants to merge 2 commits intorefactor/cli-daemon-mcp-boundariesfrom
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 55a323e. Configure here.
| ); | ||
| MARKETING_VERSION = 1.0; | ||
| PRODUCT_BUNDLE_IDENTIFIER = io.sentry.MCPTest; | ||
| PRODUCT_BUNDLE_IDENTIFIER = io.sentry.calculatorapp; |
There was a problem hiding this comment.
macOS MCPTest reuses iOS Calculator bundle identifier
Medium Severity
The macOS MCPTest app's PRODUCT_BUNDLE_IDENTIFIER was updated to io.sentry.calculatorapp. This bundle ID is already in use by the iOS Calculator example app. Sharing the same bundle ID across two distinct example apps can lead to issues with app identification, automation, snapshot tests, and Keychain collisions.
Reviewed by Cursor Bugbot for commit 55a323e. Configure here.
b91063e to
e6d00fe
Compare
55a323e to
22247c9
Compare
|
|
||
| const text = chunk.toString(); | ||
| stdoutChunks.push(text); | ||
| normalizedStdout += normalizeTerminalTranscript(text); |
There was a problem hiding this comment.
Bug: Processing streamed output in chunks can merge lines across chunk boundaries, breaking regex matching for benchmark milestones and resulting in incorrect metrics.
Severity: MEDIUM
Suggested Fix
Buffer the incoming data chunks and process the stream line-by-line instead of chunk-by-chunk. This ensures that normalizeTerminalTranscript and any subsequent pattern matching operate on complete lines, preventing milestone markers from being broken apart.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: scripts/benchmark-simulator-test.ts#L140
Potential issue: When processing streamed output, the `normalizeTerminalTranscript`
function is called on each data chunk. This function joins lines without a trailing
newline. If a log line containing a benchmark milestone (e.g., `/🛠️\s*Compiling/`) is
split across two chunks, the last part of the line from the first chunk and the first
part from the next are concatenated. This breaks the pattern matching, leading to
incorrect metrics.
Did we get this right? 👍 / 👎 to inform future reviews.
22247c9 to
785bdd9
Compare
1b4cd5c to
5da2a0b
Compare
f5391c3 to
b6e35ad
Compare
651f77a to
18de083
Compare
b6e35ad to
0497670
Compare
18de083 to
8096037
Compare
0497670 to
dc62323
Compare
a3c5515 to
f79a1f8
Compare
dc62323 to
3cf09d1
Compare
f79a1f8 to
7ba6db8
Compare
1bc80ad to
8dfeb16
Compare
7ba6db8 to
34ec659
Compare
8dfeb16 to
d9a8caa
Compare
34ec659 to
b3c094d
Compare
| ); | ||
| MARKETING_VERSION = 1.0; | ||
| PRODUCT_BUNDLE_IDENTIFIER = io.sentry.MCPTest; | ||
| PRODUCT_BUNDLE_IDENTIFIER = io.sentry.calculatorapp; |
There was a problem hiding this comment.
Bug: The macOS MCPTest app's bundle identifier is identical to the iOS Calculator app's, which could cause collisions for tools targeting by bundle ID.
Severity: MEDIUM
Suggested Fix
Assign a unique bundle identifier to the macOS MCPTest application to differentiate it from the iOS Calculator app. For example, you could use a platform-specific suffix like io.sentry.calculatorapp.macOS.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: example_projects/macOS/MCPTest.xcodeproj/project.pbxproj#L341
Potential issue: The bundle identifier for the macOS `MCPTest` application has been set
to `io.sentry.calculatorapp`, which is identical to the one used by the iOS Calculator
application. This duplication creates a collision, causing ambiguity for tools that
target applications by their bundle ID, such as `launch_app_sim` or `stop_app_sim`.
These tools might inadvertently target the wrong application if both are present in the
same environment, for instance, on a simulator capable of running both iOS and macOS
apps.
d9a8caa to
6ea4df8
Compare
Internal research notes that shouldn't be committed to the repository.
13b58c1 to
b1364d7
Compare
6ea4df8 to
86b945d
Compare



Summary
This is PR 11 of 12 in a stacked PR series that decouples the rendering pipeline from MCP transport. Depends on PR 10 (boundary rewiring).
Updates all configuration files, YAML manifests, documentation, and example projects to reflect the rendering pipeline refactor. No behavioral code changes -- this is metadata, documentation, and project configuration.
Manifest YAML updates (28 files)
All tool manifests updated to reflect the simplified handler contract. Changes are consistent across all manifests:
New resource manifests
Added
manifests/resources/directory with resource manifest definitions that were previously inline.Configuration
package.json+package-lock.json: Dependency updates and script changesknip.json: Dead code analysis configuration for the new module structurevitest.config.ts: Minor updates for new test pathsvitest.flowdeck.config.ts+vitest.snapshot.config.ts: New vitest configs for flowdeck integration tests and snapshot tests respectivelyDocumentation
New developer documentation explaining the rendering pipeline architecture:
RENDERING_PIPELINE.md: Architecture overview for contributorsRENDERING_PIPELINE_REFACTOR.md: Migration guide and decision logQUERY_TOOL_FORMAT_SPEC.md: Specification for query tool output formattingFIXTURE_DESIGNS.md: Snapshot test fixture design documentationSTRUCTURED_XCODEBUILD_EVENTS_PLAN.md: Design document for the xcodebuild event modelARCHITECTURE.md,TESTING.md,MANIFEST_FORMAT.md,TOOL_DISCOVERY_LOGIC.mdExample projects
Minor updates to example projects to work with the updated tool interfaces. Updated test files and project configuration.
Other
AGENTS.md: Updated project rulestest-helpers.ts,vitest-executor-safety.setup.tscopy-build-assets.js(no longer needed), added benchmark and capture wrapper scriptsStack navigation
Test plan
npx vitest runpasses