coordinate-landinglisted
Install: claude install-skill a-novel-kit/stack
# The landing saga
A single feature often spans several repos — a `golib` change plus the two services that consume it.
Under the a-novel model those repos are **independently versioned and independently merged**, so
"land them together" is not free: it is a **saga**, a coordinated sequence with compensating actions
when a step fails. This skill maps that saga: what the pieces are called, the one invariant they all
serve, and the operator procedures that need a human.
The contributor-facing half — what a held or frozen Pull Request means to the person who opened it —
is published in
[`a-novel-kit/.github` › docs/board-lifecycle.md](https://github.com/a-novel-kit/.github/blob/master/docs/board-lifecycle.md).
This skill is the operator's view.
The saga is enforced by the `a-novel-kit/workflows` governance actions, driven by two triggers: the
per-PR / per-merge-group events, and a **reconcile sweep** that runs every ~15 minutes as a
level-triggered, self-healing floor. Nothing here is a bespoke distributed-transaction engine — it is
a small set of GitHub-native mechanisms (a required check, the merge queue, check-runs, a dispatch
action) composed to make a multi-repo landing behave like one.
---
## The Epic Atomicity Rule (INV-1)
> **All of an Epic's member PRs land together, or none of them do.**
An Epic is a planning issue; its member PRs each carry the `epic:<N>` label. INV-1 is the invariant
the whole saga exists to protect: a consumer must never merge while the depen