# G3 Candidate Batch Alignment Report ## Scope This round no longer leaves the `95598-ticket-family-candidate` ledger cluster as a raw batch queue. It promotes the batch into a formal `G3` family asset that now records: 1. the `P0` anchor 2. the first expansion anchor 3. the second-round promoted expansion baselines ## Delivered Added or updated: 1. `tests/fixtures/generated_scene/g3_candidate_batch_2026-04-18.json` 2. `tests/g3_candidate_batch_test.rs` 3. `tests/fixtures/generated_scene/p1_family_manifest.json` 4. `tests/fixtures/generated_scene/p1_family_results.json` 5. `tests/scene_generator_p1_family_test.rs` 6. `tests/scene_generator_family_policy_test.rs` ## Batch Meaning The batch asset now freezes five things together: 1. `paginated_enrichment` remains the `G3 / P0-3` anchor baseline 2. `paginated_enrichment_expansion` remains the first expansion baseline 3. `paginated_enrichment_expansion_workorder` is the promoted second expansion baseline 4. `paginated_enrichment_expansion_orderno` is the promoted third expansion baseline 5. the rest of the `95598-ticket-family-candidate` ledger cluster remains the downstream candidate queue ## Shared Contract Direction The batch explicitly records the current reusable `G3` contract direction: 1. `archetype = paginated_enrichment` 2. pagination fields stay in the `page/pageNum/pageNo/pageSize` family 3. join keys stay in the `ticketNo/workOrderNo/orderNo` family 4. aggregate rules stay in the `riskLevel/sourceType` family ## Validation Passed: 1. `cargo test --test g3_candidate_batch_test -- --nocapture` 2. `cargo test --test scene_generator_test generator_writes_paginated_enrichment_workorder_expansion_fixture -- --nocapture` 3. `cargo test --test scene_generator_test generator_writes_paginated_enrichment_orderno_expansion_fixture -- --nocapture` 4. `cargo test --test scene_generator_p1_family_test -- --nocapture` 5. `cargo test --test scene_generator_family_policy_test -- --nocapture` ## Outcome `G3` is no longer represented only by one `P0` anchor plus one first expansion fixture. It now has a promoted batch-expansion asset that already names the second and third concrete expansion baselines, so the next round can continue from code-backed family assets instead of re-selecting candidates from the ledger snapshot.