# The node stack - 2026-09-09 [Proved] The corner stack of the odd parity carpet is the Farey field, odd-restricted: with the edge set of a layer the cell sides separating ink from paper and the corner set the vertices of inked cells, layer `n`'s edges are the interior grid lines restricted to the odd rows and columns and its corners the full interior vertex grid, so the corner stack lights exactly the pairs `(a/b, c/d)` with `b` and `d` odd and `lcm(b,d) <= N`, at brightness the number of odd multiples of `lcm(b,d)` up to `N`, and the edge stack is the line stack in one coordinate times the 1D parity stack in the other; at `N = 15` literal stacking gives 536 lit points against 536 predicted, none missed and none invented, and 2352 segment tests with no breach. Witness: lab/py/node-stack `parity_corner_predicted`, `parity_segment_check`. - 2026-09-09 [Proved] The base-3 carpet's edge stack is a denominator-restricted Farey family: a period boundary `k/n` is never an edge line, every other residue mod `3^level` is (`J_1 = {1, 2}`, `J_2 = {1, ..., 8}`), so the lit lines are the reduced `a/b` with `3 | b` and `b/3^min(v_3(b), level) <= N`, at brightness `floor(N/(b/3^min(v_3(b), level))) - floor(N/b)`; at `level = 1` the lit set is exactly the multiples of 3 in `F_3N`, 106 lines at `N = 12` and 100 at `N = 6, level = 2`, with no breach on 14628 and 10800 segment midpoints; the level-1 corner stack at `N = 12` lights 5029 corners at brightness `floor(N/(m/gcd(m, 3)))` against the plain Farey pair bound 157609. Witness: lab/py/node-stack `carpet_lines_reach`, `check_line_brightness_carpet`, `carpet_corner_stack`. - 2026-09-09 [Refuted] The Sierpinski carpet's edge family is a numerator-restricted Farey sequence: the edge condition `a (3^level n/b) mod 3^level in J_level` is vacuous on the numerator because `J_level` is every nonzero residue, so the family is restricted by a divisibility of the denominator and must not be conflated with the cutoff-restricted Farey sequence of the Farey page; sibling designs removing another digit vector have proper residue sets and are the open door. Witness: lab/py/node-stack `edge_residues`.