Expand description
Macro packs: the YAML binding skeleton with embedded raw payload blocks (ADR-0004, TECH-SPEC §6).
Packs are parsed with serde_norway (deny_unknown_fields on the fixed
schema; the payload key of a step — hurl:, or a future engine’s kind — is
dynamic and checked against the registered engines’ StepKindSpecs in
validation pass 8). Loading is pure: the CLI discovers files and hands
PackSources in; built-in packs are embedded at build time.
Structs§
- Expect
Item - One assert-only item: a
status:shorthand and/or raw hurl assert lines (both may contain${…}). - Fragment
- One named entry of a fragment file (ADR-0018).
- Fragment
Corpus - Every fragment file’s text, scanned at most once however many times the packs around it are loaded (ADR-0018).
- Macro
- One loaded macro.
- Macro
Step - One step of a request macro.
- PackSet
- A validated set of packs: every macro, indexed by (globally unique) name, plus the fragments packs may reference and the pack-scope bindings.
- Pack
Source - One pack input: a name (path as authored, or
builtin:…) plus its text.
Enums§
- Macro
Body - A macro is either a sequence of request steps or an assert-only
expect:(merged into the previous request entry — the Then-step rule, ADR-0004). - Macro
Step Kind - Payload or composition of a
MacroStep. - Payload
Form - The two payload shapes (ADR-0004: raw text is primary; structured is reserved for future non-hurl engines).
Functions§
- builtin_
sources - The built-in packs embedded into every proef binary.
- json_
schema - The pack JSON Schema with engine payload fragments merged into the step object’s properties. Falls back to the plain derived schema when the generated shape does not match expectations (never fails).
- load
- Parse and validate
sources, failing on the first error-severity diagnostic (the fail-fast contract a realproefrun depends on). All diagnostics are still collected — one bad pack does not hide problems in another.