Skip to content

Remove the speculative FileSystemSource - #51

Merged
d-chambers merged 1 commit into
mainfrom
cleanup/remove-filesystemsource
Aug 13, 2026
Merged

Remove the speculative FileSystemSource#51
d-chambers merged 1 commit into
mainfrom
cleanup/remove-filesystemsource

Conversation

@d-chambers

Copy link
Copy Markdown
Contributor

Description

Removes the speculative FileSystemSource from workflow/source.py, per maintainer decision (flagged in the 2026-08-04 architecture review as an API call to make).

It sketched a provenance-sidecar loading convention — data files stored next to fingerprint-keyed YAML provenance records — but was never finished: no concrete subclass exists anywhere (nothing implements deserialize_data, so it was never instantiable), and from_path, storage_type, get_content_df, and the module-level sidecar scanner have zero callers in src, tests, or docs. The practical "load data from disk into a workflow" path is the Spool node.

Kept: the small Source ABC the engine actually consumes (isinstance checks in pipe.py / executor.py), minus its dead optional from_path hook. The FileSystemSource re-exports are dropped from derzug and derzug.workflow (−~155 lines). CHANGELOG notes the public-name removal under Changed (breaking); it remains recoverable from git history if a Sink/Source provenance workflow ever lands on the roadmap.

Counterpart review: Codex CLI still rate-limited (resets Aug 8). Given the scope — a pure deletion of never-instantiable code, verified by repo-wide grep for every removed public name — no separate self-review file this time; the verification is in this description.

Checklist

I have (if applicable):

  • referenced the GitHub issue this PR closes.
  • documented new behavior with a CHANGELOG entry.
  • included tests. (n/a — deletion of untested, never-instantiated code; existing suite covers the surviving Source paths)
  • run prek run --all-files and pytest tests (2114 passed, 44 skipped; all 10 hooks pass).
  • for hot-path changes, run python scripts/bench_compare.py --baseline main. (n/a — dead code only)

FileSystemSource sketched a provenance-sidecar loading convention (data
files next to fingerprint-keyed YAML provenance) but never gained a
concrete subclass: nothing implements deserialize_data, and from_path,
storage_type, get_content_df, and the module-level sidecar scanner have
zero callers in src, tests, or docs. The practical load-data-from-disk
path is the Spool node.

Keep the small Source ABC the engine consumes (isinstance checks in
pipe.py and executor.py) minus its dead optional from_path hook; drop
the FileSystemSource re-exports from derzug and derzug.workflow.
@d-chambers
d-chambers merged commit 1fc0152 into main Aug 13, 2026
10 of 16 checks passed
@d-chambers
d-chambers deleted the cleanup/remove-filesystemsource branch August 13, 2026 15:10
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