Skip to content

Preserve foreign output directories during failed preparation #499

Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Problem

After the reserved output directory is replaced, a failed copy triggers cleanup against the replacement path and deletes another writer's data.

Proposed direction

Repair the owning observation or output boundary, with a regression that fails on current main before changing the implementation. Preserve the existing conservative behavior and public interface.

Acceptance criteria

  • Never recursively delete a mutable output pathname during failure cleanup.
  • Preserve a replacement directory and its unrelated files while returning failure.
  • Retain partial owned output for explicit recovery and prove source state remains unchanged.

The conservative recovery rule avoids a second pathname race between an ownership check and deletion. Private staging is still cleaned; uncertain output is preserved.

Size: S/M. Part of #101.

Activity

  1. added theissue type on Oct 4, 2026
  2. self-assigned this
    on Oct 4, 2026
  3. moved this from 📥 Backlog to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Oct 4, 2026
  4. added a commit that references this issue on Oct 5, 2026
  5. devantler commented on Oct 5, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Delivered by merged PR #504 at commit 1c1b7a2. Merged-main bytes match the reviewed tree; full native CI, independent exact-head review and actual release/orchestrator evaluation are recorded on the PR. Failed preparation retains public output for inspection and preserves foreign files; the documented identity observations do not grant atomic reservation or concurrent-content serialization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

None yet

Effort

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions