Files
zooqueen a10bf7bbc6 papers: reconcile Corona to Module-LWE (Ringtail-derived, rank-7), not Ring-LWE rank-1
- canonical lux-corona-pq paper: rank-7 Module-LWE (A in R_q^{8x7}, q=48-bit), Module-SIS
- scrub residual Corona Ring-LWE/R-LWE labels across ethos-of-lux, pqsafe-il5,
  lux-whitepaper, lux-quasar-composition, lp-020; Corona<->Pulsar = parameter regime,
  both Module-LWE (not rank-1-vs-rank-k)
- LLM.md: drop stale 'Corona as rank-1' wobble note; align to code/Ringtail params
- rebuild affected PDFs
2026-06-20 01:59:25 -07:00

121 lines
5.6 KiB
TeX

\section{Conflicts resolved by LP-300}
\label{sec:conflicts}
LP-300 records -- and pins the resolution for -- four pre-existing
allocation conflicts discovered during the corpus audit. Each row
below is a closed conflict; the consuming LPs have been amended (or
must be amended) to point at their post-resolution slots. The
canonical handoff lives in LP-214 \S``Schema ID Allocation'' (Option B
map); LP-300 reproduces it here as the normative arbiter.
\subsection{Conflict 1 -- \texttt{0xE0..0xEF} triple-claim}
The single most consequential conflict in the corpus. Three LPs
simultaneously claimed bytes inside the same 16-byte block:
\begin{itemize}[leftmargin=2em,nosep]
\item LP-208 originally allocated \texttt{0xF0..0xFF} for DAG mempool,
then reclaimed the prefix to \texttt{0xE0..0xE1} after the LP-214
light client claim surfaced.
\item LP-211 allocated \texttt{0xE2..0xE7} for cross-shard 2PC (six
messages).
\item LP-218 Draft initially allocated \texttt{0xE0..0xEF} for
rollup envelopes -- overlapping LP-208 \emph{and} LP-211.
\item LP-214 separately claimed \texttt{0xF0..0xF2} for light-client
envelopes, colliding with the original LP-208 claim.
\end{itemize}
\paragraph{Resolution.} Per the LP-214 canonical handoff:
\begin{table}[h]
\centering
\small
\begin{tabular}{@{}p{1.4cm}p{2.4cm}p{8.4cm}@{}}
\toprule
\textbf{LP} & \textbf{Final range} & \textbf{Rationale} \\
\midrule
LP-208 & \texttt{0xE0..0xE1} & Earliest concrete Draft with measurable wire impact; takes the low edge of the block. \\
LP-211 & \texttt{0xE2..0xE7} & Six-message contiguous block; sat unconflicted at original allocation. \\
LP-218 & \texttt{0xE8..0xEF} & Shifted from prior \texttt{0xE0..0xE3} claim; gets the contiguous 8-byte tail of the block. \\
LP-214 & \texttt{0xF0..0xF2} & Sits in the framing future range; LP-208 vacated \texttt{0xF0..0xF1} when it moved to \texttt{0xE0..0xE1}. \\
\bottomrule
\end{tabular}
\caption{Final \texttt{0xE0..0xFF} layout. Every consuming LP must
amend its ``Wire schemas'' section to cite the post-resolution range
and reference LP-300 \S\ref{sec:typekind} as the binding map.}
\label{tab:conflict1}
\end{table}
LP-219 reuses LP-211's \texttt{0xE2..0xE7} at the rollup tier; this
is treated as a ShapeKind-level extension (TxKind \texttt{0x44}
inside the LP-218 \texttt{0xEC} envelope) rather than a TypeKind-level
reclamation, so it does not contend for the slot at namespace 1.
\subsection{Conflict 2 -- LP-218 P3Q slot vs displaced Plonky3 STARK}
LP-218 attaches a P3Q wrapper at PQ precompile slot \texttt{0x012205}.
The original LP-218 Draft cited a Plonky3-fork STARK as the
underlying primitive at the same slot. LP-0120's PQ precompile
registry instead pins \texttt{0x012205} to the P3Q rollup-batch
verifier wrapper, with the raw STARK primitive displaced.
\paragraph{Resolution.} \texttt{0x012205} is owned by LP-0120 with
the LP-218 wrapper. The displaced Plonky3-fork STARK is held at the
placeholder slot \texttt{0x012220} pending a dedicated LP allocation.
LP-300 records both states: \texttt{0x012205} is live for the wrapper;
\texttt{0x012220} is Reserved for the displaced primitive. The
wrapper's verifier dispatches the underlying primitive by kind byte
at the body level, so a future move of the raw primitive to a
different slot does not break LP-218.
\subsection{Conflict 3 -- LP-220 sibling-slots vs LP-218 kind-dispatch}
LP-220 proposed allocating sibling slots \texttt{0x012206} (Corona)
and \texttt{0x012207} (Magnetar) as wrapper-only entries, distinct
from LP-218's slot reuse at \texttt{0x012205}. The conflict surfaced
when LP-0120's PQ registry assigned the same two slots to the raw
primitives -- Corona at \texttt{0x012206} (Module-LWE threshold) and
Magnetar at \texttt{0x012207} (SLH-DSA threshold).
\paragraph{Resolution.} LP-220 wrappers share their slot with the
raw primitives, dispatched by kind byte at the body level -- the
same pattern LP-218 uses at \texttt{0x012205}. LP-0120 keeps
\texttt{0x012206} and \texttt{0x012207} as the raw-primitive
allocation; LP-220 attaches the P3Q-Corona and P3Q-Magnetar wrappers
on the same slots. LP-0120's raw Groth16 verifier at \texttt{0x0901}
remains separate. The wrapper-vs-primitive ambiguity is resolved
purely at the body kind byte, never at the slot.
\subsection{Conflict 4 -- Deprecated allocations entering cooldown}
Six allocations entered Deprecated state during the 2026-05-18
precompile sweep (AUDIT-2026-05-18). A Deprecated slot is NOT
immediately re-allocatable: the slot remains nominally owned by its
deprecating LP for the cooldown window, during which it MUST NOT
be reused by a different LP.
\paragraph{Resolution.} \S\ref{sec:cooldown} pins the cooldown
policy. The six rows become re-allocatable on 2027-05-18:
\texttt{0x9201}, \texttt{0x9210}, \texttt{0x9211},
\texttt{0x0200..0006}, \texttt{0x0200..0007}, and \texttt{0x0200..000B}.
The deprecation entries persist in LP-300 across the cooldown to
prevent accidental re-use.
\subsection{Resolution authority and amendment chain}
For each closed conflict the consuming LPs MUST amend their relevant
``Wire schemas'' / ``Precompile slot'' / ``Schema-ID allocation map''
section to:
\begin{enumerate}[leftmargin=2em,nosep]
\item State the final post-resolution slot or range.
\item Reference LP-300 \S\ref{sec:typekind} (TypeKind) or
\S\ref{sec:precompile} (precompile) as the binding map.
\item Drop any duplicated allocation tables; the consuming LP becomes
informative-only on the allocation question.
\end{enumerate}
A consuming LP at status Final without a matching LP-300 row, or with
a row that disagrees with LP-300, is itself in violation and must be
amended in the same PR cycle.