A HARMONY CONTRACT — exact ratios only (1:1 tile or ~4:1 banner), the no-truncation rule (one flexible element per line; the venue never shares its line with anything that can push it), one chrome level (chips are the only bordered minis; weather is plain text, on-image chrome only on the wide banner), and status+join closing the card together. Three complete permutations differ in exactly one structural dimension each: P1 square-tile place-first, P2 square-tile time-first, P3 wide-banner. All render identical worst-case fixtures (한강시민공원 테니스장, badge+crown, night). Cards tap through to session-detail; club cards follow AFTER the session card finalizes.
PROPOSAL — the harmony contract: three COMPLETE satellite-thumbnail permutations on one contract; every map is a real NCP tile of a real venues row
grounded in 4 source file(s)
packages/app/src/presentation/components/sessions/session-card-v2.tsxpackages/app/src/presentation/components/sessions/venue-hero.tsxpackages/app/src/presentation/components/sessions/session-compact-row.tsxpackages/features/clubs/src/shared/club-card.tsx