# CLAUDE.md — Forge Studio > **Instruction to Claude:** Every source file created in this project (Swift, scripts, > plists, Metal, Makefiles) must begin with a header comment containing: > `Author: Simon-Pierre Boucher — contact@spboucher.ai` > **Quality bar:** This app must feel like a first-party Apple pro tool — the > "Instruments of LLM training." Every screen, every chart, every error message is > judged against that standard. If a feature would ship half-working, it doesn't ship; > it gets fixed. No placeholder UI, no TODO left in released code, no chart that > jitters, no run state that can be lost. (Spec complète fournie par l'utilisateur — voir la conversation d'origine ; ce fichier reprend les points de contrat. L'app est le compagnon GUI de Forge : https://github.com/spboucher-ai/forge — datasets, config, runs, dashboard de métriques légendaire, checkpoints/génération/éval, DMG signé/notarisé.) - macOS 14+, Apple Silicon, Swift 5.10+/SwiftUI/Swift Concurrency, Swift Charts. - Build canonique : SwiftPM (pattern zyquo-term) ; l'app pilote le binaire `forge` en sous-processus ; métriques via `log.csv` (flush par step, voir RESEARCH.md). - Signing/notarization : identité et profil extraits de zyquo-term (voir scripts/notarize.sh) — Team 3YM54G49SN, profil keychain "MacLustr-Notarize".