mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Preset (Tier-2) harnesses were docs-link only by construction: `preset_catalog_entry` hardcoded `can_auto_install: false`, and the installer resolved runtimes through the builtins-only `known_acp_runtime_exact`, so `amp` returned "unknown runtime". Install commands are now per-entry data on `PresetHarness`, with `can_auto_install` and `node_required` derived from them — adding a second preset later is one catalog line. `AcpInstallPlan` projects the four things the installer consumes from either tier behind one lookup, so neither static type grows the other's fields. Presets structurally carry no CLI install commands: their `underlying_cli` is a status probe, never an install target. Only Amp is populated (`npm install -g amp-acp`). Tier-3 custom harnesses resolve to no plan at all — their install hint is user-typed text, and a one-click button on it would be arbitrary code execution. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>