• buildStage2Prompt() renders MVCP M.15's confirmed one-step six-section
    template and enforces the two dynamic risks M.15.1 flagged: caps
    appearanceDescriptor/garmentDescriptor at ~40 words each, and
    truncates motionDescriptor if it alone would push detailed_description
    past H6's 500-word cap (the only placeholder that lands in that
    section).
    
    Also fixes the footwear-drift the S1 spike found (model self-selected
    shoes when the prompt didn't constrain them) — pins footwear to
    <Picture 1> in both subject_definitions and retention_analysis, and
    says <Picture 2> doesn't affect it. Propagated the same fix into the
    M.15 template in the MVCP doc so the doc and the code don't drift.
    
    Tests check the mechanical M.15.1 items that are checkable from the
    rendered string (H1/H5/H6/H9) plus the truncation behavior and the
    footwear fix. H13 (reference counts) is a submission-payload concern,
    covered by T8's tests instead.
    yibo authored
     
    Browse File »