ArchitectureBlockedException
Thrown by {@see \Milpa\Runtime\Kernel::boot()} when the architecture graph resolves to `blocked`: the typed pre-boot failure that carries the resolver's WHOLE {@see ResolutionReport} — every learnable error, conflict, miss and the partial `loadOrder` — not just the one-line message. Narrowing BC: it extends {@see PluginDependencyException} (the exception type the retired `CapabilityGraphChecker` threw and runtime 0.3 kept), so every existing `catch (PluginDependencyException)` — and every `catch (\RuntimeException)` above it — keeps working, while a 0.4-aware caller catches this type and reads `->report` directly instead of parsing the message.
ArchitectureBlockedException::__construct()
public function __construct(Milpa\Resolver\Report\ResolutionReport $report, string $message):Builds the typed pre-boot failure: the blocked report rides on the exception verbatim.
Parameters
| Name | Type | Description |
|---|---|---|
| $report | ResolutionReport | The full blocked report the architecture gate produced. |
| $message | string | The learnable one-line diagnosis — the report's own `firstLearnableLine()`, or the kernel's fallback when the report carries no errors. |