Skip to content

Extract process support into a focused SwiftPM module and test target#522

Open
morluto wants to merge 6 commits into
repoprompt:mainfrom
morluto:agent/416-process-canary
Open

Extract process support into a focused SwiftPM module and test target#522
morluto wants to merge 6 commits into
repoprompt:mainfrom
morluto:agent/416-process-canary

Conversation

@morluto

@morluto morluto commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Why

swift test --filter narrows execution, not target compilation. Small process-lifecycle tests still compile the broad RepoPromptApp and root test modules.

This PR tests the architectural remedy on one bounded area. It extracts process execution and lifecycle support without attempting a repository-wide target rewrite.

Advances #416.

What changes

  • Adds the internal RepoPromptProcessSupport SwiftPM target.
  • Moves the process runner, launcher, termination, environment, framing, and required concurrency primitives into it.
  • Makes RepoPromptApp depend on the lower-level module.
  • Adds RepoPromptProcessTests and moves the lifecycle canary out of the root test target.
  • Uses package access instead of widening the module to public API.
  • Updates imports, the curated test ledger, formatting paths, source-layout guardrails, Sentry in-app classification, and Xcode workspace generation.

Boundary

RepoPromptApp
    ↓
RepoPromptProcessSupport
    ↓
RepoPromptShared

Existing features remain consumers. No compatibility wrapper or duplicate implementation is introduced.

Deliberate scope

This extracts one coherent canary only. It does not split every infrastructure area, redesign process APIs, or change conductor/cache behavior.

Review order

  1. Package.swift
  2. Sources/RepoPromptProcessSupport
  3. Tests/RepoPromptProcessTests
  4. access/import changes
  5. ledger and guardrails
  6. Xcode generator contract

Most changed lines are file movement. Review the target graph and module boundary first.

Verification

  • source-layout guardrails
  • test-suite optimizer contract tests
  • Xcode generator topology test
  • SwiftFormat checks
  • package manifest resolution
  • contribution commit/push preflights

morluto added 3 commits July 12, 2026 02:47
…rt canary target

This is the first canary step to separate subprocess-lifecycle and task-coordination
substrate from the RepoPrompt app target. The move makes the dependency boundary
explicit: RepoPromptProcessSupport depends only on RepoPromptShared, and RepoPromptApp
depends on it.

- Move Infrastructure/Process and Infrastructure/Concurrency into
  Sources/RepoPromptProcessSupport/ and update Package.swift target wiring.
- Move CLIProcessRunnerLifecycleTests to Tests/RepoPromptProcessTests.
- Update test-suite-contract-ledger and source-layout documentation.
- Add RepoPromptProcessSupport to Sentry inAppInclude.
- Remove unused Darwin import from CursorIntegrationConfiguration.
- Add a narrow source-layout guardrail for RepoPromptProcessSupport.
- Run SwiftFormat on affected files.

macOS validation (build/test/run) is intentionally retained as a gap because this
environment cannot run Swift builds requiring the Apple SDK.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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.

1 participant