Skip to content

Add a filesystem_file_required check (or equivalent) for literal-path existence #121

Description

@abegong

Use case

I want to enforce: "projects/ongoing/README.md exists" — full stop. Not "every directory containing items has an index file," just "this exact path must exist."

Current behavior

filesystem_index_file_required is close, but it depends on the collection discovering items in that directory first. To use it against ongoing/README.md, I need to define a collection rooted at ongoing/ with a pattern — and any pattern I pick (README.md, **/*.md, etc.) either drags the whole subtree into discovery (producing dozens of unmatched file errors for content katalyst shouldn't care about at this stage) or only fires conditionally on discovery succeeding.

Concretely, when I write:

ongoing-readme:
  path: ongoing
  pattern: "README.md"
  checks:
    - kind: filesystem_index_file_required
      name: README.md

every non-README file under ongoing/ is flagged as unmatched file (does not match pattern "README.md").

Suggested fix

A check (or a top-level config entry, since it's project-level not collection-level) like:

required_files:
  - projects/README.md
  - projects/ongoing/README.md
  - projects/episodic/README.md

Or as a check on the storage instance:

checks:
  - kind: filesystem_file_required
    path: ongoing/README.md

This composes cleanly with depth-bounded collections (#1 above) for hello-world structural enforcement without the user having to declare a collection for every required file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions