← ClaudeAtlas

coordinate-landinglisted

Vocabulary, invariants, and operator runbook for the cross-repo **landing saga**: how a multi-repo Epic lands atomically, recovers from a partial landing, rolls back, and releases through the `a-novel-kit/workflows` actions (merge-gate, epic-freeze, epic-rollback, release-train, the AGENT_KILL_SWITCH halt). Load it when a change spans several repos under one Epic. It owns the saga vocabulary and the **Epic Atomicity Rule**, and defers version mechanics to `manage-versions`, per-repo release mechanics to `prepare-release`.
a-novel-kit/stack · ★ 1 · AI & Automation · score 67
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