# G8 Local Doc Pipeline Runtime Contract Report ## Scope This round upgrades `G8 / local_doc_pipeline` from safe-slice classification to a minimal runnable runtime contract. Representative fixture: - `tests/fixtures/generated_scene/g8_local_doc_pipeline` ## Delivered 1. Added a minimal `G8` runtime contract in the generator. 2. Promoted `g8_fail_closed` from unconditional block to conditional pass when the local document pipeline contract is complete. 3. Added a dedicated browser compiler path for `local_doc_pipeline`. 4. Extended automatic scene recovery so localhost pipeline dependencies become formal `api_endpoints`. 5. Replaced the old positive fail-closed test with: - runnable generation test - incomplete-contract negative test ## Minimal Contract `G8` is treated as complete when all of the following are present: 1. At least one `local_doc_pipeline` step 2. At least one `sql_query` or `doc_query` step 3. At least one `doc_export` step 4. At least one localhost API endpoint ## Generated Runtime Shape The generated browser script now includes: 1. `localDataEndpoints()` 2. `sqlQueryEntry()` 3. `docExportEntry()` 4. local-stage request execution 5. artifact payload with `workflow_archetype = local_doc_pipeline` ## Validation Passed: - `cargo test --test scene_generator_test g8 -- --nocapture` - `cargo test --test scene_generator_test -- --nocapture` ## Outcome `G8` no longer remains classification-only. It now supports a minimal runtime contract while preserving fail-closed behavior for incomplete manual `SceneIr` inputs.