Phase 1 implementation: script ingestion + AI extraction pipeline
Complete working pipeline from Fountain script to validated scene JSON: - Schemas (Pydantic): all 7 layers defined upfront - Fountain parser + normalizer (Layer 1) - AI scene extractor with prompt contracts (Layer 2) - Schema validator + scene-specific semantic validator - Structured JSON logging per layer/scene execution - Versioned output writer (never overwrites) - Retry engine with 4-level failure escalation - Stop condition evaluator (per-unit + global halts) - Diff/drift detector for re-run comparison - CLI entry point with --dry-run, --scene, --test, --force - 3 test scripts (dialogue-heavy, action-heavy, nonstandard) - Expected output files for regression testing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"expected_scene_count": 18,
|
||||
"expected_characters": ["JACK", "SOFIA", "RAMOS", "VEGA"],
|
||||
"expected_locations": ["ROOFTOP", "ALLEY", "COMPOUND", "DRAINAGE TUNNEL", "STAIRWELL", "SUV", "HIGHWAY", "AIRSTRIP", "PROP PLANE"],
|
||||
"must_not_contain_characters": [],
|
||||
"must_not_contain_locations": []
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"expected_scene_count": 13,
|
||||
"expected_characters": ["MARCUS", "DR. VOSS", "LILY", "HENRY", "NURSE PATRICIA"],
|
||||
"expected_locations": ["THERAPIST'S OFFICE", "APARTMENT", "COFFEE SHOP", "HOSPITAL ROOM", "HOSPITAL CAFETERIA", "HOSPITAL HALLWAY"],
|
||||
"must_not_contain_characters": [],
|
||||
"must_not_contain_locations": []
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"expected_scene_count": 11,
|
||||
"expected_characters": ["NADIA", "DEREK", "TOMMY", "MRS. PETROV", "MOTHER"],
|
||||
"expected_locations": ["APARTMENT", "GROCERY STORE", "PARKING LOT", "BUS STOP", "BUS", "GAS STATION", "FAMILY HOUSE", "MOTEL ROOM"],
|
||||
"must_not_contain_characters": [],
|
||||
"must_not_contain_locations": []
|
||||
}
|
||||
Reference in New Issue
Block a user