npcs/CHARACTER_FACTORY_MASTER_CHARTER.md
What this is. The end-to-end pass ladder for a hero character, generator to shipped asset, stage
by stage, with — for every stage — what EXISTS (cited to its landing), what is MISSING, the
INSTRUMENT PAIR that gates it (a measured instrument and an image-native judge), the EXEMPLAR
comparison it is scored against (which plate, which crop, holistic and per-region), and its OWNER and
SEQUENCE position. It exists because Josh ruled the character chain the template for everything
downstream: *"Once we get this down the factory is mostly set for every 3d asset downstream."*
(build/3d/best_a14/records/ROUTE_A_RESIDUALS.md:9-10).
Authority, in order.
1. Josh's rulings, verbatim, quoted in §0 and never paraphrased into something softer.
2. THE PLATES WIN — the graded V4 exemplar plates are the truth for this subject; where a plate
and an anthropometric norm disagree the plate is the answer and the gap is PUBLISHED, never
averaged (harness/asset_factory/anatomy_bar.py:18-22;
build/3d/best_a14/records/ANATOMY_REFIT_V2.md:6-7).
3. The practice-law docs — CRAFT_ANATOMY_STANDARDS.md, CRAFT_TEXTURE_LOOKDEV_GROOM.md,
CRAFT_AI_3D_GENERATION.md, CRAFT_TOPOLOGY_DEFORMATION.md, CRAFT_RIGGING_PIPELINE.md, all
under docs/pipeline_review/tech_research/. Where they are silent this charter says SILENT rather
than inventing a standard and calling it practice.
4. PIPE_CHARACTER_MODELS_2026-08-06.md — the PIPE dossier is lane law for generator and
pipeline-SHAPE decisions. One row on this ladder (S6, retopology) is explicitly **above a lane's
authority** and is chartered here but decided there
(build/3d/best_a14/records/AUDIT_RECONCILIATION.md:33).
Honest tier. This is a CHARTER. Nothing in it is a quality claim. Every status below was read off
a landed file or a landed record at HEAD, not off a lane's summary of itself — the method
AUDIT_RECONCILIATION.md:8-14 established and this file inherits.
The one standing constraint that outranks scheduling. Two lanes editing one asset is the
collision class this project retired by construction. Every row that touches geometry, weights,
atlases or the game repo is sequenced AFTER the capture lane in flight; rows that touch only
harness/ or records are FREE NOW and say so (AUDIT_RECONCILIATION.md:49-52).
Reference-sourcing law, binding on every pass in this charter that goes looking for reference.
Museum sculpture and anthropometric NUMBERS are the sourcing route; the measurement-position plates
that accompany anthropometric tables are NOT retrieved; no photo reference of minors, ever
(CRAFT_ANATOMY_STANDARDS.md:724-731). The subject is fourteen. This law binds the micro-anatomy
pass and the skin lookdev pass hardest, because those are the two that would otherwise go looking.
---
Josh, 2026-08-08, the factory-defining ruling (ROUTE_A_RESIDUALS.md:3-23, verbatim as boarded):
body IDENTICAL to anatomical age + proportions + sizing of EVERY body part; the FF7R zoom-in bar
(photoreal perfection head to toe at closeup); micro-anatomy named — the V (Apollo's belt), nipple
definition, subtle vein outlines; color/warmth identical to exemplars; iterations both HOLISTIC and
CHUNK-BY-CHUNK with every pass compared to the exemplars by BOTH judges (our math instruments + the
image-based LLM); enough proportion/parabola measurements; joint placement + ROM perfect.
The six passes it names, which this charter places on the ladder and does not re-order silently:
| pass | name | lands at stage |
|---|---|---|
| P1 | FULL-PART PROPORTION CENSUS — anatomy bar leg B expands to every body part vs plates + age spec | cross-cutting instrument, gates S3-S7 |
| P2 | MICRO-ANATOMY DETAIL — sculpt/displacement for Apollo's belt, nipples, veins, tendons, knuckles | S7 (new stage) |
| P3 | SKIN LOOKDEV COMPLETION — pore micro-normal, measured roughness, dual-lobe, colour delta-E | S10 (new stage) |
| P4 | THE CRITIC-CORRECT LOOP — 32B ranker + qwen3-vl localizer as an ITERATION ENGINE | cross-cutting, §4 |
| P5 | REGION LADDER — head/torso/arms/hands/legs/feet each against its own plate crop | cross-cutting protocol, §5 |
| P6 | JOINT-CENTRE MEASUREMENT + corrective blendshapes, ROM 7/10 → 10/10 | S12 + S13 + S14 |
And the grade that stands behind them (OPEN-10, ROUTE_A_RESIDUALS.md:25-42, verbatim): *"We
have a human now but still deformed, neck too long no Adam's apple or collar bone and extended or
double wrist joints. Face still 0 like[ness] and the hair is nothing like what we wanted and this is
way too dark it's hard to see any detail."* — plus THE 7-AGE LAW: age 14 is the recipe-proving
age; when it passes Josh's eye the SAME chain runs per age against each age's own plates, never
hand-tuned per age (ROUTE_A_RESIDUALS.md:39-42).
Two rulings that CLOSE questions this charter must not reopen.
ROUTE_A_RESIDUALS.md:44-54): the mesh at 36.20 cm againstplate 36.12 stands; the −14 to −16% gap against the programme's own anthropometry is ACCEPTED
STYLE, not a defect; anatomy-bar leg B shoulder rows score against the PLATES, never the tables.
Revisit trigger is the in-game GEARED silhouette, and geared captures join the photobook register
so that decision has its evidence when Josh asks.
ROUTE_A_RESIDUALS.md:306-315, verbatim): *"Don'tjust use your judgement. Claude code is absolutely shit at image reasoning... The creator and judge
may need to be another extremely powerful llm trained on images."* The sighted read is a
sanity-check. It never publishes anything.
---
OPEN-0 (ROUTE_A_RESIDUALS.md:56-69): every gate in the chain was green on a figure Josh graded down
on sight, because every instrument in the chain measured PRESERVATION — "the rig did not make it
worse" — and nothing anywhere measured whether the base anatomy was RIGHT. The battery certified the
pipeline; nobody certified the subject.
That is the design rule for every instrument chartered below, and it has a testable form:
**A gate that cannot fail a correct process operating on a wrong subject is not a gate for this
factory.** Every instrument row below must name what it can FAIL, not what it can confirm.
Three measured corollaries the chain has already paid for, carried forward as standing law:
are the house floor, not the two-source derivation the record describes; at the floor 0.02 the
record carries 6 RED / 11 AMBER, at 0.05 it is 1 RED, and **at 0.202 — a band this same harness
already applies at biiliac_breadth — there are ZERO REDs** (ROUTE_A_RESIDUALS.md:620-630).
Nothing on this ladder may widen a band without a citable population SD; the repo carries **no
dispersion column for any breadth or girth site** (ROUTE_A_RESIDUALS.md:639-641).
numeric bounds opened a visible fold down the armpit, and no leg of the anatomy bar can see a local
crease (ANATOMY_REFIT_V2.md:137-143). The ornament regression in the garment basecolor was found
by a matched A/B and by nothing in any number (ROUTE_A_RESIDUALS.md:796-801). **Both judges, or
neither.**
site REFUSES by name (CRAFT_ANATOMY_STANDARDS.md:682-687).
---
Eighteen stages. The audit's seven (CHARACTER_PRACTICE_GAP_AUDIT.md:300-308: generate → fit →
partition/UV → bake/texture → rig/skin → import → capture) are all present; the eleven additions are
the stages OPEN-11's six passes need and the audit's ten changes name.
Legend for STATUS: LANDED = exists and runs · PART = exists with a named gap · ABSENT =
no stage exists · UNWIRED = instrument exists and gates nothing.
---
PLATE_DIR = E:/art/boards/D1-09/CHAR_0001 (harness/asset_factory/thousand_point_eval.py:107), templates
CHAR_0001_EXEMPLAR_BODY_{age}_V4_{FRONT,SIDE,BACK}.png (anatomy_bar.py:201-203). Age 14
promoted on Josh's grade *"Yeah A12 for body and face - it looks great"*
(visual_judge.py:19-21, citing CHAR_0001_BODY_11_V4_PROMOTION.json:19). The other six ages
carried under the same recipe and gate:
build/art/characters/body_evidence/BODY_V4_CARRY_SEVEN_AGE.json (ages 7/9/11/12.5/16/18, recipe
A12_SEEDVR2_3B_S4_LAB, Josh: *"Yeah v4 is approved"*).
likeness item and are boarded, not built** (OPEN-10(d), ROUTE_A_RESIDUALS.md:35-37). The
full-body→bust crop path exists (harness/asset_factory/body_plate_head_crop.py) and is a crop and
resample only, no model, no denoise.
body_v4_bracket gate bar, imported by value into the carry: figure_h_px_min 1300, mask_rel_error_max 0.05, bleed_excess_max 6.0,
micro_photoreal_floor 75.1, identity_min 0.95, iou_min 0.9,
l11_different_boy_floor 0.267379 (BODY_V4_CARRY_SEVEN_AGE.json :: gate_bar).
is qualified against (visual_judge.py:17-27).
nothing else.
---
on byte-identical conditioning (docs/DOC_MAP.md:802, the PIPE dossier row). Base on disk:
build/3d/finish_a14/v3/meshes/A14V3_V3MV_s42_clean.obj sha fcf8583e2e9781d8
(ANATOMY_REFIT_V2.md:34).
part separation, UVs (CRAFT_AI_3D_GENERATION.md:310-311). And the root finding that keeps this
stage OFF the critical path: "the generator was never the defect"; swapping generators is DO
NOT ADOPT (CRAFT_AI_3D_GENERATION.md:779-781, :11-12, :556-565).
likeness_lens.py L09/L10 against the plates, and p1_score.py against the C4 sensitivity floor 0.0314159265 (ROUTE_A_RESIDUALS.md:840).
visual_judge.py --judge on a clay turntable of the raw generation —not run today at this stage.
build/3d/hi3dgen/. Sequence: only re-runs if S3/S4 prove the baseunrecoverable; not scheduled in the next three rounds, on the evidence above.
---
build/3d/hi3dgen/clean_shells.py, measured at zero likeness cost (CRAFT_AI_3D_GENERATION.md:537-541).
p1_score.py before it is trusted (CRAFT_AI_3D_GENERATION.md:700-705). This is the house pattern for any new
position-only stage on this ladder.
---
build/3d/finish_a14/ or build/3d/hi3dgen/ (AUDIT_RECONCILIATION.md:29).
leg-B sites (angular_coverage 1.0 where round 1 read 0.0). **The chest is the exception and it is
unchanged**: leg B carries "chest" at angular_coverage: [0.0], refused with *"the restricted
section is in 2 separate pieces at this height -- a single perimeter around them is not a girth"*
(ROUTE_A_RESIDUALS.md:563-567). **Three independent instruments now refuse the same site for the
same reason** — fit_a14 confound control, thousand_point_eval L01, anatomy_bar leg B
(CHARACTER_PRACTICE_GAP_AUDIT.md:635-637). The chest is the single largest anatomical residual on
the asset and a canonical pose is the only remaining lever.
[SUPERSEDED IN PART — director ruling, 2026-08-10 second-succession close, from measurement not
taste: the pose lever is REFUSED on this subject at all 56 grid cells (zero cells read the chest
with the trunk unmoved — the axilla is one welded surface, R06∩R09 = 144 shared vertices, so any
geodesic blend carries trunk skin; pose_s3/records/S3_REPOSE_GRID_BLEND_THETA.json), and the
chest was never unreadable: anatomy_bar's lobe short-circuit fires BEFORE the tape-measure
convention its own leg-B comment names for the arm-root case. Read unposed under that convention
the chest is 93.078 cm at coverage 0.9069 — inside the S4 prior's age-14 band [84.20, 98.74]
(pose_s3/records/S3_CHEST_RESOLUTION_LANDED_V32.json, discriminator armed against its thigh
negative-control). RULED: the S3 blocker retires via the refusal-ORDERING fix in anatomy_bar
(tape convention tried before the lobe refusal where the discriminator reads ONE_SURFACE_CUT_OPEN),
NOT via a repose; the implementation is a named owed instrument row that must re-arm the bar's
selftest, and the axilla weld separation is a Round-2 mesh row. The three-instrument agreement
above described the same ordering defect three times, not three independent shape facts.]
anatomy_bar leg B angular_coverage == 1.0 on **all 14 sites includingchest**, and the P1 proportion census (§3.P1) able to read every part it names. Positive control:
the chest girth must become readable and land against its plate-implied section, not against a spec
target no instrument can see today (chosen_girths chest 110.78 cm vs target 82.53;
neck_base 46.59 vs 33.63 — ROUTE_A_RESIDUALS.md:546-548).
judge calls here.
(CRAFT_ANATOMY_STANDARDS.md:387-388).
build/3d/finish_a14/ chain; build/3d/hi3dgen/run_a14_arms.py (AUDIT_RECONCILIATION.md:98). BLOCKS S4-S17. After the capture lane in flight. **First row of
Round 2.**
---
build/3d/best_a14/bounded_fit_v2.py. The bound-not-target contract is real: aplate-section confound control runs on every site before the fit and can refuse one; it
fired on exactly the two single-cluster sites, confound_refused_sites = ["neck_base","chest"]
(AUDIT_RECONCILIATION.md:28). Leg C is wired as a per-site DEGRADATION bound beside the C4
likeness floor (ANATOMY_REFIT_V2.md:75-85).
body-prior across build/3d and harness returns only Unreal SKM_Manny hits
(AUDIT_RECONCILIATION.md:28). So the fitter can REFUSE a section it cannot read and nothing knows
what that section should have been. A refusal is not a repair.
The prior enters as a BOUND, never a target — §3.3 of the audit, non-optional
(CHARACTER_PRACTICE_GAP_AUDIT.md:629-630) — so it cannot widen this boy away from the plates.
ANATOMY_REFIT_V2.md:60-69), per site.
bounded_fit_v2.py. Anny (Apache-2.0) is the licence-cleancandidate the audit names; **evaluate it for the age-14 band the way
METAHUMAN_CAPABILITY_RECORD.json evaluated MetaHuman — measured, child band as a separate question
from stature (ROUTE_A_RESIDUALS.md:553-555). After S3. Round 2.**
---
build/3d/best_a14/plate_conform.py, two passes: P1 girdle (alpha 1.0), P2 body(alpha 0.5), each bounded three ways — the C4 likeness floor measured against the fit mesh, leg D
out of the red, and a topological clearance census that no height may hold fewer separate solids
than before (ANATOMY_REFIT_V2.md:96-107). This is the stage that finally gave a consumer a
shoulder BREADTH (ANATOMY_REFIT_V2.md:91-94). Result: shoulder breadth at the acromion **−7.09%
RED → +0.24% GREEN; leg C RED (5 red rows) → AMBER (0 red); leg A 17 red → 3**
(ANATOMY_REFIT_V2.md:19-21, :177-183).
correct at 26.8 cm against a 26.36 cm spec — the defect is a MISSING TOE BOX and a per-height
scale answers a missing feature by stretching what is there, proven and imaged
(ANATOMY_REFIT_V2.md:117-122, :272-275). (b) Below-waist depth is halved and stopped: waist
−7.4%, mid_shank −6.2% (both RED), trochanter −4.6%, knee −3.5%; alphas 0.75 and 1.00 would have
fixed more and cost +0.052 / +0.083 of turning distance past the 0.0314 floor and were refused
(ANATOMY_REFIT_V2.md:109-111, :276-280). **This is the generator's own aspect ratio, not the
fit's** — the base measured −12.0% at the waist before any stage ran.
census as the acceptance set rather than the fifteen-rung ladder.
today**; the alpha choice is made on numbers alone, which §1's second corollary says is half a bar.
as two independent rows — ANATOMY_REFIT_V2.md:211-227), V4 SIDE for depth.
plate_conform.py. After S4. Round 2. The foot needs a sculpt or aregenerated foot and is Round 2's own row, not a conform parameter.
---
uv_v2/A14_PARTITIONED_REPAIRED.obj is **167,468 triangles, 0 quads, 0 ngons**; every partitioned variant on disk counts the same; finish_a14/retopo/QUAD_A14_V3B.obj
exists, is unconsumed, and would not satisfy the loop rules anyway, being a field-based isotropic
remesh (ROUTE_A_RESIDUALS.md:645-655).
shoulder — which is the topological reason the armpit fold has nothing to fold ALONG. OPEN-3's
upstream weld defect and OPEN-9's missing LOD chain are downstream of this same absence
(ROUTE_A_RESIDUALS.md:655-659).
*"Auto-retopology is for props and creatures; hero deforming regions get a wrapped template"*
(CRAFT_AI_3D_GENERATION.md:686-696, restated :527-528). Tooling named: Instant Meshes,
Exoside QuadRemesher, Meshy Smart Remesh, Rodin Smart Low-Poly for the auto class; R3DS Wrap /
Wrap4D and Reallusion CC Wrap with non-rigid ICP (Amberg CVPR 2007) for the hero class
(CRAFT_AI_3D_GENERATION.md:354-386, :500-517).
mouth; hero loop budgets 6-8 elbow, 3-5 knee (CHARACTER_PRACTICE_GAP_AUDIT.md:266-267); and R-7's
free-proof via p1_score.py.
demonstrably able to name a local defect it was not told about (ROUTE_A_RESIDUALS.md:352-359).
ladder whose exemplar is a topology, not a photograph.
lane's authority. Chartered here, DECIDED in PIPE_CHARACTER_MODELS_2026-08-06.md**
(AUDIT_RECONCILIATION.md:33; CHARACTER_PRACTICE_GAP_AUDIT.md:687-688). After the capture pass
AND after the dossier rules. Round 3 at the earliest; the dossier ruling is a Round-2 ask.
---
complaint is Josh's and it is specific: *"no Adam's apple or collar bone"*
(ROUTE_A_RESIDUALS.md:26).
nipple definition, subtle vein outlines, tendons, knuckles (ROUTE_A_RESIDUALS.md:5-6, :13-14),
plus the landmarks OPEN-10(b) names: **Adam's apple, clavicle ridge, and the
CRAFT_ANATOMY_STANDARDS landmark checklist as a measured anatomy-bar leg**
(ROUTE_A_RESIDUALS.md:30-33).
clavicle full length with S-curve and both ends findable (:325), acromion (:326), scapular spine
and medial border as soft ridges under a 5.3 mm mantle (:327), suprasternale at **0.8115 of
stature** (:328), iliac crest + ASIS as a plane change under a 5.5 mm mantle (:329), patella and
anterior tibial crest (:330-331), medial and lateral malleoli asymmetric with medial higher (:332),
olecranon and ulnar styloid (:333), mandible / zygomatic arch / temporal line (:334), and the
cricoid/thyroid prominence, present at 14 but understated — the doc's only Adam's-apple entry
(:335). The MUST NOT READ register: individual ribs as raised bars (:339), vertebral processes as a
beaded chain (:340), serratus digitations as discrete fingers (:341), iliac crest as a hard
silhouette edge (:342), deltoid/biceps/triceps split by hard troughs (:343-344), **forearm and
dorsum-of-hand tendons as raised cords** (:345), hollow temples and sunken supraclavicular fossae —
named as the single tell of gaunt in a bust render (:346-348). All
CRAFT_ANATOMY_STANDARDS.md.
practice register bans tendons as raised cords at this age and this fat mantle. And the sighted
read on the V3 mesh already says **S5 = NO, 93%: "highly developed musculature (abs, broad
shoulders) unlike typical 14yo; reference silhouettes are slimmer"**
(ROUTE_A_RESIDUALS.md:819-821) — the figure already reads ADULT.
Adjudication (applied, not asked — creative-within-vision). The two are reconcilable on SCALE,
and the reconciliation is the pass's own spec:
hard trough, no beaded spine. This is the register that made the figure read gaunt and adult.
silhouette, resolved only at closeup): Josh's list wins in full.** Apollo's belt as a soft plane
change, nipple definition, vein outlines as *outlines*, tendon and knuckle relief at the pore-and-
cavity layer.
This is exactly what an FF7R zoom-in bar asks for and exactly what an age-14 silhouette forbids, and
it is the only reading that satisfies both.
Strongest objection, recorded: a displacement layer under a 3.8-6.6 mm fat mantle
(CRAFT_ANATOMY_STANDARDS.md:289-295) may simply not be visible, in which case the pass will be
tempted to raise amplitude until it is — and that is the road back to the adult read. **The
refusal condition is therefore written into the pass before it starts: leg E's relief statistic and
the S5 age read are both scored BEFORE and AFTER, and any amplitude that moves either one toward
RED/ADULT is refused with its number published.**
its measured relief against that site's declared fat mantle, and a fillet-radius band at the four
named sites (CRAFT_ANATOMY_STANDARDS.md:659-666) for each MUST-NOT landmark. Suprasternale must
land at 0.8115 of stature. Leg E's OWED robust spread (§3.P1) is a hard prerequisite — the current
p2p statistic fires on a navel (ANATOMY_REFIT_V2.md:242-266).
forearm/hand, knee — each against the same crop of the V4 plate. This is the stage the localizer is
measurably good at: it named "Grey unshaded band at waist where shorts meet skin" before that band
had been measured (ROUTE_A_RESIDUALS.md:353-355).
(clavicle shelf, iliac plane change).
build/3d/best_a14/, between S6 and S8. Position-only ordisplacement-only, byte-identical UVs and faces — the S5 discipline
(ANATOMY_REFIT_V2.md:42-44). After S6 if the dossier rules a template conform, otherwise directly
after S5. Round 3.
---
uv_v2/PARTITION_UV_A14.json — 14 named region bands (R01_FOOT, R02_LOWER_LEG, R03_KNEE, R04_THIGH, R05_PELVIC_GIRDLE, R06_ABDOMEN, R07_THORAX, R08_SHOULDER,
R09_UPPER_ARM, R10_ELBOW, R11_FOREARM, R12_WRIST, R13_HAND, R14_NECK_SEAM),
unreachable_vertices: 0, partition source IMPORTED from
thousand_point_eval.region_bands so a region on the asset and a region in the acceptance battery
are the same object. This is the artifact that beat the arms-down confound by construction
(anatomy_bar.py:47-53).
and *"converts 'the head is mush' from judgement into a reading"*
(CRAFT_TEXTURE_LOOKDEV_GROOM.md:769-778); G-11 records it as unmeasured and unarmed (:996-1001).
Hero band is 2048 px/m and a head is only ~0.2 m across, so **the head needs its own high-density
tile** (:274-291).
unreachable_vertices (landed); px/m per region (owed).build/3d/finish_a14/uv/. Re-runs after any geometry change. Round 3.---
build/3d/finish_a14/bake_plates.py. It already COUNTS its unobserved texels honestly (unobserved_texels_filled_by_nearest_valid).
cover, so everything outside an island stays black, and its only two refusals — "no texel covered" and "no texel observed by any view" — both require TOTAL
failure, so a barely-observed tile publishes; the chain has published at 54% source coverage.
Dilation is not in the bake at all: it lives downstream in render_textured.py pad_tile() behind
opt["pad"], writing derived *_PAD.png while source tiles keep their unpadded border
(ROUTE_A_RESIDUALS.md:661-675). Padding is a bake-time invariant scaled to resolution — 4 px @512
up to 32 px @4096 — and a 3-texel gap dies by mip 3 (CRAFT_TEXTURE_LOOKDEV_GROOM.md:249-261).
doll_zone_skin.pyfills UDIM 1003 by mirroring the subject's own abdomen skin across the natural-waist line
W = 103.297 cm; unique RGB in the doll zone went 1 (sd [0,0,0]) → 15,343, exposed-ring
saturation 0.2223 → 0.4508 with both controls holding (ROUTE_A_RESIDUALS.md:722-745). Honest tier
is stated and not upgraded: a mirrored continuation is not a photograph of this pelvis, so hip
crest, inguinal crease and iliac shading are absent (:747-750). (b) "And below" is STILL OPEN —
R04_THIGH at z 73.93-86.93 cm is a photograph of the plates' own undergarment printed into the
skin atlas; saturation collapses to 0.215 against 0.47-0.56 elsewhere; hidden by trousers, shows on
every bare frame (ROUTE_A_RESIDUALS.md:432-435, :752-754).
already measures; dilation moved INSIDE the bake so no downstream stage can forget it
(ROUTE_A_RESIDUALS.md:673-675). Plus R-12's source-pixel sufficiency refusal — a 190× case ran to
completion and published (CRAFT_TEXTURE_LOOKDEV_GROOM.md:780-789).
already found this defect class unaided.
doll-zone proof's own method: a skin control and a garment control on the same frame).
bake_plates.py. After the capture pass; after any S7 geometry change.Round 3.
---
against this project's own standard. Skin: **no subsurface setup of any kind — no SubsurfaceProfile
asset exists anywhere in Content**; T_CHAR_0001_HEAD_SSS.uasset is landed and unused; no tangent
normal, no ORM, roughness a flat 0.65 (ROUTE_A_RESIDUALS.md:440-443). Meanwhile the arrival-set
equipment already ships basecolor + normal + ORM (:443-445). The garment side HAS moved: two fabric
slots now exist, M_GARMENT_TROUSERS_SILK (Default Lit + anisotropy) and
M_GARMENT_TROUSERS_TRIM (Cloth + Fuzz Color), split from the authored zone raster
(ROUTE_A_RESIDUALS.md:779-787). Skin is now the one that has not moved.
Subsurface Profile; Base Color authored as if viewed from a largedistance; human scatter distance ≈1.2 cm; Metallic does not exist on this model and must be
dropped from skin slots (CRAFT_TEXTURE_LOOKDEV_GROOM.md:190-204, :694-695). G-05 records that no
dual-lobe spec and no SubsurfaceProfile asset exist in either repo (:956-959).
without the tight lobe skin reads as painted plastic at portrait distance (:206-215). This is
the single clearest technical answer to the FF7R zoom-in bar in the whole practice stack.
blended through BlendAngleCorrectedNormals, normalised at the end, gated by a painted normal-
weight mask so pores skip lips and eyelids (:218-229).
(:232-233, :105-111). R-16: a slot may not ship scalar roughness; publish realised roughness
mean+σ per slot and for the adjacent skin slot (:827-844). The house's own line, currently a
docstring and not a refusal: *"an ORM whose G is one value is a scalar roughness wearing a
texture's name"* (:584-587).
"unpinned role = BLOCKED" (:698-708); Epic's digital-human set is 4K per facial map (:231-232).
Current stack is three roles wide against a roster roughly double that (G-06, :960-965).
never sRGB, metallic exact-zero for non-metal (:608-620). Basecolor must be TC_BC7 for a hero
character, not TC_DEFAULT (G-07, :967-971). Texture groups TEXTUREGROUP_Character /
…CharacterNormalMap pinned in the want/readback pattern (:711-719).
importing as four separate Texture2Ds — the textbook cause of the neck ring (:941-946,
:297-311).
lacrimal meniscus, caruncle blend, eyelid occlusion — *without all three the head reads dead*
(:235-242). OPEN-8 recorded eyes rendering blank white at figure distance
(ROUTE_A_RESIDUALS.md:297).
colour/warmth delta-E instrument vs plates under calibrated light
(ROUTE_A_RESIDUALS.md:16-17). delta-E appears NOWHERE in CRAFT_TEXTURE_LOOKDEV_GROOM.md —
no gray card, no formal white-balance procedure, no texture-to-reference colour-matching workflow.
So this instrument has no landed practice law and must be derived, and the derivation has a
correct starting point in the same doc: the 24-patch ColorChecker round trip, whose actual numeric
test is that one linear scale per channel fitted on the neutral patches must explain all 24
(:394-398), promoted to a threshold in harness/gates_config.json by R-13 (:791-799); the 18% grey
ball as the exposure reference (:386-390); the mandatory de-light pass as a PRECONDITION, not a
substitute (:781-789); the albedo band 30-240 sRGB with its recorded dissent that a floor conflates
total with diffuse albedo and clamping to 30 hides a de-light defect (:882-889); and the
measurement pass running a neutral view transform because AgX deliberately does not round-trip a
known sRGB value (:421-424, :801-808). **Build the delta-E instrument on top of that chain — a
per-region CIE ΔE2000 between the de-lit skin albedo and the plate crop, both under the neutral
transform — and publish the calibration header on every artifact it emits.**
(R-13); per-region ΔE2000 vs plate crop (new, spec above); albedo band; px/m per region (S8).
material_quality and photorealism axes, against the plate crop. This is the axis Josh graded down by name
(visual_judge.py:266-270).
portrait-distance read. **Loud-failure doctrine applies: a missing map renders magenta, never
neutral grey** (CRAFT_TEXTURE_LOOKDEV_GROOM.md:431-443).
key-to-fill 3:1 or 4:1) plus stress environments; turntable is two rotations — half rotating the
subject, half holding the subject and rotating the HDRI, which is the axis that exposes baked-in
lighting errors; reference objects in frame every time; review at ship LOD, in engine
(CRAFT_TEXTURE_LOOKDEV_GROOM.md:407-426). R-10 adds the HDRI-rotation axis to
run_lookdev.py → bl_lookdev_sheet.py; G-10 calls its absence *the missing instrument closest to
a known wound* (:758-767, :989-994).
Tools/char/import_char_0001_*.py (game repo). After S9. Round 3. The harness/-side ΔE instrument and the roughness-σ reporter are
FREE NOW — they touch no asset.
---
Groom asset with 6,800 generated guides, ShadingModel = Hair driving a root→tip gradient off
HairAttributes.U with per-strand variation off Seed (ROUTE_A_RESIDUALS.md:476-479). Measured
passes: strand definition resolves; NO BALD CROWN (1.0000 of crown patches carry a root within
4 mm); EYES CLEAR (no front-sector point below z 1.4430) (:482-485). Humanity.uproject gains
HairStrands + AlembicHairImporter (:516-518).
bounds: -1 into an array of size 1"*, ~156 s into the async build; the groom is attached RIGIDLY
meanwhile, which is the same fidelity the retired cap had (:502-505). No UGroomComponent
anywhere in Source/Humanity, so the shipped humanity.Char.Body path cannot wear hair and these
frames are an editor render (:508-509). No LOD chain, no groom physics. **The colour bar is
UNJUDGEABLE from these frames**: UE's hair BSDF is Marschner, its R lobe is the colour of the LIGHT,
the rig is lighting a blonde subject far too hot, and the rig's own exposure control is not taking —
frames at −1.2 EV and −4.5 EV are pixel-identical (:488-496).
cost at startup (CRAFT_TEXTURE_LOOKDEV_GROOM.md:351-353). Cards vs strands is a per-LOD
representation choice and binding data only activates on Skinning LODs (:363-368). **Never drive
groom LOD directly — drive the skeletal mesh's LOD and let the groom follow** (R-09, :749-756). The
ordered acceptance chain is R-08 (:733-747). G-09: the landed groom **wears the AGE-7 colour
keystone on an age-14 asset** and the age-14 keystone does not exist — *any lookdev judgement of this
hair is judging a placeholder and no sheet header says so* (:981-987); the age-14 keystone stays
DERIVED_FROM_CANONICAL_PLATE_PENDING_VETO (ROUTE_A_RESIDUALS.md:495-496).
builds; exposure control demonstrably takes (an EV sweep whose frames are NOT pixel-identical);
colour under a neutral transform.
hair axis at closeup — the axis Josh graded down by name (visual_judge.py:250-254).
the plates: **Josh's graded age-14 plate has clearly POINTED elfin ears — the in-engine pointed ear
is PRESERVED TRUTH, not exaggeration, and the groom must keep it visible**
(ROUTE_A_RESIDUALS.md:512-514).
build/3d/best_a14/groom/GROOM_REBUILD_RECORD.md. The binding crash and the exposure defect are
FREE NOW (they are not geometry). Colour is blocked on the exposure fix. Round 3.
---
rig/bl_skin_to_mannequin_BOUNDED.py, a bounded rebind whose likeness roundtrip sits under the C4 floor. One real repair banked: clavicle_l was holding **0.9257 on 4,836 vertices more
than five centimetres past the midline** — the left collarbone driving the right shoulder — now
0.2364 (ROUTE_A_RESIDUALS.md:96-102).
rig/v21/CENSUS_V21_BARE3.json still reads max_weight: 0.0 on upperarm_l, upperarm_r, thigh_l, thigh_r and spine_05, with
upperarm_twist_01_l at 0.961 over 8,262 vertices and thigh_twist_01_l at 1.0 over 11,634
(ROUTE_A_RESIDUALS.md:577-580). **The bones an animation actually rotates are not attached to the
skin.** Josh named the shoulders; this is the shoulder's deformer defect in one number.
measurement vs plates. CRAFT_ANATOMY_STANDARDS.md carries NO joint-centre placement rule and no
per-joint ROM angle target** — the practice law is SILENT and the gap is real. What it does carry, and
what the measurement must therefore be built on: joint heights as a fraction of stature —
trochanterion (hip) 0.5201, tibiale (knee) 0.2647, sphyrion (ankle) 0.0403 (:194-196) — and
long-bone spans landmark-to-landmark, acromion-radiale 0.1903, radiale-stylion 0.1538 (:197-198).
And the hazard it names explicitly: two rulers. The thigh and shank are measured
girth-minimum-to-minimum, not trochanterion-to-tibiale-to-sphyrion, and the rows differ by 23-66%
(:874-881). Any joint-centre instrument that mixes the two rulers will publish a confident wrong
number.
ROUTE_A_RESIDUALS.md:26-27) andOPEN-10(c) orders a mesh-vs-rig diagnosis at both wrists, **with the old hand-thigh weld class
predicting mesh defects there** (:33-35). A diagnosis record exists at
records/WRIST_DIAGNOSIS_V3.json; its verdict is this stage's first read.
rig/bl_weight_census.py) with a refusal on any primary joint at max_weight 0.0 — today it reports and nothing refuses. Plus a new joint-centre
probe: each joint's rig centre against the plate-derived landmark height, **one ruler declared per
site**, disagreement published.
deformation it produces.
bilateral symmetry.
rig/bl_skin_to_mannequin_BOUNDED.py. **The joint-centre MEASUREMENT isread-only and FREE NOW. The rebind is after S3-S7 (it must bind the final mesh) — Round 4.**
---
build/3d/best_a14/rig/*.py for delta mush, correctives, shape keys, RBF helpers or dual-quaternion skinning returns only unrelated smoothstep maths and a weight
transfer_smooth (ROUTE_A_RESIDUALS.md:684-686). **No deformation stage exists between rig/ and
characters/.**
armpit-to-flank fold collapse at 55° abduction cannot be fixed by any redistribution of weights —
the audit and the board reached that independently (ROUTE_A_RESIDUALS.md:686-688). And S6 names the
topological reason: there is no edge loop for the fold to fold along.
CRAFT_ANATOMY_STANDARDS.md carries no corrective / PSD / pose-space guidance anywhere in its 893 lines. CRAFT_TOPOLOGY_DEFORMATION.md and CRAFT_RIGGING_PIPELINE.md
are the doc-set's owners for this and must be read by the lane that builds it.
correctives at shoulder, elbow, hip and knee; scored by volume loss, self-intersection and normal
reversal per ROM pose (ROUTE_A_RESIDUALS.md:688-690, :704-705).
anatomy axis. scoped by an artifact we already own** (ROUTE_A_RESIDUALS.md:689-690).
hold zero weight would be sculpting around the wrong deformation. Round 4.
---
rig/bl_rom_render.py, nine poses, and renders_routea/ROM_RESULT.json.08_spine_twist twists the spine; 09_wrist_both is a flexion), so candy-wrapper — a twist artifact, on a rig where
upperarm_twist_01_l holds 0.961 of the shoulder — is untestable by construction.
ROM_RESULT.json records verts_moved, verts_moved_frac, max_displacement_over_stature:
quantities that say a pose moved something, not that it moved it well. All three consumers REPORT;
nothing refuses (ROUTE_A_RESIDUALS.md:698-705).
loss, self-intersection, normal reversal) with a refusal attached.
rig/bl_rom_render.py. WITH S12 — the roll poses only mean something oncethe twist bones stop carrying the whole limb. Round 4. This is the stage that takes P6 from
7/10 to 10/10, and it cannot report 10/10 while it cannot test the artifact it exists to catch.
---
update_skeleton_reference_pose FALSE, and the material-substitution tooth
(CHARACTER_PRACTICE_GAP_AUDIT.md:436-441).
emit_a14_v21_manifest.py still writes "schema": "char_import_manifest/v2" and itsonly influence statement is prose in a note — "max 8 influences" — not a field. No record states
the FBX unit scale factor or the UE import toggles. harness/run_gates.py contains zero rig,
skin or FBX checks. **No UEditorValidatorBase subclass exists anywhere in the game repo's
Source** (ROUTE_A_RESIDUALS.md:714-718). OPEN-9's missing LOD chain, tangent normal and ORM are
the asset-side half of the same absence.
max_influences, fbx_unit_scale, the import toggles and theper-material shading model to machine-readable schema v3 fields, then a validator that reads
them, on save and in CI (CHARACTER_PRACTICE_GAP_AUDIT.md:307).
emit_a14_v21_manifest.py (v2→v3) + rig/bl_verify_bind.py here; thevalidator is a game-repo lane. The manifest half is free **once the capture lane's staged manifest
lands and must not be edited under it. Round 4.**
---
harness/asset_factory/anatomy_bar.py, ARMED on seven probes, five legs(A plate proportion · B girth and breadth · C shoulder girdle · D mass and distribution · E surface
relief — anatomy_bar.py:54-70), re-run on the repaired mesh. **V3 reading, without softening:
RED overall** — leg A 3 red / 7 amber / 20 green, leg B RED, leg C AMBER, leg D GREEN, leg E RED
(7 red / 5 amber / 11 green) — **row for row identical to the V2 run, which is the positive control a
head-only aperture cut owes a body-proportion bar** (ROUTE_A_RESIDUALS.md:828-834).
bounded_fit_v2.py, plate_conform.py and region_repair.py, all of which consume it as a FIT BOUND. No capture
script and no publish path reads it; capture_char_0001_a14_v21.py contains **no anatomy check of
any kind**. *"The instrument that OPEN-0 ordered to gate 'every capture and every photobook entry
BEFORE Josh's eyes' gates neither"* (ROUTE_A_RESIDUALS.md:597-600).
SIGHTED_ANSWERS is still null in the landed record. The V3 pass closed the rubric's INPUT defect — four lit turntable frames were added to every read_on list and
all five questions now answer, none refuses — but the answers stay **ADVISORY ONLY and are NOT
written into the bar, because no backend has qualified** (ROUTE_A_RESIDUALS.md:810-817). The
finding worth carrying: S5 = NO, 93% — the figure reads ADULT, not fourteen (:819-821), and
S3 = NO disagrees with the director's gaunt read, recorded rather than averaged (:822-823).
[EVIDENCE-GRADE DOWNGRADE — director ruling, 2026-08-10 second-succession close: the first
control ever run on the S5 question failed ON that question — the sighted lit bench's rig-in-frame
arm answered S5 NO at 91.7 while the rig-removed arm answered YES at 100.0, its evidence naming a
difference between images rather than the boy (_rubric_v2_run/JUDGE_SEAT_ADJUDICATION_2026-08-10.json).
The 93% adult read above therefore carries NO control-clean corroboration and may not be cited as
the standing verdict on age-read; the corpus currently has NO usable answer to S5 either way. The
line above is kept as history, not authority, until a control-clean S5 read exists.]
anatomy_bar as a HARD REFUSAL on capture and publish, plus P1's expandedper-part census.
visual_judge.py --photobook. Both must clear. Neither substitutes.GAME:Tools/char/capture_char_0001_a14*.py and the photobook emitter —a canon-repo lane may not wire it. The sighted half and the lit-render production are owned here
and are FREE NOW. Capture wiring: Round 4.
---
(BODY_V4_CARRY_SEVEN_AGE.json), plus the age tooling: age_keystones.py (keystones 7/11/14/18,
bare-first, anchored to the pick, biggest jumps first) and aging_ladder.py (the in-between rungs
9/12.5/16 by single-hop instruction aging — Josh's own method, with the dual-anchor arm measured
dead and buried in the same file).
against each age's own plates — never hand-tuned per age, always plate-grounded per age
(ROUTE_A_RESIDUALS.md:39-42). Identity is judged against THE PICK at every age, never chained
through drifting intermediates (age_keystones.py, ruling 1).
and that is the point of the law: replication is cheap only because it is deferred until the recipe
is right.
---
Order (ROUTE_A_RESIDUALS.md:12-13): anatomy bar leg B expands to every body part vs plates +
age spec. Josh also asked for "enough proportion/parabola measurements" (:9) — the parabola half is
the SECTION-SHAPE reading, not another scalar: Ramanujan's ellipse perimeter from the plates' width and
depth already gives the fit its plate-implied section (ANATOMY_REFIT_V2.md:60-64), and the census
extends that from 2 sites to every region.
What it must cover, from the practice census (CRAFT_ANATOMY_STANDARDS.md):
suprasternale 0.8115, trochanterion 0.5201, tibiale 0.2647, sphyrion 0.0403, upper arm 0.1903,
forearm 0.1538, hand 0.1104, foot 0.1575 (:183-200).
chest-at-axilla 0.1557, head breadth 0.0928 / 15.47, shoulder÷hip 1.425, **bideltoid ÷ head-breadth
2.61** (:218-227), with the head lens ordered BEFORE the shoulder lens or the row refuses
INCONCLUSIVE_HEAD_REFERENCE (:644-649).
51.9 L, with the gaunt WARNING at BMI 17.1 and FAILURE at 14.1 (:271-276, :651-657).
hand 7% longer than the face (:208-212), foot 12% longer than the head (:213-214).
height budget exists between them: constant head, vault-before-face, cormic-index inversion,
shoulder yoke, neck; taper built as wide shoulders, not narrow waist; lordosis 30° at 2-4 rising
to 44° at 17-20 (:350-366, :709-713).
Three refusal conditions the census inherits and must not lose.
1. Band derivation: one spec as target, band from population SD, **never from the spread between
two of our own files** (:674-680). Until a citable SD lands, bands stay at the house floor and the
provenance is published (band_provenance.py → BAND_PROVENANCE_A14.json).
2. Vacuity: a zero-scored lens is VACUOUS and therefore a failure; an unlocatable site REFUSES by
name (:682-687).
3. Leg E owes a new statistic. The p2p fires on a navel (a 1.7% arc feature) while every
region's distributed rms sits inside its own declared fat layer; the obvious rms replacement was
tried and REVERTED because it scores a planted 20 mm ripple AMBER, and **a statistic that cannot
fail a planted defect is not a bar** (ANATOMY_REFIT_V2.md:242-266). Owed: a robust spread (a high
percentile of |residual|, or p2p after trimming the extreme few percent of arc) **with its own
arming proof against both fixtures**.
Free now. This is harness/ work on landed records. Round 1.
---
The ruling (ROUTE_A_RESIDUALS.md:306-315) moved visual grading to image-native models and demoted
the director's read to a sanity check. The trap in obeying it literally, named in the instrument
itself: swapping one unqualified grader for another buys nothing, so the instrument is a **CALIBRATION
HARNESS first and a judge second** (visual_judge.py:10-16).
harness/asset_factory/visual_judge.py, four qualification legs (L1 RANK · L2 MARGIN against the
judge's own measured repeat spread · L3 ATTRIBUTION · L4 MEDIUM BIAS) plus seven mutation probes
including a FILENAME TRAP (visual_judge.py:36-63, :65-72). Measured on the 5090 box, all local
and free (ROUTE_A_RESIDUALS.md:338-342):
| backend | probes | rank (L1) | medium bias (L4) | attribution (L3) | verdict |
|---|---|---|---|---|---|
qwen2.5vl:7b | 4/7 | 1.000 over 28 pairs, refused 2 captures | FAILS | 0/7 | NOT QUALIFIED |
qwen2.5vl:32b | 5/7 | 1.000, 0 of 36 misordered | PASS | 0/9 — answers "photorealism" every time | NOT QUALIFIED |
qwen3-vl:32b | 6/7 — every sensitivity probe passes | 0.944, 2 of 36 misordered | PASS | 1/9 declared, 4/9 plate-relative | NOT QUALIFIED |
**The contrast IS the finding: the model that can RANK cannot LOCALISE, and the model that can LOCALISE
cannot RANK** (ROUTE_A_RESIDUALS.md:344-350). And the part that worked is the strongest evidence on
the board: qwen3-vl's free-text naming landed on real defects nobody fed it — *"Grey unshaded band at
waist where shorts meet skin"* (OPEN-9a's doll zone, before it was measured) and *"Excessively thin
limbs and unnatural body proportions"* (OPEN-0's own complaint) — **stated with its limit: one of three
repeats, and a one-in-three read is not a gate** (:352-359).
The diagnosis, and it is a NAMED NEXT STEP, not a purchase. The gap on qwen3-vl is between the
rubric's four-axis taxonomy (RANK_AXES = ("photorealism", "anatomy", "material_quality"),
ATTRIBUTION_AXES = RANK_AXES + ("hair",) — visual_judge.py:163-164) and Josh's own vocabulary:
its prose is right while its axis label is wrong (ROUTE_A_RESIDUALS.md:361-364). **No leg was
loosened to make anything pass, and the money answer is buy nothing, $0/month** — grading
1920×1080 captures is $1.93/month at 50 a week on metered frontier vision, so a subscription is the
wrong billing shape by 3× to 35× (:370-378).
Charter. Re-derive the rubric's axis names and their per-axis descriptions **from Josh's own graded
verbatims**, which the harness already carries as labelled ground truth
(visual_judge.py:17-27): *"disjointed and deformed… shoulders and arms look disgusting"* (ANATOMY);
*"nothing photorealistic about this hair"* (HAIR); *"we should see the softness of the skin and textures
looking completely different between the trousers and the skin"* (MATERIAL); *"way too dark it's hard to
see any detail"* (ROUTE_A_RESIDUALS.md:28) — **which no current axis covers at all and is a fifth axis
in his vocabulary: EXPOSURE/READABILITY.**
Method, and it is the same harness with one input changed. Re-run the four legs and seven probes on
both 32B backends with the re-vocabularised rubric. Nothing else moves. No leg is loosened, no
threshold is typed, the filename trap and the medium-bias control stay armed, and the mid-evaluation
methodology change already disclosed in the file (asking the judge directly which axis is worst)
stays disclosed (ROUTE_A_RESIDUALS.md:364-368).
Acceptance. A backend qualifies only on all four legs. If — as the measured evidence predicts — no
single backend takes both RANK and LOCALISE, the seat is a PAIR and the charter says so explicitly:
qwen2.5vl:32b (L1 1.000, 0 of 36 misordered). It answers one question: *is this framebetter or worse than the exemplar, and than the previous round?* It is never asked where.
qwen3-vl:32b (6 of 7 probes, filename-blind, mutation-sensitive, attribution-capable). It answers one question: *what is worst in this frame and where?* It is never asked to
rank against the plates, which is the exact leg it fails.
named region must be re-derived under the re-vocabularised rubric, and the localizer's one-in-three
reliability must be raised to a published repeat-consistency floor **by repeats, not by prompt
faith** — a defect named in fewer than N of M repeats is ADVISORY, never a gate finding.
no report may cite it as a quality claim** (ROUTE_A_RESIDUALS.md:398-399). That stamp is not
softened by this charter.
Neither CRAFT_AI_3D_GENERATION.md nor the practice-gap audit contains any VLM-critic or
generate→score→correct→regenerate loop — the doc-set is silent and this loop is being designed here.
What it inherits instead is the house's own loop doctrine: greedy accumulation gated on a
mutation-proven sensitivity floor, published alpha ladder, confound control on every rejection —
*"it buys the right to STOP"* (CRAFT_AI_3D_GENERATION.md:340-346).
The loop, one round:
1. RENDER. The stage's output under the canonical judging environment (S10's rig: neutral HDRI,
fixed exposure, key-to-fill 3:1 or 4:1, reference objects in frame, calibration header on the
artifact). Both the holistic three views AND the region crops for the regions this stage owns.
2. SCORE — both judges, in this order. The measured instrument first (it is free and
deterministic); the judge pair second (ranker on the holistic frame, localizer on each region crop).
3. LOCALIZE. The localizer's finding is mapped to an owning stage by region and defect class —
the map is this charter's §2 and §5, and the mapping is mechanical, not a judgement call.
4. CORRECT. The owning stage corrects. It may not correct outside its own region band, and the
correction is position-only or channel-only wherever the stage's landed discipline says so.
5. RE-SCORE. Both judges again, on both scales.
6. ACCEPT / REFUSE. Accept only if: the measured instrument improved or held on the target site AND
did not degrade any other site past its band, AND the ranker orders the new frame above the old with
margin above its own measured repeat spread, AND the localizer no longer names the corrected defect
in the majority of repeats. **Any one of those failing is a REFUSAL, and the refusal is archived with
its numbers** — the plate_conform alpha-ladder pattern (ANATOMY_REFIT_V2.md:109-111) and the
region_repair three-build pattern, where two builds were refused and the refusals are the point
(ANATOMY_REFIT_V2.md:136-151).
7. ARCHIVE. Every round writes a record: the frames, both judges' raw output, the measured deltas,
the verdict and the reason. Every round archived is Josh's word (ROUTE_A_RESIDUALS.md:19).
The stop rule. The loop stops when both judges clear at both scales, or when a round produces no
accepted correction — at which point the residual is BOARDED with its number, never quietly carried.
The loop never loosens a band to terminate.
Cost control. Local, free, on the 5090 box for both backends. Frontier vision is the fallback at
$1.93/month-class metered spend and only under proof-before-spend
(ROUTE_A_RESIDUALS.md:370-378). Region crops are small images; a full region ladder round is well
inside that envelope.
---
Order (ROUTE_A_RESIDUALS.md:20-22): head/torso/arms/hands/legs/feet each iterated against its own
plate crop until both judges clear.
The regions already exist and must be reused, not re-invented. PARTITION_UV_A14.json carries
fourteen named bands imported from thousand_point_eval.region_bands, so **a region on the asset and a
region in the acceptance battery are the same object**. The six families in Josh's order map onto them
exactly:
| family | partition regions | plate views | measured legs | judge crop |
|---|---|---|---|---|
| HEAD | (above R14_NECK_SEAM; aperture-cut) | FRONT + SIDE bust crop via body_plate_head_crop.py | L09 SCALP/EAR_LINE/JAW_NECK sub-bands + L11 face identity | portrait closeup — the FF7R bar's hardest case |
| TORSO | R05_PELVIC_GIRDLE · R06_ABDOMEN · R07_THORAX · R08_SHOULDER · R14_NECK_SEAM | FRONT + SIDE + BACK | legs A/B/C/E + the new leg F landmarks | chest-to-hip crop; iliac/Apollo crop |
| ARMS | R09_UPPER_ARM · R10_ELBOW · R11_FOREARM · R12_WRIST | FRONT + SIDE | leg B girths; the wrist diagnosis | shoulder-to-wrist crop |
| HANDS | R13_HAND | FRONT | hand length 7% > face (:208-212); knuckle relief (leg F) | hand macro |
| LEGS | R02_LOWER_LEG · R03_KNEE · R04_THIGH | FRONT + SIDE | leg A depth rows; leg B girths | hip-to-ankle crop |
| FEET | R01_FOOT | SIDE (the view that states the toe box) | foot 12% > head (:213-214); side depth | foot macro |
Six rules the ladder runs under.
1. Head lens BEFORE shoulder lens, or the row refuses INCONCLUSIVE_HEAD_REFERENCE
(CRAFT_ANATOMY_STANDARDS.md:644-649). The ladder's ORDER is therefore head → torso → arms → hands
→ legs → feet, which is also Josh's order.
2. Holistic AND chunk, every round. Josh named both (ROUTE_A_RESIDUALS.md:7-8). A region that
clears its crop while the holistic frame worsens is a REFUSAL — the S5 side-likeness lesson, where a
collapsed girdle IMPROVED one view's turning distance and the lens was rewarding the defect
(ANATOMY_REFIT_V2.md:202-205).
3. Three distances, not one. Practice runs the silhouette gate at hero ~5 m, gameplay ~15 m and
recognition 50-100 m, plus five canonical poses at the recognition threshold
(CRAFT_ANATOMY_STANDARDS.md:379-390); our silhouette_overlay.py compares one framing, named
as GAP-7 (:866-872). **And the doc's own warning, which the FF7R bar makes easy to forget: a gate
that only renders close-ups cannot see a proportion error** (:394-396). The zoom-in bar is a
ceiling, never a substitute for the far read.
4. The region-crop emitter does not exist and must be built. body_plate_head_crop.py does the
bust and nothing does the other five families. It is a crop and a resample and nothing else — no
model, no denoise, no inpaint — the discipline that file already states and defends
(body_plate_head_crop.py, "IT IS A CROP AND A RESAMPLE, AND NOTHING ELSE"). Every crop is emitted
from the plate and from the render by the same code at the same framing, because an A/B is only
an A/B when both arms are produced by the instrument doing the comparing — the correction the PIPE
dossier already paid for once (docs/DOC_MAP.md:802).
5. Per-region acceptance is keyed to the region register, so a finding always names a known region
(CRAFT_ANATOMY_STANDARDS.md:668-672).
6. A region iterates until BOTH judges clear or the round produces no accepted correction. Then it
is boarded with its number. No region is declared done by one judge.
---
The law (ROUTE_A_RESIDUALS.md:39-42): age 14 is the recipe-proving age; when it passes Josh's eye
the SAME chain runs per age against each age's own plates — **never hand-tuned per age, always
plate-grounded per age**.
What is already true, and it is more than it looks. All seven ages of V4 body plates exist, carried
under one recipe and one gate bar with per-cell L11 identity readings and a measured different-boy
control (BODY_V4_CARRY_SEVEN_AGE.json). The age tooling exists and carries its own hard-won law:
identity is judged against THE PICK at every age, never chained through drifting intermediates; the
dual-anchor arm is dead by measurement, not by taste (age_keystones.py; aging_ladder.py).
What replication means operationally, stated so no later lane invents a shortcut:
the age's own plates substituted at S0. Any stage that needs an age-specific constant reads it from
build/3d/characters/body_specs/BODY_AGE_<age>.json + its _RESEARCH twin, which is the source the
bar already uses (anatomy_bar.py:23-27).
problem means the SHAPE cues, not stature, do the separating
(CRAFT_ANATOMY_STANDARDS.md:350-366, :709-713), so leg F (landmarks) and leg E (relief) matter more
at the young end than leg A does.
by more than the age spec's own difference, the run is refused and the divergence published.
wears the AGE-7 colour keystone on an age-14 asset and no sheet header says so
(CRAFT_TEXTURE_LOOKDEV_GROOM.md:981-987). Per-age assets must carry their age in the record header
or the record is refused.
---
Josh's claim is *"Once we get this down the factory is mostly set for every 3d asset downstream"*
(ROUTE_A_RESIDUALS.md:9-10). It is largely right, and the word doing the work is "mostly". Stated
honestly, because the practice-gap audit contains no generalization statement at all — everything in
it is scoped to CHAR_0001_A14, which is itself a finding
(CHARACTER_PRACTICE_GAP_AUDIT.md, verified absent). The one load-bearing law that does exist is R-6:
*"Auto-retopology is for props and creatures; hero deforming regions get a wrapped template"*
(CRAFT_AI_3D_GENERATION.md:686, :527-528).
| stage | generalizes to | why |
|---|---|---|
| S1 GENERATE · S2 CLEAN | ALL CLASSES | no human-specific content; the free-proof pattern (R-7) is class-agnostic |
| S3 POSE CANONICALISATION | all articulated classes (creatures, NPCs) | the confound it beats is "a section encloses a limb", which any limbed subject has. Rodin's TAPose is a humanoid flag (CRAFT_AI_3D_GENERATION.md:272-279) — creatures need their own canonical pose defined, not this one |
| S4 PARAMETRIC PRIOR | HUMANOID ONLY | the prior, the anthropometry and the whole of the practice census are human-parametric |
| S5 PLATE CONFORM | ALL CLASSES with plates | it consumes a silhouette interval, not an anatomy. This is the strongest generalizer on the ladder |
| S6 RETOPOLOGY | SPLITS BY CLASS — the R-6 line | auto-retopo (Instant Meshes / QuadRemesher / Smart Remesh) for props and creatures; wrapped authored template for hero deforming regions |
| S7 MICRO-ANATOMY | HERO-ONLY as authored; the STAGE generalizes | the landmark register is human; the sculpt/displacement stage and its refusal conditions are reusable for any closeup asset |
| S8 PARTITION + UV | ALL CLASSES | region bands are a schema; texel-density measurement is class-agnostic (bands 512 / 1024 / 2048 px/m by class, CRAFT_TEXTURE_LOOKDEV_GROOM.md:274-278) |
| S9 BAKE | ALL CLASSES | source-sufficiency refusal and in-bake dilation are pure bake invariants. Highest-leverage generalizer on the whole ladder |
| S10 SKIN LOOKDEV | skin → humanoid/creature skin; the FRAMEWORK → all classes | Subsurface Profile and dual-lobe are skin; the channel roster, ORM convention, UDIM-as-one-VT, texture groups, the ΔE instrument, the calibrated judging environment and the loud-failure doctrine are every material on every asset |
| S11 GROOM | hero + any groomed creature | the Alembic schema, binding discipline and per-LOD representation rules are class-agnostic within groomed assets |
| S12 RIG / JOINT CENTRES | all rigged classes; the LANDMARK ruler is human | the zero-weight refusal and the one-ruler-per-site rule generalize; the fraction-of-stature heights do not |
| S13 CORRECTIVES | all deforming classes | PSD at a joint is a technique, not an anatomy |
| S14 ROM | all rigged classes | roll poses + a real deformation score with a refusal is the reusable shape |
| S15 CONTRACTS + VALIDATOR | ALL CLASSES, and it should be built once | schema v3 + UEditorValidatorBase is infrastructure. Building it hero-only would be the waste |
| S16 CAPTURE + PUBLISH | ALL CLASSES minus the anatomy leg | the publish discipline — two judges, both clear, advisory stamps, archived rounds — is the factory's core loop; only leg A/B/C/E are human |
| S17 SEVEN-AGE | HERO-ONLY | no other class has an age ladder |
The honest summary for the roadmap: of eighteen stages, eleven generalize outright, three split
by class, and four are hero/humanoid-bound (S4, S7's content, S17, and the anatomy legs of S16). The
generalizing eleven include every stage in the bake/texture/contract/publish half — which is where NPC
and prop volume actually lives. **Josh's claim holds; the caveat is that the human-parametric quarter
does not transfer and must not be assumed to.**
---
Hard dependency chain (a → b means a blocks b):
capture-lane-in-flight ──► S3 pose ──► S4 prior/fit ──► S5 conform ──► S6 retopo ──► S7 micro ──► S8 UV ──► S9 bake ──► S10 lookdev ──┐
├──► S16 publish
S12 joints ──► S13 correctives ──► S14 ROM ──► S15 contracts ─────────────┘
(S12 also re-binds AFTER S7)
Runs in PARALLEL, blocked by nothing (harness/records only — no asset collision):
band_provenance reporting (built; adoption blocked on a citable population SD).Runs in parallel with the geometry chain but not before it: S11 groom's binding crash and exposure
defect (not geometry, but the head under it changes at S7).
Blocked on something outside this lane:
PIPE_CHARACTER_MODELS dossier ruling.The ordering principle, inherited: changes 1-4 answer Josh's sentence; change 5 makes any future
green trustworthy; 6-10 are the chain becoming a chain
(CHARACTER_PRACTICE_GAP_AUDIT.md:743-745). This charter keeps that ranking and adds one law of its
own: the instruments that decide acceptance are built BEFORE the passes they judge, because
OPEN-0's whole lesson is what happens when they are not.
---
Each round below is a launchable charter: its rows, its refusal conditions, its evidence, its exit
gate. Model seats per CLAUDE.md: every authoring/verification lane runs the TOP Opus with the model
set explicitly; the director orchestrates and adjudicates only.
---
Why first. Every pass in Rounds 2 and 3 is accepted or refused by instruments that do not yet
exist or do not yet qualify. Building them first is the direct application of §1's rule, and it is the
only round that can run while a sibling lane holds the asset.
Rows.
1. P1 — the full-part proportion census. Expand anatomy_bar.py leg B to every region in
PARTITION_UV_A14.json's fourteen bands, scored against the §3.1/§3.2/§3.3 census and the age spec,
with the plate-implied section (Ramanujan) as the per-site reading. Bands stay at the house floor;
provenance published per row.
2. Leg E's replacement statistic. A robust spread with its own arming proof against BOTH fixtures —
it must fail the planted 20 mm ripple and must NOT fail a navel (ANATOMY_REFIT_V2.md:242-266).
**Refusal condition: if it cannot do both, it is not adopted and the p2p stays, with the failure
published.**
3. Leg F — landmark presence. The MUST-READ / MUST-NOT-READ register
(CRAFT_ANATOMY_STANDARDS.md:325-348) as measured rows: relief against the site's declared fat
mantle, fillet-radius bands at the four named sites, suprasternale at 0.8115 of stature.
4. §4.2 — the rubric-vocabulary pass + re-qualification. Re-vocabularise the rubric from Josh's
verbatims (including the fifth axis, EXPOSURE/READABILITY), re-run all four legs and seven probes on
both 32B backends, and rule on the RANKER+LOCALIZER pair. **No leg loosened. Filename trap and
medium-bias control stay armed.**
5. The region-crop emitter. Six families, plate-side and render-side, same code, same framing.
Crop-and-resample only.
6. The lit-render bench for the sighted rubric. The V3 pass proved four lit turntable frames make
all five questions answerable (ROUTE_A_RESIDUALS.md:813-815); productionise it as the rubric's
standing input, under S10's canonical judging environment.
7. Joint-centre measurement (read-only) on the landed mesh, with one ruler declared per site and
the 23-66% two-ruler hazard published (CRAFT_ANATOMY_STANDARDS.md:874-881). Plus the wrist
diagnosis read from records/WRIST_DIAGNOSIS_V3.json.
Exit gate. Every new instrument ARMED with mutation probes in the house posture; the judge pair
either QUALIFIED with its split proven or REFUSED with the reason published; the census RED/AMBER/GREEN
re-read on the V3 mesh with its bands' provenance beside it. Nothing publishes; no asset is touched.
---
Why second. S3 changes the mesh every downstream stage reads; the chest is refused by three
independent instruments and is the single largest anatomical residual on the asset.
Rows, in order.
1. S3 — pose canonicalisation. A canonical A-pose or T-pose before anything measures or fits.
**Exit condition, measured: anatomy_bar leg B angular_coverage = 1.0 on all fourteen sites
INCLUDING chest**, which today reads 0.0 with the two-pieces refusal
(ROUTE_A_RESIDUALS.md:563-567).
2. S4 — the parametric prior as a BOUND. Evaluate Anny for the age-14 band the way MetaHuman was
evaluated — measured, child band as a separate question from stature — then land it as a bound on
the free-vertex fit, never as its target (ROUTE_A_RESIDUALS.md:553-555;
CHARACTER_PRACTICE_GAP_AUDIT.md:629-630). Target: the chest and neck_base sites the fit currently
refuses become fittable against a section the chain understands.
3. S5 — re-conform on the re-posed, re-fitted base; re-walk the alpha ladder with the P1 census as
the acceptance set and a judged lit render per rung, not numbers alone.
4. THE FOOT. A sculpted or regenerated toe box. **A per-height scale cannot build it — proven and
imaged** (ANATOMY_REFIT_V2.md:117-122). This single row is the whole of leg A's RED at the ankle.
[LANDED IN PART, 2026-08-10 round 2: the toe box is BUILT by the malleoli pattern — mean shortfall
3.18 → 0.29 cm at 0.55× the C4 floor (repair_r2/REPAIR_ROUND_2.md). The row's second claim is
CORRECTED: the ankle RED is NOT wholly this row — MEASURE_R2C.json shows the ankle residual
(12.66) exceeds the two-limb stagger bound (2.61), so part is shape but the stagger confound
cannot be subtracted without a parallel-feet plate; the toe box moved no leg-A row. BLOCKY
digit articulation stays S6's.]
5. BELOW-WAIST DEPTH. Waist −7.4%, mid_shank −6.2%. This is the generator's own aspect ratio,
so the honest options are a depth-only conform inside the C4 floor or a re-generation; take the
conform first and publish what it cannot reach.
[LANDED IN PART, 2026-08-10 round 2: the conform took the waist to −0.13% GREEN and the trochanter
to GREEN at 0.36× the C4 floor. What it cannot reach is now MEASURED, not suspected: mid_shank's
−6.2% residual (0.632 cm) sits entirely INSIDE the two-limb stagger bound (1.959 cm) — the number
is confounded by the walking pose, not proven to be shape, and conforming it would fit the
confound. The row's remaining honest option for mid_shank is the stagger-matched plate or pose,
not a deeper conform (repair_r2/MEASURE_R2C.json, REPAIR_ROUND_2.md).]
6. The region ladder, geometry legs (§5, head → torso → arms → hands → legs → feet), iterating S3-S5
under §4.3's loop, every round archived.
Exit gate. Anatomy bar re-read on the landed mesh with the chest scored rather than refused;
leg A's ankle row and the below-waist depth rows moved or boarded with their new numbers; likeness vs
the V1 published lineage published on all three views against the C4 floor — the side-cost lesson
(+0.05727 = 1.82× the floor) is stated, not rounded away (ROUTE_A_RESIDUALS.md:836-843). **Both
judges read the result; the ranker must order the new figure above V3.**
Ask outside the lane: the PIPE_CHARACTER_MODELS dossier ruling on S6 (retopology), so Round 3 can
sequence.
---
Why third. Every row here writes onto the geometry and UVs Round 2 produces. Running it earlier
means re-running it.
Rows.
1. S6 — retopology/template conform, IF and AS the dossier rules. If the dossier rules for the
wrapped template, this row runs first in the round and S7-S10 re-run onto the new topology; if it
rules to defer, that decision and its cost are recorded and the round proceeds on the triangle mesh
with OPEN-2's armpit fold explicitly un-fixable until it lands.
2. S7 — the micro-anatomy detail pass, under §2's silhouette/micro adjudication and its refusal
condition: leg E and the S5 age read scored BEFORE and AFTER, any amplitude that moves either toward
RED/ADULT refused with its number.
3. S9 — the bake refusal + dilation moved in-bake, keyed on the observed fraction the bake already
measures. Plus the "and below" defect: the R04_THIGH undergarment photograph at z 73.93-86.93
still printed into the skin atlas (ROUTE_A_RESIDUALS.md:752-754).
4. S8 — texel density per region emitted (R-11), with the head's own high-density tile.
5. S10 — skin lookdev completion, the full spec in §2: Subsurface Profile authored and read back,
dual-lobe specular, meso+micro normal stack with the normal-weight mask, cavity as specular
occlusion, **derived roughness with realised mean+σ published per slot (R-16, scalar roughness
refused), the SSS/CAV/MICRON/SPEC roles pinned, ORM convention held, UDIM imported as ONE virtual
texture asset** (the neck ring's cause), TC_BC7 basecolor, character texture groups, and the eye
shader with its three geometry pieces.
6. The ΔE colour/warmth instrument armed on the ColorChecker/de-light/neutral-transform chain, per
region, against the plate crop.
7. S11 — the groom's binding crash and exposure defect, then the colour bar re-read once exposure
demonstrably takes.
8. The region ladder, surface legs, under §4.3, with the localizer on macro crops.
Exit gate. A closeup portrait and six region macros that both judges clear against their plate
crops, under the canonical judging environment with reference objects in frame, **reviewed at ship LOD
in engine** (CRAFT_TEXTURE_LOOKDEV_GROOM.md:425-426). Every map role pinned; no slot shipping scalar
roughness; no missing map rendering neutral grey. Honest-tier line on every artifact, including the
one the doc says nobody has written yet — **that the head being judged has no eyes, ears or lashes if
that is still true** (CRAFT_TEXTURE_LOOKDEV_GROOM.md:1010-1015).
---
ROUND 4 — THE DEFORM AND PUBLISH ROUND: S12 rebind with the primary-joint refusal armed → S13
smoothing + PSD correctives at shoulder/elbow/hip/knee, scoped by the ROM poses we already own → S14
roll poses + a real deformation score with a refusal → S15 schema v3 + the UE validator → S16 the
anatomy bar wired as a HARD REFUSAL on capture and publish, with the judge pair beside it. **That is
the round that produces the first frame this factory is allowed to publish**, and S17's seven-age
replication follows it.
---
1. Both judges, or neither. A measured green with no judged read, or a judged green with no
measurement, publishes nothing.
2. No band moves without a citable population SD. The flip curve is measured: every RED on this
asset disappears at a band this harness already uses elsewhere.
3. No pass publishes on preservation-green. The instrument must be able to fail a correct process
on a wrong subject.
4. Refusals are archived, with their numbers. Two refused region-repair builds and two refused
conform alphas are already the most useful rows in the record.
5. The plates win; the disagreement is published, never averaged.
6. Honest tier on every artifact. A mirrored continuation is not a photograph; an advisory judge is
not a gate; a placeholder keystone is named in the header.
7. A stage may not correct outside its own region band, and position-only stages stay
position-only.
8. No photo reference of minors, ever (CRAFT_ANATOMY_STANDARDS.md:724-731).
9. Every round is archived — frames, both judges' raw output, measured deltas, verdict, reason.
10. This charter is read FIRST by every subsequent character pass, and any pass that departs from it
says so in its own record with its reason.
---
Rulings and board: build/3d/best_a14/records/ROUTE_A_RESIDUALS.md (OPEN-0/8/8a/9/9a/9b/9c/9d/
10-19) · build/3d/best_a14/records/AUDIT_RECONCILIATION.md (the ten changes vs the landed chain) ·
build/3d/best_a14/records/ANATOMY_REFIT_V2.md (the re-fit, its cost, its board) ·
build/3d/best_a14/records/ANATOMY_DIAGNOSIS.md + .json.
Practice law: docs/pipeline_review/tech_research/CRAFT_ANATOMY_STANDARDS.md ·
CRAFT_TEXTURE_LOOKDEV_GROOM.md · CRAFT_AI_3D_GENERATION.md · CRAFT_TOPOLOGY_DEFORMATION.md ·
CRAFT_RIGGING_PIPELINE.md · CHARACTER_PRACTICE_GAP_AUDIT.md ·
PIPE_CHARACTER_MODELS_2026-08-06.md (the dossier that rules S6).
Instruments: harness/asset_factory/anatomy_bar.py · visual_judge.py · likeness_lens.py ·
band_provenance.py · thousand_point_eval.py · body_plate_head_crop.py · age_keystones.py ·
aging_ladder.py · build/3d/best_a14/bounded_fit_v2.py · plate_conform.py · region_repair.py ·
doll_zone_skin.py · garment_refit_v3.py · garment_bc_merge_v3.py ·
build/3d/finish_a14/bake_plates.py · build/3d/best_a14/rig/bl_rom_render.py ·
bl_weight_census.py · bl_skin_to_mannequin_BOUNDED.py.
Records: anatomy_v2/ANATOMY_BAR_A14_V2.json · anatomy_v3/ANATOMY_BAR_A14_V3.json ·
BOUNDED_FIT_V2_CURVE.json · PLATE_CONFORM_P1_GIRDLE.json · PLATE_CONFORM_P2_BODY.json ·
REGION_REPAIR_V2.json · BAND_PROVENANCE_A14.json · VISUAL_JUDGE_SELFTEST_*.json ·
VISUAL_JUDGE_SIGHTED_A14_V3.json · TROUSERS_SKIN_SEPARATION_DIAGNOSIS.json ·
DOLL_ZONE_SKIN_V3.json · GARMENT_REFIT_V3.json · WRIST_DIAGNOSIS_V3.json ·
uv_v2/PARTITION_UV_A14.json · rig/v21/CENSUS_V21_BARE3.json ·
build/art/characters/body_evidence/BODY_V4_CARRY_SEVEN_AGE.json ·
build/3d/best_a14/groom/GROOM_REBUILD_RECORD.md.
Plates: E:/art/boards/D1-09/CHAR_0001/CHAR_0001_EXEMPLAR_BODY_{age}_V4_{FRONT,SIDE,BACK}.png.
"Age 14 athletic tone still has 6 pack and veins but they are softer than at 18 as the 14 is
still growing into their body and maturing. The ages come from proportions, tone and
definition, and the exemplar face and exemplar bodies." And the tendon register, his list:
Achilles (calf to heel, largest), patellar (kneecap to shinbone), rotator cuff group
(shoulder), flexor tendons (forearm/wrist to fingers).
CONSEQUENCES, binding on S7 and leg F: (1) the MUST-NOT-READ blanket on tendons at age 14 is
OVERRULED for the four named tendon groups — they READ at silhouette scale, at SOFTER
amplitude than age 18; (2) six-pack and vein presence at 14 is REQUIRED for the athletic
build, softer than 18 — presence is never age-gated, AMPLITUDE is; (3) the age ladder is
graded by proportions + tone/definition intensity + the per-age exemplar plates — definition
amplitude becomes a per-age MEASURED parameter derived from each age's own plates, never a
binary; (4) the S7 refusal condition is recalibrated: the age-read guard now scores
DEFINITION AMPLITUDE vs the age's own plates rather than penalizing presence; the plates win
every conflict with the anatomy register, per the standing authority order.
RETOPOLOGY IS ADOPTED for the hero character as a WRAPPED-TEMPLATE stage (the charter R-6
split: hero = wrapped template topology with MetaHuman-class edge-loop density at
deformation zones and landmark sites; props/creatures = auto-retopo). Forcing evidence:
OPEN-15 — the clavicle ridge FWHM 0.733 cm against a median edge of 0.681 cm = 1.08
vertices across the feature; no displacement pass can carry micro-anatomy on this
topology, and the 8-influence wrist smearing is aggravated by it. SEQUENCE: the current
repair round completes ON EXISTING TOPOLOGY first (mitt hands, eye geometry, chin
partition, neck thickness, foot) so the plate-conformance gains are banked and measured;
retopology then runs as its own chartered stage with the FULL downstream chain re-run
(partition, UV, bake, rig, import — all proven and scripted), gated by the same wall.
Rationale: repairs prove on cheap topology; the expensive stage inherits a correct body.
R-7 SPLITS BY WHAT THE STAGE CLAIMS. R-7a, position-preserving stages (cleanup, weld, in-place
repair): identical to eight decimals, the clean_shells.py bar, unchanged. R-7b,
topology-replacing stages (the S6 wrap — it replaces every vertex and can never meet R-7a):
paired-baseline free-proof — the wrap AND the subject it wrapped scored against the same plates
under the same lens in the same run, per-view DELTA under the C4 floor 0.0314159265 on EVERY view
under ALL THREE conventions, views never averaged, an improvement on one view never buying
another. R-7b is NECESSARY never sufficient — quad fraction, loop presence, I3, face quality,
topology_bar, conformance and the wireframe judge stand independently. No floor moved: this puts
the same C4 floor onto a stage that previously had no bar it could even fail. Binding on runs
adjudicated after 2026-08-10; the stage-proving run's improvised resolution is hereby the law.
Full brief: docs/pipeline_review/S6_R7_AND_FWHM_RULINGS_2026-08-10.md.
THE ≥ 3-ACROSS-FWHM BAR IS LOCAL, NOT LOOSENED. It binds template cage density AT the MUST-READ
landmark sites, measured ALONG the full ridge line (clavicle with both ends, acromion, scapular
spine, iliac plane change, tibial crest, malleoli, olecranon — CRAFT_ANATOMY_STANDARDS.md
:325-335), met by LOOP PLACEMENT per the S6 ruling's own "MetaHuman-class edge-loop density at
deformation zones and landmark sites" — never by global subdivision (the sampling ladder proved
global unreachable: 856k quads → ~2.70 < 3; subdividing a wrapped cage interpolates). The feature
class SPLITS BY SCALE, mirroring S7's own adjudication: silhouette-scale form (≥ 1 mm relief,
findable in outline or grazing light) is BASE-CAGE GEOMETRY; sub-millimetre relief is S7
DISPLACEMENT-SOURCE content where the bar transfers to ≥ 3 TEXELS across the FWHM (met by the
R-11 bands, measurable by texel_density.py, armable when S7 exists). The re-wrap at a
landmark-refined cage is the geometry claim, acceptance now defined. Nothing retroactive; the I3
site-arming implementation rides the wrap surface its owning lane holds.
Full brief: docs/pipeline_review/S6_R7_AND_FWHM_RULINGS_2026-08-10.md.