Skip to main content

Module challenge_bundle

Module challenge_bundle 

Source
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 value can be safely joined under a bundle root.
read_challenge_bundle_spec
Read spec.json from 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.