Expand description
The forge adapters: gh for GitHub, glab for GitLab (ADR 0029,
spec/forge.md).
A forge is a tool on the path. Each tool is logged in by its own login
flow, knows the remote’s host and project from the working directory, and
prints JSON for any endpoint — so this module holds no token, no hostname
and no HTTP client. It runs the tool through the same runner the model
backend uses, and maps the JSON it gets back onto engine::forge’s types.
Every mapping is a pure function of a serde_json::Value, tested against
recorded answers, so the shape of what a forge says is pinned here and a
change to it fails a test rather than a review.