Skip to content

Split RepoPrompt into thin executable and app target#437

Merged
provencher merged 3 commits into
mainfrom
feature/thin-repoprompt-target-split
Jul 9, 2026
Merged

Split RepoPrompt into thin executable and app target#437
provencher merged 3 commits into
mainfrom
feature/thin-repoprompt-target-split

Conversation

@provencher

Copy link
Copy Markdown
Collaborator

Summary

  • keep the shipped RepoPrompt product, executable target, emitted binary, bundle, packaging paths, and native product scheme identities unchanged
  • make Sources/RepoPromptExecutable a one-file @main shell that delegates to a new internal RepoPromptApp library target owning the existing app implementation
  • move root app tests and Objective-C bridging-header ownership to RepoPromptApp while leaving the separate RepoPromptMCP executable dependency intact
  • update source-layout guardrails, generated-Xcode manifest contracts, style inputs, and architecture documentation for the split

RepoPromptApp remains an internal SwiftPM target; it is not exposed as a new library product or convenience scheme.

Validation

Passing validation completed for this implementation:

  • make dev-lint
  • make guardrails
  • make dev-swift-build PRODUCT=RepoPrompt
  • make dev-swift-build PRODUCT=repoprompt-mcp
  • coordinated debug packaging/build
  • make xcode-generator-test
  • make xcode-validate
  • focused regression checks and repeated focused reruns for the affected Agent, Codemap, and DurableArtifact suites
  • commit preflight: whitespace, staged-index secret scan, and guardrails passed
  • push preflight: clean tree, outgoing-range review, outgoing-range secret scan, and guardrails passed

The required post-commit pr-ready invocation passed its safety phase and coordinated Swift lint. Its full-root lane completed with the order-sensitive failures described below, so the script stopped before repeating the already-passing product-build and generated-Xcode lanes.

Full-root test disclosure

Two earlier full-root runs completed but hit unrelated order-sensitive failures in untouched suites. Prompt failures reproduced on clean main; Agent, Codemap, and DurableArtifact failures passed repeated focused reruns in the implementation checkout.

The post-commit pr-ready run added a third full-root attempt and likewise completed with Prompt preassembly timeouts plus a Codemap/MCP code-structure assertion. This target split changes test imports/module ownership but does not modify those behaviors.

@baron baron left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved from my review.

I checked the target split from RepoPrompt into a thin executable target plus the internal RepoPromptApp implementation target, including the related Package.swift changes, app entry-point seam, Xcode workspace generator updates, source-layout guardrails, style/lint coverage, docs, and the broad test import retargeting.

This looks mechanically complete and well-guarded:

  • the RepoPrompt product/binary identity remains intact;
  • the implementation target keeps the existing app dependencies/settings/bridging-header ownership;
  • tests now target RepoPromptApp instead of the executable wrapper;
  • generator and layout guardrails were updated to prevent regression.

I also updated the branch against latest main and fixed the release tooling assertions that still referenced the old Package.swift variable names. A second-opinion review with Claude Fable 5 High found no blocking issues.

Validation now looks good on the updated head: local commit/push preflights passed, make xcode-generator-test passed, make release-selftest passed after the test fix, and hosted CI/Xcode workspace validation are green for the current head.

No blocking findings from me.

@provencher provencher merged commit 5c1504f into main Jul 9, 2026
9 checks passed
@provencher provencher deleted the feature/thin-repoprompt-target-split branch July 9, 2026 11:37
@baron baron mentioned this pull request Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants