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.
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_requiredis close, but it depends on the collection discovering items in that directory first. To use it againstongoing/README.md, I need to define a collection rooted atongoing/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:
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:
Or as a check on the storage instance:
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.