Expand description
Helpers for loading and validating filesystem challenge bundles.
Challenge bundles are the public contract between seeded/admin-authored challenges and the runner. Validation keeps contract names explicit and rejects unknown or stale fields before a bundle can be published.
Constants§
- MAX_
CHALLENGE_ RUNS_ PER_ EVALUATION - Hard maximum number of solution invocations in one evaluation.
Functions§
- challenge_
bundle_ tree_ sha256 - Return a deterministic SHA-256 digest of all files in a bundle tree.
- copy_
challenge_ bundle_ dir - Copy a challenge bundle directory while rejecting symlinks.
- copy_
challenge_ bundle_ dir_ excluding - Copy a challenge bundle directory while excluding one bundle-relative tree.
- is_
safe_ relative_ path - Return whether
valuecan be safely joined under a bundle root. - read_
challenge_ bundle_ spec - Read
spec.jsonfrom a bundle directory and validate its contract fields. - read_
challenge_ run_ manifest - Read and validate one challenge-owned run manifest from a bundle directory.
- read_
challenge_ run_ manifest_ file - Read and validate a challenge-owned run manifest from an already resolved path.
- read_
piped_ stdio_ session_ manifest - Read and validate one challenge-owned interactive session manifest.
- read_
piped_ stdio_ session_ manifest_ file - Read and validate a challenge-owned interactive session manifest from a resolved path.
- validate_
challenge_ bundle - Validate that a challenge bundle has the required files and declared data directories.
- validate_
challenge_ run_ manifest_ sources - Validate that source-backed run inputs exist under the bundle root.
- validate_
digest_ pinned_ images - Require immutable Docker image references for hosted or audited execution.
- validate_
piped_ stdio_ session_ manifest_ sources - Validate source-backed session inputs under one source root.