Skip to content

design: multi-file apply semantics (partial success vs fail-fast) #178

@omsherikar

Description

@omsherikar

Summary

RefactronPipeline.apply processes each file independently: some files may apply fixes while others are blocked. Backup session is created once, but there is no single orchestration policy (transactional batch vs best-effort) documented for users or for rollback UX.

Suggested direction

  • Define supported behavior: e.g. best-effort (current) vs --fail-fast stop on first blocked file.
  • Ensure backup_session_id and rollback story matches partial applies (document which files are included in backup).
  • Optionally add session summary: files_attempted, files_succeeded, files_failed.

Acceptance

  • README or docstring for pipeline behavior; tests for fail-fast if implemented.
  • No silent data loss: blocked files always recorded in blocked_fixes.

Code

  • refactron/core/pipeline.pyapply
  • refactron/cli/run.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions