# MICHA Project Instructions

## Overview

MICHA is a psychological horror feature film with a live transmedia companion app. This repo contains the pitch deck, website, and supporting documents.

- **Film:** "She came for help. Something answered her." Writer/Director: Boudy Sfeir. Producer: Maroun Najm / CULTSCALE.
- **Website:** michapp.org — straight-faced AI wellness app. The horror is implicit.
- **Deck:** CULTSCALE slate format (Typst). For co-producers, sales agents, festival labs.

## Quick Reference

```bash
# Deck
cd src/assets && make slate-micha-deck    # Build PDF
ls -la out/slate-micha-deck.pdf           # Check output

# Website
npm run dev:micha                         # Dev at localhost:4324
npm run build:micha                       # Build to dist/micha/
npm run deploy:micha                      # Deploy to Cloudflare Pages

# Push to deploy
git add -A && git commit -m "micha: description"
git fetch origin main && git rebase origin/main
git push origin micha:main
```

## File Locations

### Deck
- **Source:** `src/assets/src/presentations/slate/micha/micha-deck.typ`
- **Theme:** `src/assets/src/presentations/slate/slate-theme.typ` (shared, DO NOT modify)
- **Output:** `src/assets/out/slate-micha-deck.pdf`
- **Makefile target:** `make slate-micha-deck`

### Website
- **Pages:** `src/sites/micha/pages/`
- **Layout:** `src/sites/micha/layouts/BaseLayout.astro`
- **Components:** `src/sites/micha/components/`
- **Static files:** `src/sites/micha/public/`
- **Config:** `astro.config.micha.mjs`
- **Wrangler:** `wrangler.micha.toml`
- **Workflow:** `.github/workflows/deploy-micha.yml`

### Assets
- **Logo:** `src/assets/src/micha-logo.svg`
- **Social share:** `src/assets/src/micha-social-share.svg` → `src/assets/out/micha-social-share.png`
- **Favicon:** `src/assets/out/micha-favicon.ico`
- **App icon:** `src/assets/out/micha-app-icon-192.png`, `micha-app-icon-512.png`

### Documents
- **Treatment:** `content/slate/micha/treatment.md` (canonical story source)
- **Project brief:** `content/slate/micha/brief.md`
- **POC brief:** `content/slate/micha/poc-brief.md` (The Takeover scene)
- **Sales agent approach:** `content/slate/micha/sales-agent-approach.md`
- **Co-producer one-sheet:** `content/slate/micha/copro-one-sheet.md`
- **Cast wishlist:** `content/slate/micha/cast-wishlist.md`
- **Festival strategy:** `content/slate/micha/festival-strategy.md`
- **Branding:** `content/micha/branding-guidelines.md`

### Market Reference Posters
- `src/assets/lib/images/poster-talk-to-me.jpg`
- `src/assets/lib/images/poster-hereditary.jpg`
- `src/assets/lib/images/poster-the-substance.jpg`

## Deck Structure (v9)

The deck flows as narrative, not categories:

1. **Cover** — Title, logline, CULTSCALE slate
2. **The Story** — Escalation spine in four beats
3. **The Tension** — What makes it scary
4. **Characters** — Nora, MICHA, Louis
5. **Core Audience** — Who watches, why they share
6. **The Fracture** — Midpoint turn
7. **The Escalation** — Five act-two beats
8. **The Ending** — Closing image + thematic question
9. **Sharable Scenes** — Four viral-potential moments
10. **Why They Share** — Three audience circuits
11. **Visual Signature** — Tone, color, lens language
12. **The Market** — Comp corridor with poster images
13. **Reality Campaign** — michapp.org as live marketing
14. **Campaign Architecture** — Timeline: stealth → reveal → theatrical
15. **Presales Anatomy** — Revenue data from comp titles
16. **Director's Vision** — Boudy Sfeir statement
17. **The Team** — Credits
18. **The Opportunity** — What we seek
19. **Close** — Tagline + contact

## Deck Editing Rules

- The deck is Typst. All macros come from `slate-theme.typ`.
- Available macros: `slide`, `display`, `h1`, `h2`, `copy`, `kicker`, `card`, `split`, `note`, `link_note`
- Poster images in the market slide use `image()` with `fit: "contain"` to preserve aspect ratios.
- After editing: `cd src/assets && make slate-micha-deck`
- Always build and check PDF before committing.

## Website Rules

- **No CULTSCALE branding anywhere on michapp.org.** The app is a standalone product.
- The site is a straight-faced therapy app. Visitors should not immediately know it is a film.
- Horror bleeds through in: Terms of Service language, privacy policy phrasing, micro-copy, subtle CSS glitches.
- The waitlist form posts to `https://cultscale.org/api/newsletter/subscribe` with `list: "micha-beta"`.
- Easter eggs: `/terms` has consciousness transfer clauses, `/privacy` has biometric monitoring language.

## Stress Testing Methodology

Deck quality is validated via stress tests:

1. **24 agents**, each with a unique industry persona (sales agent, festival programmer, gap financier, etc.)
2. Each receives complete deck content + persona-specific evaluation prompt
3. **10 scoring dimensions** (1-10): Story Grip, Audience Precision, Campaign Originality, Visual Coherence, Tone Consistency, Narrative Flow, Comp Credibility, Franchise Potential, Buy Signal, Presale Logic
4. Returns: scores, top strength, top weakness, key suggestion
5. Run via `task` tool with `claude-sonnet-4.6` model
6. Results stored in session SQL (`stress_tests_vN`) and analysis saved to session `files/`

**Score history:** v5: 60.6 → v6: 68.2 → v7: 69.8 → v8: 69.5 → v9: TBD

**Structural ceiling:** ~69.5/100. Further gains require external materials (screenplay, cast LOI, sales agent letter, POC footage).

## Git Workflow

The `micha` branch is developed in `/home/mnm/workspaces/micha`. Push to deploy:

```bash
git fetch origin main
git rebase origin/main
git push origin micha:main
```

This triggers `.github/workflows/deploy-micha.yml` which builds and deploys to Cloudflare Pages.

## DNS

- **Domain:** michapp.org
- **Zone file:** `dns/zones/michapp.org.yaml`
- **Points to:** `micha-web.pages.dev` (Cloudflare Pages)
- **Email:** Null MX (no email on this domain)
