Skip to content

file.move unifies: any kind, no policy, move_directory retires #620

Closed

Description

@David-Noble-at-work

Feature: #616 · Phase 4 of any-entry-claims.md.

  1. file.move(source Entry, destination_path) — moveEntry's shared core is already kind-agnostic, so the two typed fronts collapse onto it. Moving a symbolic link works again (the regression from file.discover and file.resolve; kind-honest activation #611).
  2. on_missing is removed from move. Moving something that is gone accomplishes nothing, so a missing source fails — under Stop-by-default that is a pre-flight verdict at the starting line rather than a dispatch error. The tolerance was also unsound on a producer: the ignore path returned a nil product, handing downstream consumers a nil promise — the pathology that had Skip dropped from MissingResourcePolicy (feat(op): the consumed-Gone guard with the narrated verdict; Skip is dropped — phase 3's docket completes #605).
  3. file.move_directory retires (removed, not deprecated); writ migrate's layer registration reverts to file.move.

Acceptance: moving a symbolic link (the link moves, its target is untouched), moving a directory through the unified move, and the missing-source verdict landing at pre-flight rather than dispatch.

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

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions