Skip to content

feat(pipeline): split PreFlight into granular setup steps (#302)#345

Open
ArthurCRodrigues wants to merge 4 commits into
mainfrom
feat/issue-302-split-pre-flight
Open

feat(pipeline): split PreFlight into granular setup steps (#302)#345
ArthurCRodrigues wants to merge 4 commits into
mainfrom
feat/issue-302-split-pre-flight

Conversation

@ArthurCRodrigues

Copy link
Copy Markdown
Member

Context

The current PreFlightStep was a "god step" that handled file checks, asset injection, and setup commands all at once. This made it difficult to track granular failures and introduced coupling between different setup phases.

Solution

  • Split PreFlightStep into three single-purpose steps: FileCheckStep, AssetInjectionStep, and SetupCommandsStep.
  • Updated Step abstract class to include a category property for better organization.
  • Updated Template abstract class to allow templates to contribute setup requirements (required files and setup commands).
  • Implemented merging logic in build_pipeline to combine assignment-level and template-level setup configurations.
  • Updated PipelineExecutionSerializer and feedback_generator to support the new granular steps and provide detailed success/failure reporting.
  • Updated StepRegistry to handle the new steps and their conditional inclusion logic.
  • Updated SandboxManager to handle Docker client initialization lazily, allowing the API to run in remote mode without requiring a local Docker socket.

Further clarifications

  • PreFlightStep class is still kept for compatibility but is no longer used in the default pipeline orchestration.
  • Pipeline execution summary now shows a more detailed breakdown of the setup phase.
  • API consumers should update their logic to handle the new step names if they were specifically looking for PreFlightStep.

Related issues

Closes #302

Checklist

  • I linked the related issue(s) and explained the motivation.
  • I kept this PR focused and scoped to a single concern.
  • I added or updated tests for changed behavior (or explained why not needed).
  • I ran the relevant tests locally.
  • I updated documentation when needed (README/docs/API examples).
  • This PR introduces API contract changes (request/response/endpoint/DTO).
  • If API changed, I documented compatibility or migration notes.
  • This PR includes breaking changes.

Copilot AI review requested due to automatic review settings May 27, 2026 14:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

…SetupCommands steps

Add the missing documentation files referenced in the pipeline README:
- 04-file-check.md: File validation step docs
- 04.1-asset-injection.md: Asset injection step docs
- 04.2-setup-commands.md: Setup commands step docs

These files resolve the broken links flagged by the Validate Documentation CI check.
@ArthurCRodrigues ArthurCRodrigues force-pushed the feat/issue-302-split-pre-flight branch from ac9c576 to ca70b49 Compare June 5, 2026 01:32
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.

Decouple SetupStep into Specific Steps

2 participants