creatures/CR_0147_reticulated_python.md
CANON SUBORDINATION — this document is PROPOSAL-TIER: it serves canon and never outranks it.
The canon: the CVD · the T1 foundation docs · the T0 registries (registries/) · the spine
(docs/spine/CH_*.md) · the region pages (_source/02_Tier_2_Region_Pages/). Authority order:docs/DOC_MAP.md§ 0.
Canon served (scanned from this document's own citations — widen it by hand where it is thin):
T0_Creature_Roster·docs/spine/CH_05.md·_source/02_Tier_2_Region_Pages/angkor_khmer.md
READ THAT CANON FIRST — open it and derive from it before you build anything from this document.
If this document disagrees with canon, CANON WINS and this document is the defect — fix the
document, never the canon. Nothing here is applied until it is ratified into canon.
STATUS: PROPOSAL-TIER design sheet, written to docs/proposals/bestiary/BESTIARY_ELEVATION_DOCTRINE.md
and critic-gated against its ten refusal tests. It cites canon rows and writes none.
with the root-split enclosure at bayon_taprohm as ambient range
[build/3d/schema/anatomy_reference/LIMBLESS.json; ANATOMY_REFERENCE.md], which names this row as
an exemplar alongside CR_0002
combat-facing FALSE on the ruled demand table (DEMAND_RULED_IN via RULING_7 DANGEROUS-is-IN and
RULING_8 APEX-is-IN)
T0_Creature_Roster @ CR_0147, CR_0002 · build/3d/schema/anatomy_reference/LIMBLESS.json serpentine · docs/spine/CH_05.md L12, L43, L81, L330 ·
angkor_khmer.md § 3 L184-191, § 5 L378-381, § 1 L139-143 ·
CREATURE_DEMAND_RULED_STATE_L11.json CH_05 · DIRECTOR_RULING_L11.json RULING_7, RULING_8 ·
docs/proposals/bestiary/sheets/CR_0002_naga_tana_water_aspect.md
TWO ROWS, ONE BINOMIAL, AND THE DISTINCTION IS THE DESIGN. CR_0002 is the Flores guardian —
mythologically-stylized when roused, holding a ngoeng-de-tana contract, appeased and never slain — and
it has its own landed sheet and its own boss encounters at BE_0002_S1 and BE_0003_S1. THIS row is the
Khmer wild population and the roster says so in its own words: a distinct angkor_khmer cohort, cf
CR_0002 Flores, the great constrictor of the flood-forest, folk-linked to the naga water-serpent
tradition — the naga itself revered and LEFT; this is the ambient reptile
[T0_Creature_Roster @ CR_0147 :: notes, cultural_significance]. Row is the unit. A lane that reads
the binomial rather than the id will build the wrong animal, and this sheet exists partly to stop it.
DERIVED FROM THE ANATOMY REFERENCE TABLE, NOT DECLARED INLINE. The per-archetype table is on disk and
this row is one of its named exemplars, so the doctrine § 2.1 inline-licence no longer applies here:
the block below is re-derived from build/3d/schema/anatomy_reference/LIMBLESS.json sub-plan
serpentine. Where the bucket is silent, the line is labelled INLINE_DECLARED. AN EARLIER DRAFT OF
THIS SHEET UNDERSTATED THE PER-JOINT PLAY AS "a few degrees" — copied forward from the CR_0002 sheet
— and the bucket's measured figures replace it below, along with the regional-limit note and the
named locomotion modes that draft omitted.
choice: it is set by how far a real vertebral joint can bend.
folded into a disc a little under two metres across, which is how it is met and how it is first read
chain; ROM caps of 25 degrees lateral, 20 dorsoventral and 10 axial per joint; and the centreline
rule — the chain must span at least half the body's horizontal axis, because a chain spanning 16
per cent of it is a rod driven through a coil rather than a centreline. The bucket records the
measured failure it was written from: the pre-fix CR_0002 rig spanned 24.3 cm on an axis the body
spanned 147.9 cm, and shipped with 11 segments where the derivation floor is 22.
caudals, one rib pair per precloacal vertebra and all of them free with no sternum, zero limbs, and
vestigial pelvic spurs flanking the vent that are VISIBLE — a python model that omits them is
missing a real feature.
carries an independently mobile QUADRATE and paired mandibles joined at the front by an ELASTIC
LIGAMENT rather than a bony symphysis, which is what lets the jaw open around large prey and is
four extra bones a swallow animation cannot fake.
joint, dorsoventral -20 to +20, axial rotation -10 to +10 [GASC1974, MOON1999, HOFFSTETTER1969].
THE ASYMMETRY IS THE WHOLE SHAPE OF SNAKE MOTION: the zygosphene-zygantrum is a wedge-in-socket
that PERMITS lateral flexion and BLOCKS axial rotation, so the body flows sideways freely, resists
twisting, and cannot corkscrew. THE LATERAL LIMITS ARE REGIONAL, not uniform — highest at mid-body
and lower in the neck and near the vent — which is why a uniform per-joint cap posed along the
whole chain reads wrong at both ends. Quadrate-mandibular gape 0 to 130 degrees with a quadrate
swing of 0 to 60, and the mandibles also SEPARATE at the front, which is a translation and not an
angle.
this animal: LATERAL UNDULATION, a travelling wave passed head to tail against surface
irregularities, the default; RECTILINEAR, no lateral wave at all, the ventral scales walked forward
in patches by the costocutaneous muscles — a big python stalking uses THIS; and CONCERTINA,
anchor-and-extend with alternating static and moving regions, which is the mode this animal's
arboreal flood half runs on a bough. Sidewinding belongs to desert taxa and is not this row's.
Wave parameters: 2 to 12 degrees amplitude per joint, wavelength 0.4 to 1.0 body lengths, frequency
0.2 to 2.0 Hz [JAYNE1986, GRAY1946]. Constriction is 1 to 3 loops applied and then TIGHTENED in
pulses timed to the prey's exhalation — the coil is not a static clamp [BOBACK2015].
read. The bucket's bind-pose rule binds the mesh lane directly — a coiled model must be rigged
along its own centreline through the coil so that uncoiling is a pose the solver can REACH.
line lying along a bough with two loops hanging free below it
and the row's own phrasing separates the two things carefully: folk-linked to the naga water-serpent
tradition, the naga itself revered and LEFT, this is the ambient reptile.
creative and dynastic pole — the seven-headed balustrade causeway, the water-lord and rainbow-bridge
of the threshold between the secular and the sacred, and the Kaundinya-Soma founding legend
[angkor_khmer.md:378-381; CH_05.md:43]. It is examined and deliberately NOT villainized
[CH_05.md:330], and the roused balustrade in this chapter is a ward-OBJECT, never the deity
[angkor_khmer.md:186-191].
clearly that a player who met the naga tana at Ch 3 cannot mistake it for a guardian. The lesson
taught is that guardianship in this world is a CONTRACT and not a species. Blurring the two would
quietly convert a revered living-tradition being into a snake to be fought, which is the exact
outcome the chapter's care framing forbids.
source_ref cites angkor_khmer § 3, whose fauna text names the flood-forest, the fishery and the crocodile but no python. The cohort-wide dangle flagged on CR_0140's notes
covers this row; the staging here grounds on the roster row and on the flood-forest and flow-
reversal the region page does author [angkor_khmer.md:139-141, L155-157].
register: REAL_FAUNA (TRUE_TO_LIFE) — doctrine § 3D, ratified 2026-08-12, and this row is one of the
six instances it was ratified from.
WHY ELEVATION IS REFUSED, IN ONE LINE: the row's folklore columns are empty and its own
cultural_significance cell rules it "the ambient reptile" with the naga revered and LEFT, so an
elevated python here would take the register the chapter's care architecture reserves for the naga.
THE LEGIBILITY CONTRACT, which is half of how the replica test discharges in this register. This
row's confusable neighbour is not another animal in the chapter — it is ANOTHER ROW OF ITS OWN
BINOMIAL three chapters back, and the contract is stated against it: CR_0002 is met as a raised
forebody at eye height, mineral-crusted, mythologically-stylized when roused; this row is met as a
horizontal line on a bough or a disc in leaf litter, uncrusted, and it never rises to meet anyone. A
player who reads guardian here has been failed by the plates, and that is the acceptance test in § 6.
The chapter's water reads sit beside it and do not collide: this animal is a forest read, not a
surface read, and it takes no entry in the CR_0133 / CR_0146 / CR_0148 three-read water system.
THE STATE LADDER, which is the other half: the two-band ventral wear from a body that lives in two
mediums a year, the seasonal shed retention that clears in flood and rings the eye caps and vent in
drawdown, and the healed constriction loop whose half-row scale-register step is permanent. A
photograph of a species-typical Malayopython reticulatus — and a captive one especially — carries
none of it.
ONE-LINE SILHOUETTE READ: a six-metre snake lying along a flood-forest bough as a segment of branch
with the wrong diameter, its skin throwing oil-slick colour where the light crosses it.
ELEVATION BUDGET: ONE PRIMARY AND ONE SUPPORTING AXIS, A5 AND A10, DECLARED AND DELIBERATELY NARROW.
CR_0002's sheet spends A8 material substitution on a roused guardian; this row spends NONE of it. No
mineral crust, no ossification, no raised forebody meeting a supplicant at eye height, nothing
mythologically-stylized. THE UN-ELEVATED-TWIN PATTERN IS THE LANE'S, NOT THE DOCTRINE'S: it was
established on CR_0005 as the un-elevated twin of CR_0001, this row is its second instance against
CR_0002, and it has since been merged into the § 3D REAL_FAUNA ratification of 2026-08-12, which is
now its home. The sheet names the lesson it teaches rather than leaving the contrast to chance.
PRIMARY — A5 AGE AND STATE, and the state is a CALENDAR. MECHANISM: the Tonle Sap reverses once a
year [angkor_khmer.md:139-141], so this animal lives half its life in trees and half on the ground,
and its body carries both halves at once.
belly midline from rectilinear creep over drawdown mud and root, and a pair of narrow polished
wear-lines along the lateral scute edges from the grip that holds it on bark in flood. Two wear
patterns on one belly is a body that lives in two mediums, and no photograph of a captive animal
has both.
clears in flood. The animal's season is legible on its head.
scale rows step out of register by half a row at that band — a permanent alignment error that reads
as a seam and identifies the individual from any angle.
SUPPORTING — A10 NEGATIVE SPACE, which is the honest read of the real animal. The reticulation is
genuine disruptive camouflage, and in flood-forest dapple it does not decorate the snake, it DELETES
its edge. What the player sees is an absence: a bough whose line is interrupted, a segment of the
wrong diameter, a shadow under a branch with no branch above it. The animal is found by noticing the
break, not by noticing the snake — which is the cheapest, most light-free and most frightening
elevation available for an ambush predator, and it costs the art budget nothing.
EMISSION: none, and this row is where the light law is easiest to get wrong. The species' skin is
strongly iridescent in life, and iridescence is STRUCTURAL COLOUR — an optical effect of layered
scale microstructure splitting light already in the scene. It is a scattering read and never an
emission, it goes dark in shadow like every other surface, and the sheet declares it explicitly so
that no downstream lane converts a real animal's oil-slick sheen into a glow.
the midline abrasion runs the full precloacal length, the polished lateral lines sit on the outer
third of each scute and stop at the vent.
vertebral segments; the segments themselves keep their declared ROM and weight passes through the
band unchanged. It is a scar, not a joint.
NO STAGED ENCOUNTER EXISTS ON THIS ROW, AND THAT IS AN AFFIRMATIVE STATEMENT. combat_permission is
EMPTY, the ruled demand table carries it combat_facing FALSE, and the chapter stages no python beat.
The part-economy home is NONE. What the row stages instead:
it. A flood-forest that contains a six-metre constrictor the player usually fails to see is a
different place to walk through than one that does not, and the negative-space read in § 4 is the
mechanic.
temperament_prior is ambush and tier_classification isAPEX. It does not pursue, it does not display, and it does not warn; what it does is not move. The
danger is entirely a function of the player's own distance, which is the honest version of an
ambush predator and needs no encounter to be true.
trade_8_tameable is DANGEROUS, which the ruling reads two ways thatconverge — the trade CAN take it, dangerously, and it is a body that threatens (RULING_7). No
trade-8 mechanic exists to receive that today and the sheet boards the absence rather than
inventing the mechanic.
no raised forebody at eye height, no mineral crust, no stylization, and no encounter framing. If a
player reads guardian here, the design has failed, and that is the acceptance test for the plates.
around it and the route is the interaction. Nothing breaks, nothing escalates, and nothing is owed.
CR_0005, carried at CH_05 by CR_0146, CR_0148 and CR_0140 — is that residents VACATE in a direction
and the direction is a free warning. This animal is its exact inverse and that is the point: an
ambush predator's answer to a larger arrival is to not move, so it gives the player nothing and it
is never the early-warning body. THE DISCRIMINATOR that governs the shape elsewhere in the chapter
is stated here in the same words the other three sheets use: A WATER READ ANSWERS TO WATER AND A
STONE READ ANSWERS TO STONE — the monitor going in (CR_0146) and the otter troupe's alarm chorus
(CR_0148) answer to CR_0133 coming up; the macaque troop leaving a gallery (CR_0140) answers to the
wards rousing. This row is a forest read, it is the shape's fourth case and its inverse, and it
answers to nothing visibly at all.
sheet does not re-apply collective protection to a game animal.
being of a living tradition, deliberately LEFT [CH_05.md:330], and the one way a fauna sheet could
damage it is by letting an ordinary snake carry the naga's register. The sheet's whole design law in
§ 3 and its acceptance test in § 6 exist to prevent exactly that, and nothing is removed to achieve
it — the animal keeps every frightening thing it has.
requirement.
template serves it correctly. That is also the route that keeps it distinct from CR_0002, which is
attended-design by construction.
a player could never be surprised by an APEX constrictor in a chapter with no python encounter.
REFUSED. The row says APEX and DANGEROUS, the ruling put it in demand on exactly those cells, and an
ambush predator the player can always see is not an ambush predator. The counterweight was also
checked in the other direction: building it a fight because APEX feels like it deserves one would
invent encounter canon this lane has no authority to write, and would put a naga-adjacent serpent in
the target position the chapter's care framing keeps it out of.
_source/02_Tier_2_Region_Pages/angkor_khmer.md and matched SRC_00322 at L44 and throughout § 5,
§ 13 and § 14 — the page's ONLY SRC_ id across 1383 lines. The matcher works, and no SRC_ id on the
page reaches this row, which is why every claim here is cited to file:line or to the registry cell.
constriction loop with its half-row scale step, and the negative-space read are INVENTED BY THIS
SHEET as the game's own design. The anatomy, the disruptive reticulation and the structural
iridescence are DERIVED FROM THE ANATOMY BUCKET (LIMBLESS / serpentine), with the structural-colour
reading INLINE_DECLARED where that bucket is silent. The distinct-cohort status, the flood-forest range, the naga
folk-link with the naga itself LEFT, and the flow-reversal calendar are CITED.
the composition built so the eye finds the wrong diameter before it finds the snake.
pattern for the first time and the oil-slick structural sheen carried where the light crosses.
scale step crossing the frame.
midline and the polished lateral lines.
combat_permission is EMPTY on this row while it carries APEX and DANGEROUS. The same empty-celltrap CR_0005 and CR_0146 board.
records census_boss_rows_citing_this_id as BE_0002_S1 and BE_0003_S1 for CR_0147 — those are the
Flores guardian's Ch-2 and Ch-3 encounters and they belong to CR_0002. This is a name-match, not a
reference, and it is exactly the failure mode the row-is-the-unit rule exists to catch. THE DEFECT
IS INFORMATIONAL-CELL ONLY AND THE RULED DISPOSITION IS SOUND: the dedup axis already rejected this
same name match on its own evidence (dedup_evidence_kind NAME_MATCH_REJECTED_ON_CHAPTER_OR_REGION),
so the row entered demand on its own DANGEROUS and APEX cells under RULING_7 and RULING_8 and its
combat_facing FALSE is unaffected; only the census's informational cell is wrong, and the emitter
repair is boarded to the next mesh_routing leg.
it will first bite. Two live rows share the binomial Malayopython reticulatus and the anatomy
bucket names BOTH as serpentine exemplars, so any lane that keys a plate, a mesh, a conditioning
image or a rig by species name rather than by creature_id will serve one row's asset into the
other's slot — and the two are not interchangeable in either direction: CR_0002 is
mythologically-stylized when roused and attended-design, this row is a real animal on the ordinary
asset path. The guard is: id-keyed lookup only, and a correct CR_0147 asset must never satisfy
CR_0002's slot by binomial match, nor the reverse.
trade_8_tameable DANGEROUS has no receiving mechanic anywhere: no trade-8 handling loop, no husbandry cells (husbandry_breedable, husbandry_venue, offspring_tier_lock all EMPTY), and no
quest hook.
thread_anchor Thread 2 sits on this row, which puts an ordinary flood-forest snake on the Serpentthread alongside Naga Padoha and the Khmer naga. The link is defensible as ecology but the column
cannot express the difference between carrying a thread and being its subject.
height_m, length_axis, kit_ref and mesh_id_ref are EMPTY while generation_status ispending, and this is the longest-bodied row in the chapter.
source_ref cites angkor_khmer § 3, which names no python. The cohort-wide provenance dangle isunresolved.
silent. The CR_0002 template ruled the block in on 2026-08-06 and requires a MEASURED
enclosed_volume_m3 read off a shipped mesh at canon scale — CR_0002 could take that leg because
its rebuild mesh exists. This row's generation_status is pending and mesh_id_ref is EMPTY, so
the measured leg cannot be taken and a guessed volume would poison
harness/asset_factory/emit_creature_physical.py at its source. Deferred to the mesh landing, with
the § 2 ROM table already re-derived from the anatomy bucket and ready to carry into § 10.2.