\section{Literal contours and finite sets of states} \label{geo:section} This section constructs many families of cyclic bases that remain disjoint after certain local changes. The local changes will later prevent intersections between families built on different sets of control symbols. The construction keeps track of the actual order of the symbols. This is needed because the word assembly uses literal overlaps, not just cyclic equivalence classes. Fix an integer $r\geq 6$, and write $k=r-1$ and $d=r-3$. There are $M$ distinct \emph{background symbols}, in a fixed cyclic order, and $r$ distinct \emph{control symbols}. These two alphabets are disjoint. Number the background symbols by the elements of $\mathbb Z/M\mathbb Z$, in their cyclic order. A \emph{cut} is the position immediately before a background symbol; its coordinate is the number of that symbol. There are $k$ stationary positions for control symbols and one mobile position. The stationary positions have fixed identities $0,\ldots,k-1$. Their identities do not change when their cuts pass the distinguished background symbol. A \emph{literal base} is a list containing all $M+r$ symbols exactly once. Two bases have the same \emph{cyclic class} if one is a cyclic rotation of the other. We always write the mobile symbol last. After deleting it, the remaining list is a representative of the stationary cyclic order. Thus the stationary cuts and their resident control symbols, together with the gap occupied by the mobile symbol, determine the literal base uniquely. The gap is necessary: the stationary cuts and the assignment of control symbols alone do not determine a base during a sequence of full moves. Put $h=M+k$, so a base has length $h+1$. For a base $b=b_0\cdots b_h$, define two literal operations by \[ F(b)=b_1\cdots b_{h-1}b_0b_h, \qquad S(b)=b_hb_0\cdots b_{h-3}b_{h-1}b_{h-2}. \] A \emph{full row} consists of a base with visible length $h+1$, and a \emph{short row} consists of a base with visible length $h-1$. Their \emph{charges} are respectively $0$ and $2$. A fixed extra symbol, called the satellite, is outside the base alphabet and is attached to every row when the rows are used in the word construction. It does not change in this section. The head of a row is the first $h-1$ symbols of its base. Its tail is the first $h-1$ symbols after rotating the base left by one more than its visible length. Two consecutive rows are compatible when the first tail equals the second head. The displayed formulas show directly that the successor of a full row with base $b$ may have base $F(b)$, and the successor of a short row may have base $S(b)$. A \emph{closed contour} is a nonempty cyclic list of compatible rows. Its source classes are the cyclic classes of its bases, with one occurrence for each row. \subsection{Positive updates and local simplicity} Suppose a stationary position contains $A$, the background symbol at its cut is $x$, and the mobile symbol is $T$. Apply $F$ until the base ends in $A,x,T$, and then apply $S$. We call this a \emph{positive update} of that stationary position. The cyclic order changes locally from \[ \cdots A,x,T\cdots \quad\hbox{to}\quad \cdots x,A,T\cdots. \] Consequently the old mobile symbol $T$ becomes the stationary resident at the next background cut, and $A$ becomes mobile. The new mobile is immediately before the new resident. In terms of the assignment of control symbols to positions, the update exchanges the mobile position with the chosen stationary position. No other stationary cut changes. A \emph{batch} updates every stationary position once, in some prescribed order. If the initial cuts are $q_0,\ldots,q_{k-1}$, then during batch $t$ the current cuts are \begin{equation} q_i+t+\epsilon_i\pmod M, \qquad \epsilon_i\in\{0,1\}. \label{geo:cuts} \end{equation} Here $\epsilon_i$ is one exactly when position $i$ has already been updated in the current batch. After the last update, increase $t$ by one and reset all the $\epsilon_i$ to zero. The short row used for that last update still has the old value of $t$ and has phase zero at its last target. Only its successor uses the reset convention. Full moves change the mobile gap and leave the data in \eqref{geo:cuts} unchanged. The circular distance between two residues modulo $M$ is the smaller of the two distances between them around the $M$ cuts. Call the initial cuts \emph{robust} if the indexed family \[ 0,\qquad q_i-q_j\quad(0\leq i,j