Expand description
Classify a target repository before anything lands.
The assessment is read-only evidence plus one classification computed
from it by an explicit rule: greenfield when the target carries no
release mechanism and no release history, brownfield when a release
mechanism is already in place — a tool’s configuration, a payload
destination, a landed block — and needs-decision when the target
shows release activity that no recognized mechanism explains: tags
with no tool behind them, or a second long-lived branch. The rule
lives here so a routing skill reads a verdict it can cite instead of
judging “some release setup” by feel. The gathering spawns git and
reads the disk; the rule itself is pure and unit-tested.
Structs§
- Evidence
- The evidence the classification is computed from.
- Landing
- The landing record’s presence, the one fact
rk statusowns that the routing needs before it reads the full report.
Enums§
- Classification
- What the target is, for routing.
Constants§
- LONG_
LIVED_ BRANCHES - Branch names that conventionally outlive a topic.
- RELEASE_
MARKERS - Files that mark a release mechanism, whichever tool owns it.
Functions§
- classify
- Compute the verdict from the evidence. Pure, so the rule is testable without a repository.
- gather
- Gather the evidence at
target, reading and never writing. - long_
lived_ among - The long-lived branch names among
refs, given as full ref names.